为了账号安全,请及时绑定邮箱和手机立即绑定

错误:在Jenkins通过Selenium执行测试套件时,从渲染器接收消息超时:20.000

错误:在Jenkins通过Selenium执行测试套件时,从渲染器接收消息超时:20.000

FFIVE 2019-09-06 16:34:08
我使用ChromeDriver和Selenium来运行我的自动化测试。测试套件在Eclipse和命令行中都能成功运行。但是,当我尝试在Jenkins中构建它时,它不会运行。这是我在詹金斯的工作配置(所有信息的名称都是为保密而清理的):  在此输入图像描述 我可以确认它的Ant运行的是JDK8。这是构建的控制台输出:[junit] Running main.TESTNAME    [junit] Starting ChromeDriver 2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f) on port 27352    [junit] Only local connections are allowed.    [junit] Apr 26, 2018 3:52:34 PM org.openqa.selenium.remote.ProtocolHandshake createSession    [junit] INFO: Detected dialect: OSS    [junit] Running through test suite as:    [junit] User: USERNAME我的build.xml下面主要是自动生成的,除了我添加JUnit集成的结尾:<?xml version="1.0" encoding="UTF-8"?><project basedir="." default="build" name="PROJECTSeleniumTest"><property environment="env"/><property name="debuglevel" value="source,lines,vars"/><property name="target" value="1.8"/><property name="source" value="1.8"/><path id="PROJECTSeleniumTest.classpath">    <pathelement location="bin"/>    <pathelement location="lib/byte-buddy-1.7.5.jar"/>    <pathelement location="lib/client-combined-3.8.1-sources.jar"/>    <pathelement location="lib/client-combined-3.8.1.jar"/>    <pathelement location="lib/commons-codec-1.10.jar"/>    <pathelement location="lib/commons-exec-1.3.jar"/>    <pathelement location="lib/commons-logging-1.2.jar"/>    <pathelement location="lib/gson-2.8.2.jar"/>    <pathelement location="lib/guava-23.0.jar"/>    <pathelement location="lib/hamcrest-core-1.3.jar"/>    <pathelement location="lib/httpclient-4.5.3.jar"/>    <pathelement location="lib/httpcore-4.4.6.jar"/>    <pathelement location="lib/junit-4.12.jar"/></path><target name="init">    <mkdir dir="bin"/>    <copy includeemptydirs="false" todir="bin">        <fileset dir="src">            <exclude name="**/*.launch"/>            <exclude name="**/*.java"/>        </fileset>    </copy></target><target name="clean">    <delete dir="bin"/></target><target depends="clean" name="cleanall"/><target depends="build-subprojects,build-project,junit" name="build"/>有谁知道原因可能是什么?谢谢。
查看完整描述

2 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

此错误消息...


[30.168][SEVERE]: Timed out receiving message from renderer: 20.000

...表示ChromeDriver无法启动新的Chrome浏览器进程。


您的主要问题是您使用的二进制文件之间的版本兼容性如下:


您正在使用chromedriver = 2.33

chromedriver发行说明= 2.33明确提到以下内容:

支持Chrome v60-62


您正在使用chrome = 64.0

ChromeDriver v2.35的发行说明明确提到以下内容:

支持Chrome v62-64(包括您使用的浏览器版本)


您的Selenium客户端版本是3.8.1。

您的JDK版本是1.8.0_151,这是相当旧的。

因此,JDK v8u151,Selenium Client v3.8.1,ChromeDriver v2.33和Chrome Browser v64.0之间明显不匹配


将JDK升级到最新级别JDK 8u162。

将Selenium升级到当前级别版本3.11.0。

升级ChromeDriver当前ChromeDriver v2.38水平。

将Chrome版本保持在Chrome v66.x级别。(根据ChromeDriver v2.38发行说明)

清理你的项目工作,通过你的IDE和重建仅需要依赖你的项目。

使用CCleaner工具在执行Test Suite之前和之后擦除所有操作系统。

如果您的基本Web客户端版本太旧,请通过Revo Uninstaller将其卸载并安装最新的GA和已发布的Web客户端版本。

进行系统重启。

执行你的@Test。


查看完整回答
反对 回复 2019-09-06
?
互换的青春

TA贡献1797条经验 获得超6个赞

由于我的工作场所限制了我的Chrome版本,我目前无法通过v64升级。我也无法安装未经批准的软件。但是,我确实更新了:ChromeDriver为2.37(支持Chrome v64),Selenium为3.11,作业JDK为1.8.0_171。 它仍然运行失败。正如我所说,在更新这些之前,我的ant构建在命令行和Eclipse中都有效。只有与詹金斯的不兼容。如果我有证据证明它在其他地方执行,你认为它仍然与版本不兼容吗?他们在不同的小版本中运行,但他们仍然是1.8 

查看完整回答
反对 回复 2019-09-06
  • 2 回答
  • 0 关注
  • 1047 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信