Я работаю над автоматизацией тестирования с помощью огурца, selenium-webdriver и драгоценного камня page-object. Когда я пытаюсь запустить простой тестовый огурец, я получаю следующую ошибку:
Scenario: Going to billing # features/test.feature:10
When I click 'Платные услуги' # features/step_definitions/test_steps.rb:13
Unable to locate element: {"method":"link text","selector":"Платные услуги"} (Selenium::WebDriver::Error::NoSuchElementError)
[remote server] file:///tmp/webdriver-profile20130412-21410-z4p1ez/extensions/[email protected]/components/driver_component.js:8405:in `FirefoxDriver.prototype.findElementInternal_'
[remote server] file:///tmp/webdriver-profile20130412-21410-z4p1ez/extensions/[email protected]/components/driver_component.js:8414:in `FirefoxDriver.prototype.findElement'
[remote server] file:///tmp/webdriver-profile20130412-21410-z4p1ez/extensions/[email protected]/components/command_processor.js:10421:in `DelayedCommand.prototype.executeInternal_/h'
[remote server] file:///tmp/webdriver-profile20130412-21410-z4p1ez/extensions/[email protected]/components/command_processor.js:10426:in `DelayedCommand.prototype.executeInternal_'
[remote server] file:///tmp/webdriver-profile20130412-21410-z4p1ez/extensions/[email protected]/components/command_processor.js:10366:in `DelayedCommand.prototype.execute/<'
./features/pages/job_main_page.rb:38:in `go_to_billing'
./features/step_definitions/test_steps.rb:14:in `/^I click 'Платные услуги'$/'
features/test.feature:11:in `When I click 'Платные услуги''
Вот характеристика огурца:
Scenario: Going to billing
When I click 'Платные услуги'
Then I should see "Коммерческие услуги"
Определение шага, на котором падает тест:
When(/^I go to billing$/) do
@job_myroom_billing = @job_myroom.billing_element.when_visible.go_to_billing
end
И объект страницы:
class BasePage
include PageObject
include RSpec::Matchers
end
class JobMyroom < BasePage
link :billing, link: 'Платные услуги'
def go_to_billing
billing
JobMyroomBilling.new @browser
end
end
class JobMyroomBilling < JobMyroom
#some code
end
Что случилось? Водитель не ждет присутствия элемента