google-chrome - Google Chrome中的弹出窗口阻止功能导致Capybara/Rspec测试出现问题

标签 google-chrome webdriver capybara popup-blocker

我正在使用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/

相关文章:

python - Selenium Webdriver - Python - leboncoin - pb 选择带重音的按钮

java - 动态检索 JUnit 类

c# - 在 selenium 和 c# 中移动物理鼠标指针

testing - NoMethodError 对 rspec 使用 has_selector

javascript - Chrome 扩展程序可在按下图标时触发点击事件

javascript - jQuery 背景图片淡入淡出功能导致 Chrome 和 Opera CPU 使用率高

google-chrome - Chrome 网上应用店应用内付款 : Errors getting SKUs

ruby-on-rails - 遇到奇怪的 capybara 问题

ruby-on-rails-3 - 无法使用 Capybara 登录到 ActiveAdmin/Devise

javascript - Chrome 版本。 58 "TypeError: navigator.storage.estimate is not a function"