如何使用selenium和Ruby for Mac OSx在后台运行chrome驱动程序?

时间:2017-05-09 07:33:24

标签: selenium selenium-webdriver selenium-chromedriver headless selenium-ruby

有时,浏览器窗口会出现在前台,我偶然点击它会导致测试在某些情况下失败。所以,我只是想知道,有什么方法可以让Chrome驱动程序窗口保持在后台。

详细说明: < ChromeDriver版本:2.28.455517> < Chrome版本:58.0.3029.96>

3 个答案:

答案 0 :(得分:1)

首要的规则是,在脚本运行时我们不应该做任何其他工作。我们可能会使用动作类进行悬停等等,而移动光标可能会导致测试用例失败。希望它对你有用。

答案 1 :(得分:1)

关于你的问题的解决方案的几句话:

  1. 根据最佳实践,您应该尝试在隔离的测试环境中使用所有必需的硬件软件执行测试脚本/自动化框架配置和设置。
  2. 在执行过程中,中间不应存在手动用户交互。
  3. 如果您想要进行多任务处理,请使用Ghost / Headless Browsers。您将在Which drivers support “no-browser”/“headless” testing?
  4. 中找到详细的讨论
  5. Htmlunitdriver& PhantomJS是两个最常用的Ghost / Headless浏览器。
  6. 如果您具体使用ChromeDriver,则可以按照documentation here使用Chrome无头。

答案 2 :(得分:1)

您可以尝试使用适用于Chrome的无头开关。

这将在无头模式下运行自动化,并且您不会受到干扰。

options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--headless')

然后,启动Chrome。