Как закрыть браузер с капибарой? - PullRequest
13 голосов
/ 23 октября 2011

У меня есть ситуация, когда я использую (используя: драйвер селена) несколько браузеров с Capybara для тестирования моего интерфейса. Как я могу закрыть некоторые из них с помощью капибары, когда они не нужны?

Ответы [ 4 ]

7 голосов
/ 25 июня 2015

Также:

page.driver.browser.close

Определенно работает для Selenium, хотя, возможно, не для capybara-webkit .

7 голосов
/ 12 ноября 2011

Если вкладки / окна открываются с помощью JavaScript, то JavaScript разрешается закрывать их. Вы можете выполнить JS в тесте Capybara, используя page.execute_script.

page.execute_script "window.close();"
2 голосов
/ 11 июля 2017

Если вы хотите закрыть каждое окно после завершения каждого теста, а не закрывать все окна в конце вашего теста, попробуйте:

after do  
  Capybara.current_session.driver.quit  
end
1 голос
/ 03 апреля 2013

Внутри файла env.rb вставьте этот код

After do |scenario| 
print "OZONEEEEE"
page.execute_script "window.close();"
# restart Selenium driver
Capybara.send(:session_pool).delete_if { |key, value| key =~ /selenium/i } 
end
...