капибара, селен взаимодействуют со скрытыми или отображают: нет css properties - PullRequest
2 голосов
/ 16 октября 2011

Я использую аналогичную конструкцию:

<div class="edit" style="visibility: hidden;">
  <a href="some_path" id="edit_item">Edit</a>
</div>

Затем при наведении мыши этот элемент становится видимым, но мне сложно взаимодействовать с тестами (используя огурец, капибару, селен).

Я получаю сообщение об ошибке

Элемент в данный момент не виден и поэтому не может взаимодействовать с (Selenium :: WebDriver :: Error :: ElementNotDisplayedError)

Iпытался использовать Element.trigger (событие) с наведением мыши, но он не работает в селене ... Как я могу взаимодействовать с этим элементом?

1 Ответ

4 голосов
/ 17 октября 2011

Я решил эту проблему, используя execute_script из capybara:

When /^I hover element "([^""]*)"(?: within "([^""]*)")?$/ do |id,selector|
  with_scope(selector) do
    page.execute_script("$('#{id}').mouseover();")
  end
end

When /^I click in hide element "([^""]*)"(?: within "([^""]*)")?$/ do |id,selector|
  with_scope(selector) do
    page.execute_script("$('#{id}').click();")
  end
end

, но это решение не работает с css - display: none;

...