Chrome Headless Test suite - Failure

When i run Katalon Test suite with chrome headless browser,it is failling with the below exception.
com.kms.katalon.core.exception.StepFailedException

But at the same time if i run the same test case (from Test cases) with chrome headless - it works good.

Can any one help me on this please.

Hi @saminkit,

Please share the full console log here

Here is the log from console,looks like it is failing in the place where i used two factor authentication in Headless Chrome.

Appreciate your help

2020-11-18 11:42:25.102 INFO  c.k.katalon.core.main.TestSuiteExecutor  - START Test Suites/Di Sanity
2020-11-18 11:42:25.157 INFO  c.k.katalon.core.main.TestSuiteExecutor  - hostName = samselvaraj-mbpr-16 - 192.168.0.10
2020-11-18 11:42:25.158 INFO  c.k.katalon.core.main.TestSuiteExecutor  - os = Mac OS X 64bit
2020-11-18 11:42:25.158 INFO  c.k.katalon.core.main.TestSuiteExecutor  - hostAddress = 192.168.0.10
2020-11-18 11:42:25.159 INFO  c.k.katalon.core.main.TestSuiteExecutor  - katalonVersion = 7.7.2.205
2020-11-18 11:42:25.280 INFO  c.k.katalon.core.main.TestCaseExecutor   - --------------------
2020-11-18 11:42:25.280 INFO  c.k.katalon.core.main.TestCaseExecutor   - START Test Cases/Sanity/Validate Org Login
2020-11-18 11:42:25.488 DEBUG testcase.Validate Org Login              - 1: openBrowser("")
2020-11-18 11:42:25.642 INFO  c.k.k.core.webui.driver.DriverFactory    - Starting 'Chrome (headless)' driver
Nov 18, 2020 11:42:25 AM org.openqa.selenium.remote.DesiredCapabilities chrome
INFO: Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()`
2020-11-18 11:42:25.668 INFO  c.k.k.core.webui.driver.DriverFactory    - Action delay is set to 0 milliseconds
Starting ChromeDriver 86.0.4240.22 (398b0743353ff36fb1b82468f63a3a93b4e2e89e-refs/branch-heads/4240@{#378}) on port 35906
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
[1605717746.192][WARNING]: FromSockAddr failed on netmask
ChromeDriver was started successfully.
Nov 18, 2020 11:42:26 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
2020-11-18 11:42:26.937 INFO  c.k.k.core.webui.driver.DriverFactory    - sessionId = dc51d407d697e3f5fb54f3c8c57a539f
2020-11-18 11:42:26.948 INFO  c.k.k.core.webui.driver.DriverFactory    - browser = Chrome 86.0.4240.198
2020-11-18 11:42:26.948 INFO  c.k.k.core.webui.driver.DriverFactory    - platform = Mac OS X
2020-11-18 11:42:26.949 INFO  c.k.k.core.webui.driver.DriverFactory    - seleniumVersion = 3.141.59
2020-11-18 11:42:26.949 INFO  c.k.k.core.webui.driver.DriverFactory    - proxyInformation = ProxyInformation { proxyOption=NO_PROXY, proxyServerType=HTTP, username=, password=********, proxyServerAddress=, proxyServerPort=0, executionList="", isApplyToDesiredCapabilities=true }
2020-11-18 11:42:26.955 DEBUG testcase.Validate Org Login              - 2: navigateToUrl(findTestData("Sanity_Test_Data").getValue("URL", 1))
2020-11-18 11:42:28.517 DEBUG testcase.Validate Org Login              - 3: setText(findTestObject("Okta Page/input_Username_username"), findTestData("Sanity_Test_Data").getValue("User_name", 1))
2020-11-18 11:42:28.849 DEBUG testcase.Validate Org Login              - 4: setEncryptedText(findTestObject("Okta Page/input_Password_password"), "waL+o4LnhJPT8v9B42tyNA==")
2020-11-18 11:42:28.980 DEBUG testcase.Validate Org Login              - 5: click(findTestObject("Okta Page/input_Remember me_okta-signin-submit"))
2020-11-18 11:42:29.055 DEBUG testcase.Validate Org Login              - 6: setText(findTestObject("Okta Page/input_Enter Code_answer"), auth.readcode.readauthtoken())
2020-11-18 11:42:29.084 INFO  k.k.c.m.CustomKeywordDelegatingMetaClass - auth.readcode.readauthtoken is PASSED
2020-11-18 11:42:29.900 DEBUG testcase.Validate Org Login              - 7: click(findTestObject("Okta Page/input_Do not challenge me on this device fo_cb75ba"))
2020-11-18 11:42:29.969 DEBUG testcase.Validate Org Login              - 8: click(findTestObject("Okta Page/CMC di tile"))
2020-11-18 11:42:31.872 ERROR c.k.k.core.keyword.internal.KeywordMain  - ❌ Unable to click on object 'Object Repository/Okta Page/CMC di tile' (Root cause: com.kms.katalon.core.exception.StepFailedException: Unable to click on object 'Object Repository/Okta Page/CMC di tile'
	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.ClickKeyword.click(ClickKeyword.groovy:76)
	at com.kms.katalon.core.webui.keyword.builtin.ClickKeyword.execute(ClickKeyword.groovy:43)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:73)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.click(WebUiBuiltInKeywords.groovy:617)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$click$3.call(Unknown Source)
	at Validate Org Login.run(Validate Org Login:34)
	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:339)
	at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:330)
	at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:309)
	at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:301)
	at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:235)
	at com.kms.katalon.core.main.TestSuiteExecutor.accessTestCaseMainPhase(TestSuiteExecutor.java:191)
	at com.kms.katalon.core.main.TestSuiteExecutor.accessTestSuiteMainPhase(TestSuiteExecutor.java:141)
	at com.kms.katalon.core.main.TestSuiteExecutor.execute(TestSuiteExecutor.java:90)
	at com.kms.katalon.core.main.TestCaseMain.startTestSuite(TestCaseMain.java:157)
	at com.kms.katalon.core.main.TestCaseMain$startTestSuite$0.call(Unknown Source)
	at TempTestSuite1605717742026.run(TempTestSuite1605717742026.groovy:39)
Caused by: org.openqa.selenium.ElementNotInteractableException: element not interactable
  (Session info: headless chrome=86.0.4240.198)
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'US-C02C91K6MD6R', ip: 'fe80:0:0:0:420:d05d:df27:7aaa%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.15.7', java.version: '1.8.0_181'
Driver info: com.kms.katalon.selenium.driver.CChromeDriver
Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 86.0.4240.198, chrome: {chromedriverVersion: 86.0.4240.22 (398b0743353ff..., userDataDir: /var/folders/nv/rlpt63k50ws...}, goog:chromeOptions: {debuggerAddress: localhost:59233}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: MAC, platformName: MAC, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true}
Session ID: dc51d407d697e3f5fb54f3c8c57a539f
	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 com.kms.katalon.selenium.driver.CChromeDriver.execute(CChromeDriver.java:19)
	at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285)
	at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84)
	at org.openqa.selenium.support.events.EventFiringWebDriver$EventFiringWebElement.lambda$new$0(EventFiringWebDriver.java:404)
	at com.sun.proxy.$Proxy10.click(Unknown Source)
	at org.openqa.selenium.support.events.EventFiringWebDriver$EventFiringWebElement.click(EventFiringWebDriver.java:417)
	at com.kms.katalon.core.webui.keyword.builtin.ClickKeyword$_click_closure1.doCall(ClickKeyword.groovy:69)
	at com.kms.katalon.core.webui.keyword.builtin.ClickKeyword$_click_closure1.call(ClickKeyword.groovy)
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:20)
	at com.kms.katalon.core.webui.keyword.builtin.ClickKeyword.click(ClickKeyword.groovy:76)
	at com.kms.katalon.core.webui.keyword.builtin.ClickKeyword.execute(ClickKeyword.groovy:43)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:73)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.click(WebUiBuiltInKeywords.groovy:617)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$click$3.call(Unknown Source)
	at Script1593551155332.run(Script1593551155332.groovy:34)
	... 13 more
)
2020-11-18 11:42:31.875 ERROR c.k.katalon.core.main.TestCaseExecutor   - ❌ Test Cases/Sanity/Validate Org Login FAILED.
Reason:
com.kms.katalon.core.exception.StepFailedException: Unable to click on object 'Object Repository/Okta Page/CMC di tile'
	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.ClickKeyword.click(ClickKeyword.groovy:76)
	at com.kms.katalon.core.webui.keyword.builtin.ClickKeyword.execute(ClickKeyword.groovy:43)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:73)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.click(WebUiBuiltInKeywords.groovy:617)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$click$3.call(Unknown Source)
	at Validate Org Login.run(Validate Org Login:34)
	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:339)
	at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:330)
	at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:309)
	at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:301)
	at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:235)
	at com.kms.katalon.core.main.TestSuiteExecutor.accessTestCaseMainPhase(TestSuiteExecutor.java:191)
	at com.kms.katalon.core.main.TestSuiteExecutor.accessTestSuiteMainPhase(TestSuiteExecutor.java:141)
	at com.kms.katalon.core.main.TestSuiteExecutor.execute(TestSuiteExecutor.java:90)
	at com.kms.katalon.core.main.TestCaseMain.startTestSuite(TestCaseMain.java:157)
	at com.kms.katalon.core.main.TestCaseMain$startTestSuite$0.call(Unknown Source)
	at TempTestSuite1605717742026.run(TempTestSuite1605717742026.groovy:39)
Caused by: org.openqa.selenium.ElementNotInteractableException: element not interactable
  (Session info: headless chrome=86.0.4240.198)
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'US-C02C91K6MD6R', ip: 'fe80:0:0:0:420:d05d:df27:7aaa%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.15.7', java.version: '1.8.0_181'
Driver info: com.kms.katalon.selenium.driver.CChromeDriver
Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 86.0.4240.198, chrome: {chromedriverVersion: 86.0.4240.22 (398b0743353ff..., userDataDir: /var/folders/nv/rlpt63k50ws...}, goog:chromeOptions: {debuggerAddress: localhost:59233}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: MAC, platformName: MAC, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true}
Session ID: dc51d407d697e3f5fb54f3c8c57a539f
	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 com.kms.katalon.selenium.driver.CChromeDriver.execute(CChromeDriver.java:19)
	at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285)
	at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84)
	at org.openqa.selenium.support.events.EventFiringWebDriver$EventFiringWebElement.lambda$new$0(EventFiringWebDriver.java:404)
	at com.sun.proxy.$Proxy10.click(Unknown Source)
	at org.openqa.selenium.support.events.EventFiringWebDriver$EventFiringWebElement.click(EventFiringWebDriver.java:417)
	at com.kms.katalon.core.webui.keyword.builtin.ClickKeyword$_click_closure1.doCall(ClickKeyword.groovy:69)
	at com.kms.katalon.core.webui.keyword.builtin.ClickKeyword$_click_closure1.call(ClickKeyword.groovy)
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:20)
	... 19 more

2020-11-18 11:42:31.878 INFO  c.k.katalon.core.main.TestCaseExecutor   - END Test Cases/Sanity/Validate Org Login
2020-11-18 11:42:31.953 INFO  com.kms.katalon.core.util.KeywordUtil    - Start generating HTML report folder at: /Users/samselvaraj-mbpr-16/Desktop/CMC/CMC sanity/CMC Sanity Suite/Reports/20201118_114222/Di Sanity/20201118_114222...
2020-11-18 11:42:31.999 INFO  com.kms.katalon.core.util.KeywordUtil    - HTML report generated
2020-11-18 11:42:32.000 INFO  com.kms.katalon.core.util.KeywordUtil    - Start generating CSV report folder at: /Users/samselvaraj-mbpr-16/Desktop/CMC/CMC sanity/CMC Sanity Suite/Reports/20201118_114222/Di Sanity/20201118_114222...
2020-11-18 11:42:32.012 INFO  com.kms.katalon.core.util.KeywordUtil    - CSV report generated
2020-11-18 11:42:32.012 INFO  com.kms.katalon.core.util.KeywordUtil    - Start generating PDF report folder at: /Users/samselvaraj-mbpr-16/Desktop/CMC/CMC sanity/CMC Sanity Suite/Reports/20201118_114222/Di Sanity/20201118_114222...
2020-11-18 11:42:36.155 INFO  com.kms.katalon.core.util.KeywordUtil    - PDF report generated
2020-11-18 11:42:36.259 INFO  c.k.katalon.core.main.TestSuiteExecutor  - --------------------
2020-11-18 11:42:36.259 INFO  c.k.katalon.core.main.TestSuiteExecutor  - END Test Suites/Di Sanity
2020-11-18 11:42:36.259 INFO  c.k.katalon.core.main.TestSuiteExecutor  - ====================

Guys,Kindly help if you have any findings!

@saminkit

For headless mode, you should add Scroll to Element and Wait for Element Clickable keyword before clicking on the element

import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI

WebUI.scrollToElement(findTestObject('object id'), 10)
WebUI.waitForElementClickable(findTestObject('object id'), 10)

Thanks,Do i need to add for each clickable keyword throughout all the cases,Does it affect regular Chrome execution?