Смена фокуса окна на Капибаре - PullRequest
1 голос
/ 13 февраля 2020

При написании некоторых тестов мне пришлось щелкнуть ссылку, ведущую на другую вкладку, затем мне нужно было щелкнуть другую ссылку, последний шаг не работает (невозможно найти ссылку «Пример» (Capybara :: ElementNotFound)). Должен ли я сначала изменить фокус на новую вкладку? Как мне это сделать?

Ответы [ 2 ]

0 голосов
/ 25 февраля 2020

Все, что мне нужно было сделать, это добавить switch_to_window(windows.last) перед действием

0 голосов
/ 13 февраля 2020

В Capybara вкладки обрабатываются как новые windows, поэтому вам нужно перейти в новое окно, используя api окна Capybaras. Это будет выглядеть примерно так:

new_window = window_opened_by do
  # here you are in the context of the original window but your actions are expected to open a new tab/window
  click_link 'the link that opens the new tab'
end

within_window(new_window) do
  # this is in the context of the newly opened tab/window
  click_link 'the link inside the new tab'
end

# here you will be back in the context of the first window

new_window.close # if you want to close the tab that was opened
...