Я использую капибару для тестирования моего приложения rails для интеграционного тестирования.В моем приложении есть много вызовов Lightbox, Ajax и js.
@javascript
Scenario: I agree functionatilty
Given I go to the create account page
When I click on button which is given as image "lnkTerms2"
And I follow "i_agree"
Then I go to the create account page
Здесь выше код lnkTerms2 - это и id, который поможет при вызове функции js открыть лайтбокс.И я получаю сообщение об ошибке как
Element is not currently visible and so may not be interacted with (Selenium::WebDriver::Error::ElementNotDisplayedError)
[remote server] resource://fxdriver/modules/atoms.js:9519:in `unknown'
[remote server] file:///tmp/webdriver-profile20111117-6876-18cfcfp/extensions/fxdriver@googlecode.com/components/nsCommandProcessor.js:256:in `unknown'
[remote server] file:///tmp/webdriver-profile20111117-6876-18cfcfp/extensions/fxdriver@googlecode.com/components/nsCommandProcessor.js:305:in `unknown'
[remote server] file:///tmp/webdriver-profile20111117-6876-18cfcfp/extensions/fxdriver@googlecode.com/components/nsCommandProcessor.js:320:in `unknown'
[remote server] file:///tmp/webdriver-profile20111117-6876-18cfcfp/extensions/fxdriver@googlecode.com/components/nsCommandProcessor.js:197:in `unknown'
(eval):2:in `send'
(eval):2:in `click_link'
./features/step_definitions/web_steps.rb:300:in `/^I click on button which is given as image "([^"]*)"$/'
features/Sign_up_process.feature:61:in `When I click on button which is given as image "lnkTerms2"'
Проблема заключается в том, что эта функция вызывается в веб-драйвере, она не получает времени для загрузки вызовов javascript и ajax.И лайтбокс не открывается.Поэтому, пожалуйста, предложите мне какое-нибудь решение.
Также, если предположить, что я напишу строку
When I click on button which is given as image "lnkTerms2"
после 4-5 операторов, тогда он работает нормально, так как у него есть время для загрузки js.