Тестирование пирокса (лайтбокса) модального с Watir - PullRequest
2 голосов
/ 06 декабря 2011

Я пишу тесты для www.offdesk.com, и когда якорь "зарегистрироваться" нажимается, он открывает модальное окно pirobox, в этот момент мой irb работает нормально, но я не могу вставить текст в inputtexts внутри него.

Я написал:

browser.link(:id, 'lkNovaConta').click()
browser.text_field(:id, "usuario_nome").wait_until_present
browser.text_field(:id, "usuario_nome").set("Test user")

, но никогда не пропускает before_present, так как у меня есть JS-переменная с содержимым html, я подумал, что у меня есть индексная проблема, поэтому я попробовал:

browser.link(:id, 'lkNovaConta').click()
browser.text_field(:id => "usuario_nome", :index => 1).wait_until_present
browser.text_field(:id => "usuario_nome", :index => 1).set("Test user")

также пробовал с index = 2, index = 0 ... но все не удалось

Есть ли у вас какие-либо идеи, как протестировать или предложить сделать эту функцию тестируемой?

1 Ответ

0 голосов
/ 06 декабря 2011

Это сработало для меня:

$ ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin10.8.0]

$ gem list watir
*** LOCAL GEMS ***
watir-webdriver (0.3.9)

$ irb

> require "watir-webdriver"
 => true 

> browser = Watir::Browser.new
 => #<Watir::Browser:0x91f4b0ffb95e486 url="about:blank" title=""> 

> browser.goto "http://www.offdesk.com/"
 => "http://www.offdesk.com/" 

> browser.a(:id => "lkNovaConta").click
 => [] 

> browser.text_field(:id => "usuario_nome").set "test"
Selenium::WebDriver::Error::ElementNotVisibleError: Element is not currently visible and so may not be interacted with
(...)

> browser.text_field(:id => "usuario_nome", :index => 1).set "test"
 => ""
...