3

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

但是,当我使用构建例程(通过执行批处理命令)创建jenkins作业时,构建会继续运行一段时间。经与系统输出报表跟踪我发现,构建以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 

回答

2

硒实际的webdriver需要显示工作(X服务器是准确的)。

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

+0

感谢您的详细信息。我读通过文档,我安装了windows平等的xvnv插件。 [链接](https://wiki.jenkins-ci.org/display/JENKINS/Xvnc+Plugin)但这并没有解决这个问题。我仍然面临同样的问题。 – Shankar

+0

嗯...你可以仔细检查一下,当你运行构建时定义了DISPLAY变量吗?您可以在Jenkins中使用“Execute shell”构建步骤并打印该变量。 – sap1ens

+0

我重新安装了我的JDK,jenkins,并尝试使用maven项目。构建作业按照规定运行良好。我没有配置硒网格/ xvnv。 – Shankar

-1

您必须更改代码以

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

你必须有从eclipse和命令提示符运行看到错误。

+0

我在这里没有提到http在我的问题中,但我在源代码中有这个。你是对的,http或https需要从soruce调用任何url。 – Shankar

+0

如果您在源代码中有http,我看不到它。我只能看到你在这里输入的内容。标记答案的重点是什么?态度恶劣!!! – Sandeep