Как работать с лайтбоксом с каркасом капибара, селен и огурец? - PullRequest
0 голосов
/ 03 апреля 2012

Я пытаюсь запустить тестовый набор, который будет обрабатывать лайтбокс jQuery. Лайтбокс содержит текстовую область и кнопку отправки. До появления лайтбокса оба поля скрыты.

Но Selenium не понимает видимость этих элементов в лайтбоксе. Это просто показывает следующую ошибку.

And I fill comment box with "Text !!" # features/step_definitions/web_steps.rb:333
  Element is not currently visible and so may not be interacted with (Selenium::WebDriver::Error::ElementNotVisibleError)
  [remote server] file:///tmp/webdriver-profile20120403-6182-1rd9z23/extensions/fxdriver@googlecode.com/components/command_processor.js:9509:in `unknown'
  [remote server] file:///tmp/webdriver-profile20120403-6182-1rd9z23/extensions/fxdriver@googlecode.com/components/command_processor.js:10510:in `unknown'
  [remote server] file:///tmp/webdriver-profile20120403-6182-1rd9z23/extensions/fxdriver@googlecode.com/components/command_processor.js:10529:in `unknown'
  [remote server] file:///tmp/webdriver-profile20120403-6182-1rd9z23/extensions/fxdriver@googlecode.com/components/command_processor.js:10534:in `unknown'
  [remote server] file:///tmp/webdriver-profile20120403-6182-1rd9z23/extensions/fxdriver@googlecode.com/components/command_processor.js:10482:in `unknown'
  (eval):2:in `send'
  (eval):2:in `fill_in'
  ./features/step_definitions/web_steps.rb:335:in `/^I fill comment box with "([^"]*)"$/'
  features/courses_flow.feature:21:in `And I fill comment box with "Text !!"'

1 Ответ

1 голос
/ 03 апреля 2012

В качестве временного решения вы можете позволить капибаре видеть скрытые элементы. Я предлагаю использовать его с осторожностью, добавить специальный тег и включить его только для определенных сценариев:

Before('@ignore-hidden-elements') do
  Capybara.ignore_hidden_elements = true
end
...