org.openqa.selenium.TimeoutException: timeout: Timed out receiving message from renderer: 10.000

866 views
Skip to first unread message

Amr Kamel

unread,
Feb 17, 2020, 3:32:47 PM2/17/20
to Selenium Users
Im running mobile automation script against hybrid app and i keep switching between native and web context,
noticed whenever test fail im getting the following error 

onTestFailure method Verify_Deleting_Functionality_For_Domain failed
onTestFailure method
Verify_Deleting_Functionality_For_Domain failed
Finish test suite for Login Page Test Cases
org.openqa.selenium.TimeoutException: timeout: Timed out receiving message from renderer: 10.000
 
(Session info: chrome=74.0.3729.185)
 
(Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Windows NT 10.0.18362 x86_64)
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'LAPTOP-0VOQJHQN', ip: '192.168.1.5', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_221'
Driver info: io.appium.java_client.AppiumDriver
Capabilities {app: C:\Users\warrior\Desktop\Mo..., appActivity: com.trackerproducts.mobile...., appPackage: com.trackerproducts.mobile, autoGrantPermissions: true, automationName: uiautomator2, avd: Pixel, clearSystemFiles: true, databaseEnabled: false, desired: {app: C:\Users\warrior\Desktop\Mo..., appActivity: com.ss.mobile....,dsd appPackage: com.tsdscts.mobile, autoGrantPermissions: true, automationName: uiautomator2, avd: Pixel, clearSystemFiles: true, deviceName: emulator-5554, platformName: android, platformVersion: 10, showGradleLog: true}, deviceApiLevel: 29, deviceManufacturer: Google, deviceModel: Android SDK built for x86, deviceName: emulator-5556, deviceScreenDensity: 400, deviceScreenSize: 1080x2160, deviceUDID: emulator-5556, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, pixelRatio: 2.5, platform: LINUX, platformName: LINUX, platformVersion: 10, showGradleLog: true, statBarHeight: 60, takesScreenshot: true, viewportRect: {height: 1980, left: 0, top: 60, width: 1080}, warnings: {}, webStorageEnabled: false}
Session ID: 846cc110-68a2-465a-a752-39a991b358c5
 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.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
 at org
.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
 at org
.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)
 at org
.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
 at io
.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:239)
 at org
.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
 at io
.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:46)
 at io
.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1)
 at org
.openqa.selenium.remote.RemoteWebDriver.getScreenshotAs(RemoteWebDriver.java:295)
 at
Listener.TestListener.saveScreenshotPNG(TestListener.java:23)
 at
Listener.TestListener.onTestFailure(TestListener.java:81)
 at org
.testng.internal.TestListenerHelper.runTestListeners(TestListenerHelper.java:66)
 at org
.testng.internal.TestInvoker.runTestResultListener(TestInvoker.java:210)
 at org
.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:814)
 at org
.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:145)
 at org
.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
 at org
.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
 at java
.util.ArrayList.forEach(ArrayList.java:1257)
 at org
.testng.TestRunner.privateRun(TestRunner.java:770)
 at org
.testng.TestRunner.run(TestRunner.java:591)
 at org
.testng.SuiteRunner.runTest(SuiteRunner.java:402)
 at org
.testng.SuiteRunner.runSequentially(SuiteRunner.java:396)
 at org
.testng.SuiteRunner.privateRun(SuiteRunner.java:355)
 at org
.testng.SuiteRunner.run(SuiteRunner.java:304)
 at org
.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
 at org
.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
 at org
.testng.TestNG.runSuitesSequentially(TestNG.java:1180)
 at org
.testng.TestNG.runSuitesSequentially(TestNG.java:1175)
 at org
.testng.TestNG.runSuitesLocally(TestNG.java:1102)
 at org
.testng.TestNG.runSuites(TestNG.java:1032)
 at org
.testng.TestNG.run(TestNG.java:1000)
 at com
.intellij.rt.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:66)
 at com
.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:110)


Process finished with exit code -1


this issue start to appears when i integrate allure with mvn below is my pom file 

<?xml version="1.0" encoding="UTF-8"?>
<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>MobileAutomationTest</groupId>
<artifactId>SafeApp</artifactId>
<version>1.0-SNAPSHOT</version>


<properties>
<jre.level>1.8</jre.level>
<jdk.level>1.8</jdk.level>
<aspectj.version>1.9.5</aspectj.version>
</properties>

<build>
<plugins>
<!-- Compiler plug-in -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>${jdk.level}</source>
<target>${jdk.level}</target>
</configuration>
</plugin>
<!-- Added Surefire Plugin configuration to execute tests -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M4</version>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
<argLine>
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
</argLine>
<suiteXmlFiles>
<suiteXmlFile>src/test/java/TestNG.xml/</suiteXmlFile>
</suiteXmlFiles>
</configuration>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>

<dependencies>
<!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.0.0</version>
</dependency>
<!-- &lt;!&ndash; https://mvnrepository.com/artifact/io.qameta.allure/allure-testng &ndash;&gt;-->
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-testng</artifactId>
<version>2.13.0</version>
</dependency>
<!--https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-server-->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>3.141.59</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.appium/java-client -->
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>7.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/com.relevantcodes/extentreports -->
<dependency>
<groupId>com.relevantcodes</groupId>
<artifactId>extentreports</artifactId>
<version>2.41.2</version>
</dependency>
<!-- log4j2 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.29</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>RELEASE</version>
<scope>test</scope>
</dependency>
</dependencies>
<reporting>
<excludeDefaults>true</excludeDefaults>
<plugins>
<plugin>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-maven</artifactId>
<version>2.10.0</version>
<configuration>
<reportDirectory>${basedir}/target/allure-report</reportDirectory>
</configuration>
</plugin>
</plugins>
</reporting>

</project>

also noticed that driver wont terminate the session like it waiting for something, i guess its something with allure as well since on test failure allure should take screenshot 

here is appium log 

[
debug] [W3C (846cc110)]     at ProtocolConverter.convertAndProxy (C:\Users\warrior\AppData\Roaming\npm\node_modules\appium\node_modules\appium-base-driver\lib\jsonwp-proxy\protocol-converter.js:245:12)
[debug] [W3C (846cc110)]     at JWProxy.proxyCommand (C:\Users\warrior\AppData\Roaming\npm\node_modules\appium\node_modules\appium-base-driver\lib\jsonwp-proxy\proxy.js:258:12)
[debug] [W3C (846cc110)]     at JWProxy.proxyReqRes (C:\Users\warrior\AppData\Roaming\npm\node_modules\appium\node_modules\appium-base-driver\lib\jsonwp-proxy\proxy.js:308:36)
[debug] [W3C (846cc110)]     at Chromedriver.proxyReq (C:\Users\warrior\AppData\Roaming\npm\node_modules\appium\node_modules\appium-chromedriver\lib\chromedriver.js:655:12)
[debug] [MJSONWP] Matched JSONWP error code 21 to TimeoutError
[HTTP] <-- GET /wd/hub/session/846cc110-68a2-465a-a752-39a991b358c5/screenshot 408 60036 ms - 1072
[HTTP]
[HTTP] --> GET /wd/hub/session/846cc110-68a2-465a-a752-39a991b358c5/screenshot
[HTTP] {}
[W3C (846cc110)] Driver proxy active, passing request on via HTTP proxy
[debug] [WD Proxy] Matched '/wd/hub/session/846cc110-68a2-465a-a752-39a991b358c5/screenshot' to command name 'getScreenshot'
[debug] [WD Proxy] Proxying [GET /wd/hub/session/846cc110-68a2-465a-a752-39a991b358c5/screenshot] to [GET http://127.0.0.1:8002/wd/hub/session/354e69bbdc244d647af9b95e81686133/screenshot] with body: {}
[debug] [WD Proxy] Got response with status 200: {"sessionId":"354e69bbdc244d647af9b95e81686133","status":21,"value":{"message":"timeout: Timed out receiving message from renderer: 10.000\n  (Session info: chrome=74.0.3729.185)\n  (Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Windows NT 10.0.18362 x86_64)"}}
[WD Proxy] The response has an unknown format
[debug] [W3C (846cc110)] Encountered internal error running command: ProxyRequestError: Could not proxy command to remote server. Original error: The request to /wd/hub/session/846cc110-68a2-465a-a752-39a991b358c5/screenshot has failed
[debug] [W3C (846cc110)]     at JWProxy.proxy (C:\Users\warrior\AppData\Roaming\npm\node_modules\appium\node_modules\appium-base-driver\lib\jsonwp-proxy\proxy.js:222:13)
[debug] [W3C (846cc110)]     at ProtocolConverter.convertAndProxy (C:\Users\warrior\AppData\Roaming\npm\node_modules\appium\node_modules\appium-base-driver\lib\jsonwp-proxy\protocol-converter.js:245:12)
[debug] [W3C (846cc110)]     at JWProxy.proxyCommand (C:\Users\warrior\AppData\Roaming\npm\node_modules\appium\node_modules\appium-base-driver\lib\jsonwp-proxy\proxy.js:258:12)
[debug] [W3C (846cc110)]     at JWProxy.proxyReqRes (C:\Users\warrior\AppData\Roaming\npm\node_modules\appium\node_modules\appium-base-driver\lib\jsonwp-proxy\proxy.js:308:36)
[debug] [W3C (846cc110)]     at Chromedriver.proxyReq (C:\Users\warrior\AppData\Roaming\npm\node_modules\appium\node_modules\appium-chromedriver\lib\chromedriver.js:655:12)
[debug] [MJSONWP] Matched JSONWP error code 21 to TimeoutError
[HTTP] <-- GET /wd/hub/session/846cc110-68a2-465a-a752-39a991b358c5/screenshot 408 60033 ms - 1072
[HTTP]

Tech Freak

unread,
Feb 17, 2020, 3:48:59 PM2/17/20
to seleniu...@googlegroups.com

Hi,
Can anyone tell me how to fix the below time out error I get while running tests headless in Chrome through a Jenkins job? It works sometimes and fails other times. I have no idea how to fix this, unfortunately.


The versions of apps from my POM:-
<junit.version>4.12</junit.version>
<selenium.version>3.141.59</selenium.version>
<java.version>1.8</java.version>
<webdrivermanager.version>3.8.0</webdrivermanager.version>


Error:-

org.openqa.selenium.TimeoutException: timeout: Timed out receiving message from renderer: 10.000
        (Session info: headless chrome=79.0.3945.130)
      Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
      System info: host: 'slave4-ci3.trakcel.com', ip: '10.0.100.29', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-1062.9.1.el7.x86_64', java.version: '1.8.0_101'
      Driver info: org.openqa.selenium.chrome.ChromeDriver
      Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 79.0.3945.130, chrome: {chromedriverVersion: 79.0.3945.36 (3582db32b3389..., userDataDir: /tmp/.com.google.Chrome.BXLXZc}, goog:chromeOptions: {debuggerAddress: localhost:34338}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: LINUX, platformName: LINUX, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify}
      Session ID: 99c7878d514adb1b44528fb9e45995e8
      	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.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
      	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
      	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)
      	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:552)
      	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:609)
      	at org.openqa.selenium.remote.RemoteWebDriver.getScreenshotAs(RemoteWebDriver.java:295)
      	at com.TrakCel002.utilities.fileUtils.Screenshots.takeShot(Screenshots.java:31)
      	at com.TrakCel002.hooks.HookStep.stopTest(HookStep.java:39)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at cucumber.runtime.Utils$1.call(Utils.java:40)
      	at cucumber.runtime.Timeout.timeout(Timeout.java:16)
      	at cucumber.runtime.Utils.invoke(Utils.java:34)
      	at cucumber.runtime.java.JavaHookDefinition.execute(JavaHookDefinition.java:60)
      	at cucumber.runtime.Runtime.runHookIfTagsMatch(Runtime.java:224)
      	at cucumber.runtime.Runtime.runHooks(Runtime.java:212)
      	at cucumber.runtime.Runtime.runAfterHooks(Runtime.java:206)
      	at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:46)
      	at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:102)
      	at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63)
      	at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18)
      	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
      	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
      	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
      	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
      	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
      	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
      	at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70)
      	at cucumber.api.junit.Cucumber.runChild(Cucumber.java:95)
      	at cucumber.api.junit.Cucumber.runChild(Cucumber.java:38)
      	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
      	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
      	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
      	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
      	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
      	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
      	at cucumber.api.junit.Cucumber.run(Cucumber.java:100)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
      	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
      	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
      	at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
      	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)


 org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died.
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
      System info: host: 'slave2-ci3.trakcel.com', ip: '10.0.100.11', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-1062.9.1.el7.x86_64', java.version: '1.8.0_101'
      Driver info: driver.version: RemoteWebDriver
      Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 79.0.3945.130, chrome: {chromedriverVersion: 79.0.3945.36 (3582db32b3389..., userDataDir: /tmp/.com.google.Chrome.69SGGB}, goog:chromeOptions: {debuggerAddress: localhost:44341}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: LINUX, platformName: LINUX, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify}
      Session ID: de24c2276a0939755116bd8522833cf3
      	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:573)
      	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:609)
      	at org.openqa.selenium.remote.RemoteWebDriver.quit(RemoteWebDriver.java:452)
      	at com.TrakCel002.browserUtils.WebDriverFactory.closeBrowser(WebDriverFactory.java:70)
      	at com.TrakCel002.hooks.HookStep.stopTest(HookStep.java:41)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at cucumber.runtime.Utils$1.call(Utils.java:40)
      	at cucumber.runtime.Timeout.timeout(Timeout.java:16)
      	at cucumber.runtime.Utils.invoke(Utils.java:34)
      	at cucumber.runtime.java.JavaHookDefinition.execute(JavaHookDefinition.java:60)
      	at cucumber.runtime.Runtime.runHookIfTagsMatch(Runtime.java:224)
      	at cucumber.runtime.Runtime.runHooks(Runtime.java:212)
      	at cucumber.runtime.Runtime.runAfterHooks(Runtime.java:206)
      	at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:46)
      	at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:102)
Reply all
Reply to author
Forward
0 new messages