问题描述
操作系统:Windows 10浏览器:Chrome浏览器版本:73.0.3683.86(官方版本)(32位)
我正在运行硒黄瓜 BDD 项目,我正在验证一页的标题.我正在使用extent-report version4.项目在本地成功运行.但是当我通过 Jenkins 运行它时,它在捕获屏幕截图并显示以下错误时失败.
如果我从 pom.xml 中删除了 surfire 插件,那么 TEST 就不会通过 Jenkins 运行.
在 Jenkins 的 Execute Windows Batch 命令选项中,我给出了以下命令
C:Program Files (x86)JenkinsworkspaceCucumberBDDFramework测试
测试运行器
包 com.accenture.TestRunner;导入 org.testng.annotations.AfterClass;导入 org.testng.annotations.Test;导入 org.testng.annotations.BeforeClass;导入 org.testng.annotations.AfterClass;导入 org.testng.annotations.BeforeClass;导入 org.testng.annotations.DataProvider;导入 org.testng.annotations.Test;进口黄瓜.api.CucumberOptions;进口黄瓜.api.testng.AbstractTestNGCucumberTests;进口黄瓜.api.testng.CucumberFeatureWrapper;进口黄瓜.api.testng.TestNGCucumberRunner;/*** @author ajinkya.pande**/@黄瓜选项(features="./features/WhatIsBitcoin.feature",胶= {com.accenture.StepDef"},标签= {@ExtentReport"},干运行 = 假)公共类 TestRunner {//编写以下步骤或尝试扩展 AbstractTestNGCucumberTests私人 TestNGCucumberRunner testNGCucumberRunner;@BeforeClass(alwaysRun = true)public void setUpClass() 抛出异常{testNGCucumberRunner = new TestNGCucumberRunner(this.getClass());}@Test(dataProvider = "功能")公共无效功能(CucumberFeatureWrapper CucumberFeature){testNGCucumberRunner.runCucumber(cucumberFeature.getCucumberFeature());}@数据提供者公共对象 [][] 功能(){返回 testNGCucumberRunner.provideFeatures();}@AfterClass(alwaysRun = true)public void tearDownClass() 抛出异常{testNGCucumberRunner.finish();}}
步骤定义
包 com.accenture.listeners;导入 java.io.File;导入 java.io.IOException;导入 java.text.DateFormat;导入 java.text.SimpleDateFormat;导入 java.util.Date;导入 org.apache.commons.io.FileUtils;导入 org.openqa.selenium.OutputType;导入 org.openqa.selenium.TakesScreenshot;导入 org.openqa.selenium.WebDriver;导入 com.accenture.Utility.Constants;导入 com.aventstack.extentreports.ExtentReports;进口 com.aventstack.extentreports.ExtentTest;导入 com.aventstack.extentreports.markuputils.ExtentColor;导入 com.aventstack.extentreports.markuputils.MarkupHelper;导入 com.aventstack.extentreports.reporter.ExtentHtmlReporter;导入 com.aventstack.extentreports.reporter.configuration.Theme;/*** @author ajinkya.pande**/公共类 ExtentReportListener 扩展常量 {公共静态 ExtentHtmlReporter 报告 = null;public static ExtentReports extent = null;公共静态 ExtentTest 测试 = 空;公共静态 ExtentReports setUp() {String reportLocation = "./Reports/Extent_Report.html";报告 = 新 ExtentHtmlReporter(reportLocation);report.config().setDocumentTitle("自动化测试报告");report.config().setReportName("自动化测试报告");report.config().setTheme(Theme.STANDARD);System.out.println("范围报告位置初始化......");报告.开始();范围 = 新的 ExtentReports();范围.attachReporter(报告);extent.setSystemInfo("应用程序", "Youtube");extent.setSystemInfo("操作系统", System.getProperty("os.name"));extent.setSystemInfo("用户名", System.getProperty("user.name"));System.out.println("范围报告中设置的系统信息");返回范围;}public static void testStepHandle(String teststatus, WebDriver driver, ExtentTest extenttest, Throwable throwable) {如果(teststatus.equals(失败")){extenttest.fail(MarkupHelper.createLabel("测试用例失败:", ExtentColor.RED));范围测试.错误(throwable.fillInStackTrace());尝试 {extenttest.addScreenCaptureFromPath(captureScreenShot(driver));} catch (IOException e) {e.printStackTrace();}如果(驱动程序!= null){驱动程序退出();}如果(teststatus.equals(通过")){extenttest.pass(MarkupHelper.createLabel("测试用例通过:", ExtentColor.GREEN));尝试 {extenttest.addScreenCaptureFromPath(captureScreenShot(driver));} catch (IOException e) {e.printStackTrace();}}}}公共静态字符串 captureScreenShot(WebDriver 驱动程序) 抛出 IOException {TakesScreenshot 屏幕 = (TakesScreenshot) 驱动程序;文件 src = screen.getScreenshotAs(OutputType.FILE);String dest = SCRRENSHOT_PATH + getcurrentdateandtime() + ".png";文件目标 = 新文件(目标);FileUtils.copyFile(src, target);返回目的地;}私有静态字符串 getcurrentdateandtime() {字符串 str = null;尝试 {DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss:SSS");日期日期=新日期();str = dateFormat.format(日期);str = str.replace(" ", "").replaceAll("/", "").replaceAll(":", "");} 捕获(异常 e){}返回字符串;}}
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.ajinkya.cucumber</groupId><artifactId>范围报告</artifactId><version>0.0.1-SNAPSHOT</version><构建><!-- <插件><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.7.0</version><配置><来源>1.8</来源><目标>1.8</目标><encoding>UTF-8</encoding></配置></插件>--><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><配置><fork>1.7</fork><executable>C:Program FilesJavajdk1.8.0_191injavac.exe</executable></配置></插件><!-- <插件><groupId>net.masterthought</groupId><artifactId>maven-cucumber-reporting</artifactId><version>3.15.0</version><执行><执行><id>执行</id><阶段>验证</阶段><目标><目标>生成</目标></目标><配置><outputDirectory>target/cucumber-reports/advanced-reports</outputDirectory><cucumberOutput>target/cucumber-reports/CucumberTestReport.json</cucumberOutput></配置></执行></执行></插件>--><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.19.1</version><配置><suiteXmlFiles>testng.xml</suiteXmlFiles></配置></插件></插件></build><依赖项><!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java --><依赖><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>3.11.0</version></依赖><依赖><groupId>info.cukes</groupId><artifactId>cucumber-java</artifactId><version>1.2.5</version></依赖><!-- https://mvnrepository.com/artifact/info.cukes/cucumber-testng --><依赖><groupId>info.cukes</groupId><artifactId>cucumber-testng</artifactId><version>1.2.5</version></依赖><!-- https://mvnrepository.com/artifact/org.testng/testng --><依赖><groupId>org.testng</groupId><artifactId>testng</artifactId><version>6.9.8</version></依赖><依赖><groupId>info.cukes</groupId><artifactId>cucumber-jvm-deps</artifactId><version>1.0.5</version><范围>提供</范围></依赖><依赖><groupId>com.aventstack</groupId><artifactId>extentreports</artifactId><version>4.0.6</version></依赖><依赖><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.23</version></依赖><!-- https://mvnrepository.com/artifact/org.apache.commons/commons-io --><依赖><groupId>org.apache.commons</groupId><artifactId>commons-io</artifactId><version>1.3.2</version></依赖></依赖项></项目>
詹金斯日志:
T E S T S-------------------------------------------------------运行测试套件开始...............范围报告位置已初始化...系统信息.在范围报告中设置在端口 8950 上启动 ChromeDriver 73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72)只允许本地连接.请保护 ChromeDriver 和相关测试框架使用的端口,防止恶意代码访问.2019 年 3 月 26 日晚上 11:15:27 org.openqa.selenium.remote.ProtocolHandshake createSession信息:检测到的方言:OSS[1553622354.306][严重]:从渲染器接收消息超时:10.000[1553622354.307][警告]:截图失败,正在重试[1553622364.313][严重]:从渲染器接收消息超时:9.996[1553622374.336][严重]:从渲染器接收消息超时:9.998[1553622374.337][警告]:截图失败,正在重试[1553622384.337][严重]:从渲染器接收消息超时:9.998[1553622394.343][严重]:从渲染器接收消息超时:10.000[1553622394.344][警告]:截图失败,正在重试[1553622404.345][严重]:从渲染器接收消息超时:9.996失败场景:./features/WhatIsBitcoin.feature:3 # 场景:测试范围报告1 个场景(1 个失败)4 步(1 失败,3 跳过)1m25.069sorg.openqa.selenium.TimeoutException:超时:从渲染器接收消息超时:9.996(会话信息:chrome=73.0.3683.86)(驱动程序信息:chromedriver=73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72),platform=Windows NT 10.0.17134 x86_64)(警告:服务器没有提供任何堆栈信息)命令持续时间或超时:0 毫秒构建信息:版本:'3.11.0',修订版:'e59cfb3',时间:'2018-03-11T20:26:55.152Z'系统信息:主机:'BDC11-L-FYK3VP2',ip:'192.168.56.1',os.name:'Windows 10',os.arch:'amd64',os.version:'10.0',java.version:'1.8.0_191'驱动程序信息:org.openqa.selenium.chrome.ChromeDriver功能 {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 73.0.3683.68 (47787ec04b6e3..., userDataDir: C:windowsTEMPscoped_dir1...}, cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions: {debuggerAddress: localhost:51833}, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy:正常,平台:XP,平台名称:XP,代理:代理(),可旋转:假,setWindowRect:真,strictFileInteractability:假,takesHeapSnapshot:真,takesScreenshot:真,超时:{隐含:0,pageLoad:300000,脚本:30000},unexpectedAlertBehaviour:忽略,未处理的PromptBehavior:忽略,版本:73.0.3683.86,webStorageEnabled:true}会话 ID:1b4d8402a8e29651ed2c7a773c11ca37在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)在 java.lang.reflect.Constructor.newInstance(Constructor.java:423)在 org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)在 org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)在 org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponseCodec.java:40)在 org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:80)在 org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:44)在 org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)在 org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)在 org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:545)在 org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:602)在 org.openqa.selenium.remote.RemoteWebDriver.getScreenshotAs(RemoteWebDriver.java:291)在 com.accenture.listeners.ExtentReportListener.captureScreenShot(ExtentReportListener.java:81)在 com.accenture.StepDef.WhatIsBitcoin.go_to_chrome(WhatIsBitcoin.java:47)在 ?.When Go to chrome(./features/WhatIsBitcoin.feature:4)测试运行:1,失败:1,错误:0,跳过:0,经过的时间:86.657 秒<<<失败!- 在测试套件中功能(com.accenture.TestRunner.TestRunner)经过的时间:85.109秒<<[帮助1][错误][错误] 要查看错误的完整堆栈跟踪,请使用 -e 开关重新运行 Maven.[错误] 使用 -X 开关重新运行 Maven 以启用完整的调试日志记录.[错误][ERROR] 有关错误和可能的解决方案的更多信息,请阅读以下文章:[错误] [帮助 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException构建步骤执行 Windows 批处理命令"将构建标记为失败完成:失败
似乎您在 上使用 chromedriver=73.0.3683.68 和 chrome=73.0.3683.86Windows 操作系统
John Chen(所有者 - chromedriver)最近证实:
当 Chrome 73.0.3686.75 由 Windows 上的服务(例如 Jenkins 或任务调度程序)启动时,我们已确认截屏问题.请参阅
更新
我们能够挖掘出主要问题.主要问题不在于 ChromeDriver v73.x 本身,而是 Chrome v73.x 和 John 正式确认为:
根本原因确实在 Chrome 73.x 中,而不是在 ChromeDriver 中.我们正在与 Chrome 开发者合作寻找解决方案.
解决方案
解决方案是:
- 将 Chrome 浏览器降级到 Chrome v72.x
- 在以下各项中使用匹配的 ChromeDriver:
注意:如果您使用的是 Chrome 72 版本,请下载 ChromeDriver 2.46 或 ChromeDriver 72.0.3626.69
尾声
- 讨论:Page.captureScreenshot 在 Selenium 下的 Chrome 73 中不再有效,因为Windows 上的服务
- 提交导致问题:在桌面平台上设置 VizDisplayCompositor 功能莉>
- 合并:延迟:从 LatencyInfo 中删除快照
- 下载 Google Chrome 72 离线版适用于所有操作系统的安装程序
更新(2019 年 4 月 3 日)
通过 ChromeOptions()
的实例添加参数 --disable-features=VizDisplayCompositor
似乎解决了这个问题:
ChromeOptions options = new ChromeOptions();options.addArguments("--disable-features=VizDisplayCompositor");WebDriver driver = new ChromeDriver(options);driver.get("https://google.com");
OS: Windows 10Browser: ChromeBrowser version: Version 73.0.3683.86 (Official Build) (32-bit)
I am running selenium cucumber BDD project where I am verifying title of one page. I am using extent-report version4. Project running successfully in local. But when i am running it through Jenkins, its failing while capturing screenshot and showing below error.
If i remove the surfire plugin from pom.xml then the TEST is not running via Jenkins.
In Execute Windows Batch command option of Jenkins i have given below command
C:Program Files (x86)JenkinsworkspaceCucumberBDDFramework
mvn test
TestRunner
package com.accenture.TestRunner;
import org.testng.annotations.AfterClass;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import cucumber.api.CucumberOptions;
import cucumber.api.testng.AbstractTestNGCucumberTests;
import cucumber.api.testng.CucumberFeatureWrapper;
import cucumber.api.testng.TestNGCucumberRunner;
/**
* @author ajinkya.pande
*
*/
@CucumberOptions(
features="./features/WhatIsBitcoin.feature",
glue= {"com.accenture.StepDef"},
tags= {"@ExtentReport"},
dryRun = false
)
public class TestRunner {
// Write following steps or Try to extend AbstractTestNGCucumberTests
private TestNGCucumberRunner testNGCucumberRunner;
@BeforeClass(alwaysRun = true)
public void setUpClass() throws Exception{
testNGCucumberRunner = new TestNGCucumberRunner(this.getClass());
}
@Test(dataProvider = "features")
public void feature(CucumberFeatureWrapper cucumberFeature) {
testNGCucumberRunner.runCucumber(cucumberFeature.getCucumberFeature());
}
@DataProvider
public Object [][] features(){
return testNGCucumberRunner.provideFeatures();
}
@AfterClass(alwaysRun = true)
public void tearDownClass() throws Exception{
testNGCucumberRunner.finish();
}
}
StepDefinition
package com.accenture.listeners;
import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import com.accenture.Utility.Constants;
import com.aventstack.extentreports.ExtentReports;
import com.aventstack.extentreports.ExtentTest;
import com.aventstack.extentreports.markuputils.ExtentColor;
import com.aventstack.extentreports.markuputils.MarkupHelper;
import com.aventstack.extentreports.reporter.ExtentHtmlReporter;
import com.aventstack.extentreports.reporter.configuration.Theme;
/**
* @author ajinkya.pande
*
*/
public class ExtentReportListener extends Constants {
public static ExtentHtmlReporter report = null;
public static ExtentReports extent = null;
public static ExtentTest test = null;
public static ExtentReports setUp() {
String reportLocation = "./Reports/Extent_Report.html";
report = new ExtentHtmlReporter(reportLocation);
report.config().setDocumentTitle("Automation Test Report");
report.config().setReportName("Automation Test Report");
report.config().setTheme(Theme.STANDARD);
System.out.println("Extent Report location initialized . . .");
report.start();
extent = new ExtentReports();
extent.attachReporter(report);
extent.setSystemInfo("Application", "Youtube");
extent.setSystemInfo("Operating System", System.getProperty("os.name"));
extent.setSystemInfo("User Name", System.getProperty("user.name"));
System.out.println("System Info. set in Extent Report");
return extent;
}
public static void testStepHandle(String teststatus, WebDriver driver, ExtentTest extenttest, Throwable throwable) {
if (teststatus.equals("FAIL")) {
extenttest.fail(MarkupHelper.createLabel("Test Case is Failed : ", ExtentColor.RED));
extenttest.error(throwable.fillInStackTrace());
try {
extenttest.addScreenCaptureFromPath(captureScreenShot(driver));
} catch (IOException e) {
e.printStackTrace();
}
if (driver != null) {
driver.quit();
}
if (teststatus.equals("PASS")) {
extenttest.pass(MarkupHelper.createLabel("Test Case is Passed : ", ExtentColor.GREEN));
try {
extenttest.addScreenCaptureFromPath(captureScreenShot(driver));
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static String captureScreenShot(WebDriver driver) throws IOException {
TakesScreenshot screen = (TakesScreenshot) driver;
File src = screen.getScreenshotAs(OutputType.FILE);
String dest = SCRRENSHOT_PATH + getcurrentdateandtime() + ".png";
File target = new File(dest);
FileUtils.copyFile(src, target);
return dest;
}
private static String getcurrentdateandtime() {
String str = null;
try {
DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss:SSS");
Date date = new Date();
str = dateFormat.format(date);
str = str.replace(" ", "").replaceAll("/", "").replaceAll(":", "");
} catch (Exception e) {
}
return str;
}
}
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.ajinkya.cucumber</groupId>
<artifactId>extent-reporting</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<plugins>
<!-- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin> -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<fork>1.7</fork>
<executable>C:Program FilesJavajdk1.8.0_191injavac.exe</executable>
</configuration>
</plugin>
<!-- <plugin>
<groupId>net.masterthought</groupId>
<artifactId>maven-cucumber-reporting</artifactId>
<version>3.15.0</version>
<executions>
<execution>
<id>execute</id>
<phase>verify</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<outputDirectory>target/cucumber-reports/advanced-reports</outputDirectory>
<cucumberOutput>target/cucumber-reports/CucumberTestReport.json</cucumberOutput>
</configuration>
</execution>
</executions>
</plugin> -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<suiteXmlFiles>testng.xml</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.11.0</version>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java</artifactId>
<version>1.2.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/info.cukes/cucumber-testng -->
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-testng</artifactId>
<version>1.2.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.9.8</version>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm-deps</artifactId>
<version>1.0.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.aventstack</groupId>
<artifactId>extentreports</artifactId>
<version>4.0.6</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.23</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-io -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
</project>
Jenkins Log:
T E S T S
-------------------------------------------------------
Running TestSuite
Starting...............
Extent Report location initialized . . .
System Info. set in Extent Report
Starting ChromeDriver 73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72) on port 8950
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
Mar 26, 2019 11:15:27 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
[1553622354.306][SEVERE]: Timed out receiving message from renderer: 10.000
[1553622354.307][WARNING]: screenshot failed, retrying
[1553622364.313][SEVERE]: Timed out receiving message from renderer: 9.996
[1553622374.336][SEVERE]: Timed out receiving message from renderer: 9.998
[1553622374.337][WARNING]: screenshot failed, retrying
[1553622384.337][SEVERE]: Timed out receiving message from renderer: 9.998
[1553622394.343][SEVERE]: Timed out receiving message from renderer: 10.000
[1553622394.344][WARNING]: screenshot failed, retrying
[1553622404.345][SEVERE]: Timed out receiving message from renderer: 9.996
Failed scenarios:
./features/WhatIsBitcoin.feature:3 # Scenario: Testing extent reports
1 Scenarios (1 failed)
4 Steps (1 failed, 3 skipped)
1m25.069s
org.openqa.selenium.TimeoutException: timeout: Timed out receiving message from renderer: 9.996
(Session info: chrome=73.0.3683.86)
(Driver info: chromedriver=73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72),platform=Windows NT 10.0.17134 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: '3.11.0', revision: 'e59cfb3', time: '2018-03-11T20:26:55.152Z'
System info: host: 'BDC11-L-FYK3VP2', ip: '192.168.56.1', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_191'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 73.0.3683.68 (47787ec04b6e3..., userDataDir: C:windowsTEMPscoped_dir1...}, cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions: {debuggerAddress: localhost:51833}, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP, proxy: Proxy(), rotatable: false, setWindowRect: true, strictFileInteractability: false, takesHeapSnapshot: true, takesScreenshot: true, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unexpectedAlertBehaviour: ignore, unhandledPromptBehavior: ignore, version: 73.0.3683.86, webStorageEnabled: true}
Session ID: 1b4d8402a8e29651ed2c7a773c11ca37
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
at org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponseCodec.java:40)
at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:80)
at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:44)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:545)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:602)
at org.openqa.selenium.remote.RemoteWebDriver.getScreenshotAs(RemoteWebDriver.java:291)
at com.accenture.listeners.ExtentReportListener.captureScreenShot(ExtentReportListener.java:81)
at com.accenture.StepDef.WhatIsBitcoin.go_to_chrome(WhatIsBitcoin.java:47)
at ?.When Go to chrome(./features/WhatIsBitcoin.feature:4)
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 86.657 sec <<< FAILURE! - in TestSuite
feature(com.accenture.TestRunner.TestRunner) Time elapsed: 85.109 sec <<< FAILURE!
cucumber.runtime.CucumberException:
org.openqa.selenium.TimeoutException: timeout: Timed out receiving message from renderer: 9.996
(Session info: chrome=73.0.3683.86)
(Driver info: chromedriver=73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72),platform=Windows NT 10.0.17134 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: '3.11.0', revision: 'e59cfb3', time: '2018-03-11T20:26:55.152Z'
System info: host: 'BDC11-L-FYK3VP2', ip: '192.168.56.1', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_191'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 73.0.3683.68 (47787ec04b6e3..., userDataDir: C:windowsTEMPscoped_dir1...}, cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions: {debuggerAddress: localhost:51833}, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP, proxy: Proxy(), rotatable: false, setWindowRect: true, strictFileInteractability: false, takesHeapSnapshot: true, takesScreenshot: true, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unexpectedAlertBehaviour: ignore, unhandledPromptBehavior: ignore, version: 73.0.3683.86, webStorageEnabled: true}
Session ID: 1b4d8402a8e29651ed2c7a773c11ca37
at com.accenture.TestRunner.TestRunner.feature(TestRunner.java:42)
Caused by: org.openqa.selenium.TimeoutException:
timeout: Timed out receiving message from renderer: 9.996
(Session info: chrome=73.0.3683.86)
(Driver info: chromedriver=73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72),platform=Windows NT 10.0.17134 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: '3.11.0', revision: 'e59cfb3', time: '2018-03-11T20:26:55.152Z'
System info: host: 'BDC11-L-FYK3VP2', ip: '192.168.56.1', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_191'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 73.0.3683.68 (47787ec04b6e3..., userDataDir: C:windowsTEMPscoped_dir1...}, cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions: {debuggerAddress: localhost:51833}, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP, proxy: Proxy(), rotatable: false, setWindowRect: true, strictFileInteractability: false, takesHeapSnapshot: true, takesScreenshot: true, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unexpectedAlertBehaviour: ignore, unhandledPromptBehavior: ignore, version: 73.0.3683.86, webStorageEnabled: true}
Session ID: 1b4d8402a8e29651ed2c7a773c11ca37
Results :
Failed tests:
TestRunner.feature:42 » Cucumber org.openqa.selenium.TimeoutException: timeout...
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:33 min
[INFO] Finished at: 2019-03-26T23:16:45+05:30
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project extent-reporting: There are test failures.
[ERROR]
[ERROR] Please refer to C:Program Files (x86)JenkinsworkspaceCucumberBDDFramework argetsurefire-reports for the individual test results.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
Build step 'Execute Windows batch command' marked build as failure
Finished: FAILURE
Seems you are using chromedriver=73.0.3683.68 and chrome=73.0.3683.86 on Windows OS
John Chen (Owner - chromedriver) recently have confirmed that:
Update
We were able to dig up the main issue. The main issue is not with ChromeDriver v73.x as such but with Chrome v73.x and John officially confirms it as:
Solution
The solution would be to:
- Downgrade Chrome Browser to Chrome v72.x
- Use a matching ChromeDriver among:
Outro
- Discussion: Page.captureScreenshot no longer works in Chrome 73 under Selenium as a Service on Windows
- Commit causing the issue: Set VizDisplayCompositor feature enabled on desktop platforms
- Merge: latency: Remove snapshots from LatencyInfo
- Download Google Chrome 72 Offline Installer For All Operating Systems
Update(03-April-2019)
Adding the argument --disable-features=VizDisplayCompositor
through an instance of ChromeOptions()
seems solves the issue:
ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-features=VizDisplayCompositor");
WebDriver driver = new ChromeDriver(options);
driver.get("https://google.com");
这篇关于从渲染器接收消息超时:10.000,同时通过 Windows 上的 Jenkins 使用 chromedriver 和 chrome 捕获屏幕截图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!