当前位置:  开发笔记 > 编程语言 > 正文

在Linux测试中,Webdriver会随机生成"chrome notachable"

如何解决《在Linux测试中,Webdriver会随机生成"chromenotachable"》经验,为你挑选了0个好方法。

我们的CI测试随机失败,出现"chrome not reachable"错误.最初它们非常罕见,但随着我们的测试基础的增长,它变得无法容忍.关于此问题还有其他一些问题/错误报告,但这些问题似乎与我们的案例无关.

测试使用Cucumber + Ruby + Watir-Webdriver + Selenium-Webdriver(每个gem的最新版本)编写.我们使用物理硬件上的xvfb(无虚拟化)在无头模式下运行Ubuntu Linux 12.04上的测试.我可以在运行Linux Mint 16的笔记本电脑上非常可靠地重现它.我们正在并行运行测试以加快速度.

我尝试过使用Chromium 18.0.1025.151~r130497-0ubuntu1和Google Chrome 34.0.1847.116以及ChromeDriver v2.9.248304.旧版本的浏览器和ChromeDriver也出现了同样的问题.

通常,由于相同的错误,多个测试连续失败,然后在同一运行期间的后续测试中再次开始工作.

堆栈跟踪是:

  chrome not reachable
    (Session info: chrome=34.0.1847.116)
    (Driver info: chromedriver=2.9.248304,platform=Linux 3.2.0-60-generic x86_64) (Selenium::WebDriver::Error::WebDriverError)
  /home/weller/jenkins/workspace/TEST_CHROME_C/server/cucumber/support/step_support/browsers.rb:14:in `goto'
  /home/weller/jenkins/workspace/TEST_CHROME_C/server/cucumber/support/step_support/browsers.rb:35:in `blank_page'
  /home/weller/jenkins/workspace/TEST_CHROME_C/server/cucumber/support/step_support/browsers.rb:44:in `add_cookie'
  ./features/support/mocking.rb:11:in `mock'
  ./features/support/time_steps.rb:5:in `/^the current time zone is "(.*?)"$/'
  features/trackers/mood/mood_data_entry.feature:7:in `And the current time zone is "GMT+4"'

更新: 问题似乎与并行性有关.当其中一个测试退出时,有可能另一个测试将开始失败,并且"chrome无法访问".如果我在测试结束时添加延迟,以便在关闭任何Chrome窗口之前所有测试都已完成,则测试运行没有问题.我向ChromeDriver 报告了有关此问题的错误.

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有