我正在使用Capybara/RSpec编写一些自动化测试,我通过使用以下 ruby 来选择/配置驱动程序:
Capybara.register_driver :selenium_chrome do |app|
Capybara::Selenium::Driver.new(app, :browser => :chrome)
end
我正在测试单击的按钮是否正在打开弹出窗口,并且该窗口正在显示其应显示的内容。问题是,当测试打开窗口时,Google Chrome弹出窗口阻止程序将其阻止,从而导致测试失败。从选项菜单禁用阻止程序不起作用。另外,恐怕一旦在服务器上运行它们,也会引起同样的问题。
有没有一种方法可以自动禁用测试的弹出框?
最佳答案
我们有一个非常相似的问题。就像约翰所说的那样,命令行开关不再起作用。我们尝试使用自定义配置文件,但似乎已被覆盖。
最终通过使用WebDriver
本身手动禁用弹出窗口来解决了这个问题:
driver.get('chrome://settings/advanced')
driver.find_element_by_id('privacyContentSettingsButton').click()
driver.find_element_by_name('popups').click()
我猜这更像是用户会做的;-)
关于google-chrome - Google Chrome中的弹出窗口阻止功能导致Capybara/Rspec测试出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7742852/