【发布时间】:2023-05-17 04:36:01
【问题描述】:
我使用 Jenkins 通过 Chrome 和 chromedriver.exe 运行浏览器自动化。这是在 Windows Server 2008 机器上。我的测试突然开始失败。我可以通过运行测试的控制台输出看到正在调用 chromedriver,并且我可以通过交互式桌面看到 Chrome 已启动。但随后 Chrome 只是挂起,该网站永远不会加载。 Jenkins 在本地系统帐户下运行。如果我在管理员帐户下通过命令行运行完全相同的测试,一切正常。
我还尝试为 Jenkins 安装 Chromedriver 插件。我可以看到 Jenkins 下载了一个稍新版本的 chromedriver.exe 并从那个新位置调用它。完全相同的问题仍然存在。
Chromedriver 是通过 ruby 代码调用的。我使用 watir gem 进行浏览器自动化。我设法破解了 ruby gem 代码并为 Chromedriver 打开了详细日志记录。 chromedriver 日志输出中没有任何令人担忧的地方。
我的测试框架已经死了。任何建议都非常感谢。
【问题讨论】:
-
从我在 Google 的 Chromedriver 论坛上的阅读中可以清楚地看出,Chrome 可能会自动更新自身(这就是为什么一切都突然中断的原因),并且新版本的 Chrome 与 Chromedriver 不匹配作为服务运行。现在很多人的测试框架都坏了。提供的解决方案是安装以前版本的 Chrome。然而,这是有问题的,因为谷歌并没有正式提供旧版本,所以你已经在网上某个地方挖了一个。而且,我必须为所有用户安装一个版本,而不仅仅是为当前用户安装。
标签: jenkins selenium-chromedriver