У меня есть ситуация, когда я использую (используя: драйвер селена) несколько браузеров с Capybara для тестирования моего интерфейса. Как я могу закрыть некоторые из них с помощью капибары, когда они не нужны?
Также:
page.driver.browser.close
Определенно работает для Selenium, хотя, возможно, не для capybara-webkit .
Если вкладки / окна открываются с помощью JavaScript, то JavaScript разрешается закрывать их. Вы можете выполнить JS в тесте Capybara, используя page.execute_script.
page.execute_script
page.execute_script "window.close();"
Если вы хотите закрыть каждое окно после завершения каждого теста, а не закрывать все окна в конце вашего теста, попробуйте:
after do Capybara.current_session.driver.quit end
Внутри файла 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