Getting an error when I run my test via Bamboo on Chrome (headless)

Operating System Windows Server 2012 R2
Katalon Studio Version 6.1.1
Environment (for Web testing) Chrome 73.0.3683.103

Steps to reproduce
Since Chrome was updated to version 73, my tests stopped running properly on Bamboo. I get the following error for the screenshot keyword:

Reason: com.kms.katalon.core.exception.StepFailedException: Cannot take screenshot at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.stepFailed(WebUIKeywordMain.groovy:64) at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:26) at com.kms.katalon.core.webui.keyword.builtin.TakeScreenshotKeyword.takeScreenshot(TakeScreenshotKeyword.groovy:88) at com.kms.katalon.core.webui.keyword.builtin.TakeScreenshotKeyword.execute(TakeScreenshotKeyword.groovy:71) at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:56) at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.takeScreenshot(WebUiBuiltInKeywords.groovy:2881) at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$takeScreenshot$4.call(Unknown Source) at quote.Utilities.TakeScreenshotFullPage(Utilities.groovy:263) at quote.Utilities.invokeMethod(Utilities.groovy) at com.kms.katalon.core.main.CustomKeywordDelegatingMetaClass.invokeStaticMethod(CustomKeywordDelegatingMetaClass.java:49) at DefaultQuoteCTBResponsive.run(DefaultQuoteCTBResponsive:86) at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194) at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119) at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:342) at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:333) at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:312) at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:304) at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:238) at com.kms.katalon.core.main.TestSuiteExecutor.accessTestCaseMainPhase(TestSuiteExecutor.java:129) at com.kms.katalon.core.main.TestSuiteExecutor.accessTestSuiteMainPhase(TestSuiteExecutor.java:112) at com.kms.katalon.core.main.TestSuiteExecutor.execute(TestSuiteExecutor.java:81) at com.kms.katalon.core.main.TestCaseMain.startTestSuite(TestCaseMain.java:157) at com.kms.katalon.core.main.TestCaseMain$startTestSuite$0.call(Unknown Source) at TempTestSuite1555516124493.run(TempTestSuite1555516124493.groovy:35) Caused by: org.openqa.selenium.TimeoutException: timeout: Timed out receiving message from renderer: 10.000 (Session info: headless chrome=73.0.3683.103) (Driver info: chromedriver=73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72),platform=Windows NT 6.3.9600 x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 0 milliseconds Build info: version: '3.7.1', revision: '8a0099a', time: '2017-11-06T21:07:36.161Z' System info: host: 'VAS-PRDR-CIRM01', ip: '10.1.8.18', os.name: 'Windows Server 2012 R2', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_181' Driver info: com.kms.katalon.selenium.driver.CChromeDriver Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 73.0.3683.68 (47787ec04b6e3..., userDataDir: C:\Users\SVC_BA~1\AppData\L...}, cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions: {debuggerAddress: localhost:59940}, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP, proxy: Proxy(manual, ftp=35.230.13..., 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.103, webStorageEnabled: true} Session ID: 64b119be19defdab215c2c5d5ef1b0a6 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:164) at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:600) at com.kms.katalon.selenium.driver.CChromeDriver.execute(CChromeDriver.java:20) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:657) at org.openqa.selenium.remote.RemoteWebDriver.getScreenshotAs(RemoteWebDriver.java:342) at com.kms.katalon.core.webui.util.FileUtil.takesScreenshot(FileUtil.java:27) at com.kms.katalon.core.webui.keyword.builtin.TakeScreenshotKeyword$_takeScreenshot_closure1.doCall(TakeScreenshotKeyword.groovy:89) at com.kms.katalon.core.webui.keyword.builtin.TakeScreenshotKeyword$_takeScreenshot_closure1.call(TakeScreenshotKeyword.groovy) at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:20) at com.kms.katalon.core.webui.keyword.builtin.TakeScreenshotKeyword.takeScreenshot(TakeScreenshotKeyword.groovy:88) at com.kms.katalon.core.webui.keyword.builtin.TakeScreenshotKeyword.execute(TakeScreenshotKeyword.groovy:71) at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:56) at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.takeScreenshot(WebUiBuiltInKeywords.groovy:2881) at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$takeScreenshot$4.call(Unknown Source) at quote.Utilities.TakeScreenshotFullPage(Utilities.groovy:263) at quote.Utilities.invokeMethod(Utilities.groovy) at com.kms.katalon.core.main.CustomKeywordDelegatingMetaClass.invokeStaticMethod(CustomKeywordDelegatingMetaClass.java:49) at Script1552318221271.run(Script1552318221271.groovy:86) ... 13 more

If I run the same test, on same Katalon version and on same Chrome version on local, the tests are working fine.
The issue is related to this one.

Thank you!

Hi @Andrei_Zaharia,

Your issue is a known issue of ChromeDriver when taking screenshots on Jenkins Windows. Please refer to this discussion: selenium - Timed out receiving message from renderer: 10.000 while capturing screenshot using chromedriver and chrome through Jenkins on Windows - Stack Overflow

There are two work-around solutions:

Solution 1:

Add this argument to Project Settings/ Desired Capabilities/Web UI/Chrome

args:[--disable-features=VizDisplayCompositor]

Solution 2:

Downgrade your Chrome browser to v72, and use chromedriver v2.46 or v72.0.3626.69

Thanks.

1 Like

Hi @duyluong,
I used Solution 1 and now it works. Thank you for your help!

3 Likes

Getting same error while using solution 1. Any Idea?