WebDriver、ChromeDriver、Selenium 和 Jenkins 集成

WebDriver, ChromeDriver, Selenium, and Jenkins Integration

我有一个用 eclipse 编写的 selenium 脚本,它调用启动 URL 的 ChromeDriver,读取标题并关闭浏览器。我能够在 Eclipse 和命令提示符下成功执行此操作。

但是,当我使用构建例程(通过执行批处理命令)创建 Jenkins 作业时,构建会保持 运行 很长时间。使用 sysout 语句进行跟踪后,我发现构建停止在 drive.get()

driver.get("google.com");

等待很长时间后构建失败并显示以下错误消息:

Starting ChromeDriver 2.15.322448 (52179c1b310fec1797c81ea9a20326839860b7d3) on port 39626
Only local connections are allowed.
[304.538][SEVERE]: Timed out receiving message from renderer: 298.714
[904.539][SEVERE]: Timed out receiving message from renderer: 600.000
[914.540][SEVERE]: Timed out receiving message from renderer: 10.000

Build step 'Execute Windows batch command' marked build as failure
Finished: FAILURE

Selenium Webdriver 实际上需要显示才能工作(准确地说是 X 服务器)。

您可以使用 Xvfb 在无头模式下 运行 它,详细说明(有点过时,但仍然有效)- http://alex.nederlof.com/blog/2012/11/19/installing-selenium-with-jenkins-on-ubuntu/

您必须将代码更改为

driver.get("http://google.com");

您一定看到了来自 eclipse 和命令提示符的错误 运行。