Getting "You need to enable JavaScript to run this app." message in Chrome headless

I’m Getting below message in chrome headless, Web page is not loaded.

Issue only in chrome headless , working fine in Chrome browser.

“You need to enable JavaScript to run this app.”

Browser Version : 109
seleniumVersion = 3.141.59

Page Source:

You need to enable JavaScript to run this app.

Tried fixing by adding Desired Capability “–enable-javascript” but not working.

Hi @prabhakaran.aruljoth, please read this post so someone can help you.

Thanks Dave

Dave, Updated the details .Kindly check.

Hi @prabhakaran.aruljoth, did you try doing a Google search for “enable JavaScript to run this app”. I found this: https://www.enable-javascript.com/

Maybe @Brandon_Hein’s post could help you figure out the correct Desired Capabilities usage: Desired Capabilities - The Missing Manual

@prabhakaran.aruljoth
The error message “You need to enable JavaScript to run this app” is usually displayed when the JavaScript on the web page is not enabled.

When running in headless mode, the chrome browser does not have the same GUI as the chrome browser. This may cause some web pages to fail to load properly because they rely on certain features of the GUI that are not present in headless mode.

One possible solution to this issue is to enable JavaScript on the web page before running your test script. You can do this by using the WebUI.executeJavaScript method and running the JavaScript code document.getElementsByTagName('html')[0].setAttribute('ng-app','');

WebUI.executeJavaScript("document.getElementsByTagName('html')[0].setAttribute('ng-app','');", [])

Another solution is to provide the option --disable-features=NetworkService,NetworkServiceInProcess to the chrome executable.

-Dwebdriver.chrome.driver=chrome_driver_path -Dwebdriver.chrome.options="--headless --disable-gpu --disable-features=NetworkService,NetworkServiceInProcess"

You can also try to run your script with different browser version and selenium version.

Please let me know if there is any other information I can provide to help you with this problem.

@waqas How to upgrade selenium version . I’m using Katalon studio 8.5.5

@prabhakaran.aruljoth

You shared the following screenshot:

I could NOT find a string “You need to enable JavaScript to run this app” anywhere in this screenshot.

I wonder why you asked us about “enabling javascript” in browser. How do you infer that it really relates to your issue?

We need to see the message string after “(Root Cause: com.kms.ka” which you chomped off.

In addition to previous advices, we may also need to see the DOM or some screenshots, in both cases, with normal browser vs headless.

How did you concluded this is the issue? Where did you ‘saw’ this error with the headless browser?
You only posted screenshot of partial error and your code.
This helps nothing.

@anon46315158 @kazurayam In Chrome headless I have printed the page source while execution. In HTML , application web elements are not available. Only “You need to enable JavaScript to run this app.” text is displayed.

In chrome, the web page loads perfectly and execution is completed successfully.

Console Log For Headless execution.

/* 2023-01-16 16:21:27.331 INFO  c.k.k.core.webui.driver.DriverFactory    - Starting 'Chrome (headless)' driver
Jan 16, 2023 4:21:27 PM org.openqa.selenium.remote.DesiredCapabilities chrome
INFO: Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()`
2023-01-16 16:21:27.339 INFO  c.k.k.c.w.util.WebDriverPropertyUtil     - User set preference: ['args', '[--window-size=300,400, --enable-javascript, --disable-gpu, --incognito, --headless, --no-sandbox, --disable-features=NetworkService,NetworkServiceInProcess]']
2023-01-16 16:21:27.359 INFO  c.k.k.core.webui.driver.DriverFactory    - Action delay is set to 0 milliseconds
Starting ChromeDriver 109.0.5414.74 (e7c5703604daa9cc128ccf5a5d3e993513758913-refs/branch-heads/5414@{#1172}) on port 33378
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
Jan 16, 2023 4:21:28 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
2023-01-16 16:21:28.948 INFO  c.k.k.core.webui.driver.DriverFactory    - sessionId = 9ce3a0691c685b507b87f37af882744f
2023-01-16 16:21:28.969 INFO  c.k.k.core.webui.driver.DriverFactory    - browser = Chrome 109.0.5414.75
2023-01-16 16:21:28.969 INFO  c.k.k.core.webui.driver.DriverFactory    - platform = Windows 10
2023-01-16 16:21:28.969 INFO  c.k.k.core.webui.driver.DriverFactory    - seleniumVersion = 3.141.59
2023-01-16 16:21:28.970 INFO  c.k.k.core.webui.driver.DriverFactory    - proxyInformation = ProxyInformation { proxyOption=NO_PROXY, proxyServerType=HTTP, username=, password=********, proxyServerAddress=, proxyServerPort=0, executionList="", isApplyToDesiredCapabilities=true }
**2023-01-16 16:21:33.425 INFO  com.kms.katalon.core.util.KeywordUtil    - Page Source** : <html lang="en"><head><meta charset="utf-8"><link rel="icon" href="/HT-favicon.ico"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="theme-color" content="#000000"><meta name="description" content="Web site created using create-react-app"><link href="https://unpkg.com/boxicons@2.0.7/css/boxicons.min.css" rel="stylesheet"><script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha256-pasqAKBDmFT4eHoN2ndd6lN370kFiGUFyTiUHWhU7k8=" crossorigin="anonymous"></script><script defer="defer" src="/static/js/main.cb226696.js"></script><link href="/static/css/main.b4b85784.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
2023-01-16 16:21:33.582 DEBUG c.runtime.formatter.CucumberReporter     - ✓ launch browser and navigate to 'GNSHotel' application url
2023-01-16 16:21:33.586 DEBUG c.runtime.formatter.CucumberReporter     - STEP enter 'staff' username and password for 'Hotel'
2023-01-16 16:21:44.681 INFO  c.k.k.c.webui.common.WebUiCommonHelper   - Unable to find the element located by 'By.xpath: //input[@type = 'text' and @name = 'username']'. Please recheck the objects properties to make sure the desired element is located. 
2023-01-16 16:21:44.709 ERROR c.k.k.core.keyword.internal.KeywordMain  - ❌ Unable to set text '910972080@hotelautomation' of object 'Object Repository/Web/LoginPage/input_Username' (Root cause: com.kms.katalon.core.exception.StepFailedException: Unable to set text '910972080@hotelautomation' of object 'Object Repository/Web/LoginPage/input_Username'
	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.SetTextKeyword.setText(SetTextKeyword.groovy:66)
	at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword.execute(SetTextKeyword.groovy:37)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:74)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.setText(WebUiBuiltInKeywords.groovy:980)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$setText$2.call(Unknown Source)
	at com.gns.steps.LoginSteps.enter_username_and_password(LoginSteps.groovy:66)
	at cucumber.runtime.Utils$1.call(Utils.java:26)
	at cucumber.runtime.Timeout.timeout(Timeout.java:16)
	at cucumber.runtime.Utils.invoke(Utils.java:20)
	at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:48)
	at cucumber.runtime.PickleStepDefinitionMatch.runStep(PickleStepDefinitionMatch.java:50)
	at cucumber.runner.TestStep.executeStep(TestStep.java:68)
	at cucumber.runner.TestStep.run(TestStep.java:50)
	at cucumber.runner.PickleStepTestStep.run(PickleStepTestStep.java:53)
	at cucumber.runner.TestCase.run(TestCase.java:47)
	at cucumber.runner.Runner.runPickle(Runner.java:44)
	at cucumber.runtime.Runtime.runFeature(Runtime.java:120)
	at cucumber.runtime.Runtime.run(Runtime.java:106)
	at cucumber.api.cli.Main.run(Main.java:35)
	at cucumber.api.cli.Main$run.call(Unknown Source)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$_runFeatureFolderWithTags_closure4.doCall(CucumberBuiltinKeywords.groovy:449)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$_runFeatureFolderWithTags_closure4.doCall(CucumberBuiltinKeywords.groovy)
	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:74)
	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:68)
	at com.kms.katalon.core.keyword.internal.KeywordMain$runKeyword.call(Unknown Source)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords.runFeatureFolderWithTags(CucumberBuiltinKeywords.groovy:409)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$runFeatureFolderWithTags.callStatic(Unknown Source)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords.runFeatureFolderWithTags(CucumberBuiltinKeywords.groovy:533)
	at regression.run(regression:7)
	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:448)
	at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:439)
	at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:418)
	at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:410)
	at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:285)
	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:142)
	at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
	at TempTestCase1673875283214.run(TempTestCase1673875283214.groovy:25)
Caused by: com.kms.katalon.core.webui.exception.WebElementNotFoundException: Web element with id: 'Object Repository/Web/LoginPage/input_Username' located by '//input[@type = 'text' and @name = 'username']' not found
	at com.kms.katalon.core.webui.common.WebUiCommonHelper.findWebElement(WebUiCommonHelper.java:1370)
	at com.kms.katalon.core.webui.keyword.internal.WebUIAbstractKeyword.findWebElement(WebUIAbstractKeyword.groovy:27)
	at com.kms.katalon.core.webui.keyword.internal.WebUIAbstractKeyword.findWebElement(WebUIAbstractKeyword.groovy:26)
	at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword$_setText_closure1.doCall(SetTextKeyword.groovy:51)
	at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword$_setText_closure1.call(SetTextKeyword.groovy)
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:20)
	at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword.setText(SetTextKeyword.groovy:66)
	at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword.execute(SetTextKeyword.groovy:37)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:74)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.setText(WebUiBuiltInKeywords.groovy:980)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$setText$2.call(Unknown Source)
	at com.gns.steps.LoginSteps.enter_username_and_password(LoginSteps.groovy:66)
	at cucumber.runtime.Utils$1.call(Utils.java:26)
	at cucumber.runtime.Timeout.timeout(Timeout.java:16)
	at cucumber.runtime.Utils.invoke(Utils.java:20)
	at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:48)
	at cucumber.runtime.PickleStepDefinitionMatch.runStep(PickleStepDefinitionMatch.java:50)
	at cucumber.runner.TestStep.executeStep(TestStep.java:68)
	at cucumber.runner.TestStep.run(TestStep.java:50)
	at cucumber.runner.PickleStepTestStep.run(PickleStepTestStep.java:53)
	at cucumber.runner.TestCase.run(TestCase.java:47)
	at cucumber.runner.Runner.runPickle(Runner.java:44)
	at cucumber.runtime.Runtime.runFeature(Runtime.java:120)
	at cucumber.runtime.Runtime.run(Runtime.java:106)
	at cucumber.api.cli.Main.run(Main.java:35)
	at cucumber.api.cli.Main$run.call(Unknown Source)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$_runFeatureFolderWithTags_closure4.doCall(CucumberBuiltinKeywords.groovy:449)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$_runFeatureFolderWithTags_closure4.doCall(CucumberBuiltinKeywords.groovy)
	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:74)
	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:68)
	at com.kms.katalon.core.keyword.internal.KeywordMain$runKeyword.call(Unknown Source)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords.runFeatureFolderWithTags(CucumberBuiltinKeywords.groovy:409)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$runFeatureFolderWithTags.callStatic(Unknown Source)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords.runFeatureFolderWithTags(CucumberBuiltinKeywords.groovy:533)
	at Script1664278019600.run(Script1664278019600.groovy:7)
	... 10 more
)
2023-01-16 16:21:55.768 INFO  c.k.k.c.webui.common.WebUiCommonHelper   - Unable to find the element located by 'By.xpath: //input[@type = 'password' and @name = 'password']'. Please recheck the objects properties to make sure the desired element is located. 
2023-01-16 16:21:55.785 ERROR c.k.k.core.keyword.internal.KeywordMain  - ❌ Unable to set text 'P@ssw0rd' of object 'Object Repository/Web/LoginPage/input_Password' (Root cause: com.kms.katalon.core.exception.StepFailedException: Unable to set text 'P@ssw0rd' of object 'Object Repository/Web/LoginPage/input_Password'
	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.SetTextKeyword.setText(SetTextKeyword.groovy:66)
	at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword.execute(SetTextKeyword.groovy:37)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:74)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.setText(WebUiBuiltInKeywords.groovy:980)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$setText$2.call(Unknown Source)
	at com.gns.steps.LoginSteps.enter_username_and_password(LoginSteps.groovy:81)
	at cucumber.runtime.Utils$1.call(Utils.java:26)
	at cucumber.runtime.Timeout.timeout(Timeout.java:16)
	at cucumber.runtime.Utils.invoke(Utils.java:20)
	at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:48)
	at cucumber.runtime.PickleStepDefinitionMatch.runStep(PickleStepDefinitionMatch.java:50)
	at cucumber.runner.TestStep.executeStep(TestStep.java:68)
	at cucumber.runner.TestStep.run(TestStep.java:50)
	at cucumber.runner.PickleStepTestStep.run(PickleStepTestStep.java:53)
	at cucumber.runner.TestCase.run(TestCase.java:47)
	at cucumber.runner.Runner.runPickle(Runner.java:44)
	at cucumber.runtime.Runtime.runFeature(Runtime.java:120)
	at cucumber.runtime.Runtime.run(Runtime.java:106)
	at cucumber.api.cli.Main.run(Main.java:35)
	at cucumber.api.cli.Main$run.call(Unknown Source)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$_runFeatureFolderWithTags_closure4.doCall(CucumberBuiltinKeywords.groovy:449)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$_runFeatureFolderWithTags_closure4.doCall(CucumberBuiltinKeywords.groovy)
	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:74)
	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:68)
	at com.kms.katalon.core.keyword.internal.KeywordMain$runKeyword.call(Unknown Source)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords.runFeatureFolderWithTags(CucumberBuiltinKeywords.groovy:409)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$runFeatureFolderWithTags.callStatic(Unknown Source)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords.runFeatureFolderWithTags(CucumberBuiltinKeywords.groovy:533)
	at regression.run(regression:7)
	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:448)
	at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:439)
	at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:418)
	at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:410)
	at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:285)
	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:142)
	at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
	at TempTestCase1673875283214.run(TempTestCase1673875283214.groovy:25)
Caused by: com.kms.katalon.core.webui.exception.WebElementNotFoundException: Web element with id: 'Object Repository/Web/LoginPage/input_Password' located by '//input[@type = 'password' and @name = 'password']' not found
	at com.kms.katalon.core.webui.common.WebUiCommonHelper.findWebElement(WebUiCommonHelper.java:1370)
	at com.kms.katalon.core.webui.keyword.internal.WebUIAbstractKeyword.findWebElement(WebUIAbstractKeyword.groovy:27)
	at com.kms.katalon.core.webui.keyword.internal.WebUIAbstractKeyword.findWebElement(WebUIAbstractKeyword.groovy:26)
	at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword$_setText_closure1.doCall(SetTextKeyword.groovy:51)
	at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword$_setText_closure1.call(SetTextKeyword.groovy)
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:20)
	at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword.setText(SetTextKeyword.groovy:66)
	at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword.execute(SetTextKeyword.groovy:37)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:74)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.setText(WebUiBuiltInKeywords.groovy:980)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$setText$2.call(Unknown Source)
	at com.gns.steps.LoginSteps.enter_username_and_password(LoginSteps.groovy:81)
	at cucumber.runtime.Utils$1.call(Utils.java:26)
	at cucumber.runtime.Timeout.timeout(Timeout.java:16)
	at cucumber.runtime.Utils.invoke(Utils.java:20)
	at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:48)
	at cucumber.runtime.PickleStepDefinitionMatch.runStep(PickleStepDefinitionMatch.java:50)
	at cucumber.runner.TestStep.executeStep(TestStep.java:68)
	at cucumber.runner.TestStep.run(TestStep.java:50)
	at cucumber.runner.PickleStepTestStep.run(PickleStepTestStep.java:53)
	at cucumber.runner.TestCase.run(TestCase.java:47)
	at cucumber.runner.Runner.runPickle(Runner.java:44)
	at cucumber.runtime.Runtime.runFeature(Runtime.java:120)
	at cucumber.runtime.Runtime.run(Runtime.java:106)
	at cucumber.api.cli.Main.run(Main.java:35)
	at cucumber.api.cli.Main$run.call(Unknown Source)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$_runFeatureFolderWithTags_closure4.doCall(CucumberBuiltinKeywords.groovy:449)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$_runFeatureFolderWithTags_closure4.doCall(CucumberBuiltinKeywords.groovy)
	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:74)
	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:68)
	at com.kms.katalon.core.keyword.internal.KeywordMain$runKeyword.call(Unknown Source)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords.runFeatureFolderWithTags(CucumberBuiltinKeywords.groovy:409)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$runFeatureFolderWithTags.callStatic(Unknown Source)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords.runFeatureFolderWithTags(CucumberBuiltinKeywords.groovy:533)
	at Script1664278019600.run(Script1664278019600.groovy:7)
	... 10 more
)
2023-01-16 16:21:55.790 ERROR c.runtime.formatter.CucumberReporter     - ❌ enter 'staff' username and password for 'Hotel' FAILED.
Reason:
com.kms.katalon.core.exception.StepFailedException: Unable to set text '910972080@hotelautomation' of object 'Object Repository/Web/LoginPage/input_Username' (Root cause: com.kms.katalon.core.exception.StepFailedException: Unable to set text '910972080@hotelautomation' of object 'Object Repository/Web/LoginPage/input_Username'
	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.SetTextKeyword.setText(SetTextKeyword.groovy:66)
	at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword.execute(SetTextKeyword.groovy:37)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:74)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.setText(WebUiBuiltInKeywords.groovy:980)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$setText$2.call(Unknown Source)
	at com.gns.steps.LoginSteps.enter_username_and_password(LoginSteps.groovy:66)
	at cucumber.runtime.Utils$1.call(Utils.java:26)
	at cucumber.runtime.Timeout.timeout(Timeout.java:16)
	at cucumber.runtime.Utils.invoke(Utils.java:20)
	at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:48)
	at cucumber.runtime.PickleStepDefinitionMatch.runStep(PickleStepDefinitionMatch.java:50)
	at cucumber.runner.TestStep.executeStep(TestStep.java:68)
	at cucumber.runner.TestStep.run(TestStep.java:50)
	at cucumber.runner.PickleStepTestStep.run(PickleStepTestStep.java:53)
	at cucumber.runner.TestCase.run(TestCase.java:47)
	at cucumber.runner.Runner.runPickle(Runner.java:44)
	at cucumber.runtime.Runtime.runFeature(Runtime.java:120)
	at cucumber.runtime.Runtime.run(Runtime.java:106)
	at cucumber.api.cli.Main.run(Main.java:35)
	at cucumber.api.cli.Main$run.call(Unknown Source)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$_runFeatureFolderWithTags_closure4.doCall(CucumberBuiltinKeywords.groovy:449)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$_runFeatureFolderWithTags_closure4.doCall(CucumberBuiltinKeywords.groovy)
	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:74)
	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:68)
	at com.kms.katalon.core.keyword.internal.KeywordMain$runKeyword.call(Unknown Source)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords.runFeatureFolderWithTags(CucumberBuiltinKeywords.groovy:409)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$runFeatureFolderWithTags.callStatic(Unknown Source)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords.runFeatureFolderWithTags(CucumberBuiltinKeywords.groovy:533)
	at regression.run(regression:7)
	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:448)
	at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:439)
	at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:418)
	at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:410)
	at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:285)
	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:142)
	at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
	at TempTestCase1673875283214.run(TempTestCase1673875283214.groovy:25)
Caused by: com.kms.katalon.core.webui.exception.WebElementNotFoundException: Web element with id: 'Object Repository/Web/LoginPage/input_Username' located by '//input[@type = 'text' and @name = 'username']' not found
	at com.kms.katalon.core.webui.common.WebUiCommonHelper.findWebElement(WebUiCommonHelper.java:1370)
	at com.kms.katalon.core.webui.keyword.internal.WebUIAbstractKeyword.findWebElement(WebUIAbstractKeyword.groovy:27)
	at com.kms.katalon.core.webui.keyword.internal.WebUIAbstractKeyword.findWebElement(WebUIAbstractKeyword.groovy:26)
	at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword$_setText_closure1.doCall(SetTextKeyword.groovy:51)
	at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword$_setText_closure1.call(SetTextKeyword.groovy)
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:20)
	at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword.setText(SetTextKeyword.groovy:66)
	at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword.execute(SetTextKeyword.groovy:37)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:74)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.setText(WebUiBuiltInKeywords.groovy:980)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$setText$2.call(Unknown Source)
	at com.gns.steps.LoginSteps.enter_username_and_password(LoginSteps.groovy:66)
	at cucumber.runtime.Utils$1.call(Utils.java:26)
	at cucumber.runtime.Timeout.timeout(Timeout.java:16)
	at cucumber.runtime.Utils.invoke(Utils.java:20)
	at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:48)
	at cucumber.runtime.PickleStepDefinitionMatch.runStep(PickleStepDefinitionMatch.java:50)
	at cucumber.runner.TestStep.executeStep(TestStep.java:68)
	at cucumber.runner.TestStep.run(TestStep.java:50)
	at cucumber.runner.PickleStepTestStep.run(PickleStepTestStep.java:53)
	at cucumber.runner.TestCase.run(TestCase.java:47)
	at cucumber.runner.Runner.runPickle(Runner.java:44)
	at cucumber.runtime.Runtime.runFeature(Runtime.java:120)
	at cucumber.runtime.Runtime.run(Runtime.java:106)
	at cucumber.api.cli.Main.run(Main.java:35)
	at cucumber.api.cli.Main$run.call(Unknown Source)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$_runFeatureFolderWithTags_closure4.doCall(CucumberBuiltinKeywords.groovy:449)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$_runFeatureFolderWithTags_closure4.doCall(CucumberBuiltinKeywords.groovy)
	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:74)
	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:68)
	at com.kms.katalon.core.keyword.internal.KeywordMain$runKeyword.call(Unknown Source)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords.runFeatureFolderWithTags(CucumberBuiltinKeywords.groovy:409)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$runFeatureFolderWithTags.callStatic(Unknown Source)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords.runFeatureFolderWithTags(CucumberBuiltinKeywords.groovy:533)
	at Script1664278019600.run(Script1664278019600.groovy:7)
	... 10 more
)
	at com.kms.katalon.core.keyword.internal.KeywordMain.stepFailed(KeywordMain.groovy:39)
	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.SetTextKeyword.setText(SetTextKeyword.groovy:66)
	at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword.execute(SetTextKeyword.groovy:37)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:74)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords.setText(WebUiBuiltInKeywords.groovy:980)
	at com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords$setText$2.call(Unknown Source)
	at com.gns.steps.LoginSteps.enter_username_and_password(LoginSteps.groovy:66)
	at cucumber.runtime.Utils$1.call(Utils.java:26)
	at cucumber.runtime.Timeout.timeout(Timeout.java:16)
	at cucumber.runtime.Utils.invoke(Utils.java:20)
	at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:48)
	at cucumber.runtime.PickleStepDefinitionMatch.runStep(PickleStepDefinitionMatch.java:50)
	at cucumber.runner.TestStep.executeStep(TestStep.java:68)
	at cucumber.runner.TestStep.run(TestStep.java:50)
	at cucumber.runner.PickleStepTestStep.run(PickleStepTestStep.java:53)
	at cucumber.runner.TestCase.run(TestCase.java:47)
	at cucumber.runner.Runner.runPickle(Runner.java:44)
	at cucumber.runtime.Runtime.runFeature(Runtime.java:120)
	at cucumber.runtime.Runtime.run(Runtime.java:106)
	at cucumber.api.cli.Main.run(Main.java:35)
	at cucumber.api.cli.Main$run.call(Unknown Source)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$_runFeatureFolderWithTags_closure4.doCall(CucumberBuiltinKeywords.groovy:449)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$_runFeatureFolderWithTags_closure4.doCall(CucumberBuiltinKeywords.groovy)
	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:74)
	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:68)
	at com.kms.katalon.core.keyword.internal.KeywordMain$runKeyword.call(Unknown Source)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords.runFeatureFolderWithTags(CucumberBuiltinKeywords.groovy:409)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords$runFeatureFolderWithTags.callStatic(Unknown Source)
	at com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords.runFeatureFolderWithTags(CucumberBuiltinKeywords.groovy:533)
	at regression.run(regression:7)
	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:448)
	at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:439)
	at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:418)
	at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:410)
	at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:285)
	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:142)
	at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
	at TempTestCase1673875283214.run(TempTestCase1673875283214.groovy:25)
Caused by: com.kms.katalon.core.exception.StepFailedException: Unable to set text '910972080@hotelautomation' of object 'Object Repository/Web/LoginPage/input_Username'
	... 41 more
Caused by: com.kms.katalon.core.webui.exception.WebElementNotFoundException: Web element with id: 'Object Repository/Web/LoginPage/input_Username' located by '//input[@type = 'text' and @name = 'username']' not found
	at com.kms.katalon.core.webui.common.WebUiCommonHelper.findWebElement(WebUiCommonHelper.java:1370)
	at com.kms.katalon.core.webui.keyword.internal.WebUIAbstractKeyword.findWebElement(WebUIAbstractKeyword.groovy:27)
	at com.kms.katalon.core.webui.keyword.internal.WebUIAbstractKeyword.findWebElement(WebUIAbstractKeyword.groovy:26)
	at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword$_setText_closure1.doCall(SetTextKeyword.groovy:51)
	at com.kms.katalon.core.webui.keyword.builtin.SetTextKeyword$_setText_closure1.call(SetTextKeyword.groovy)
	at com.kms.katalon.core.webui.keyword.internal.WebUIKeywordMain.runKeyword(WebUIKeywordMain.groovy:20)
	... 39 more

2023-01-16 16:21:55.796 DEBUG c.runtime.formatter.CucumberReporter     - STEP click 'Login' button
2023-01-16 16:21:55.797 WARN  c.runtime.formatter.CucumberReporter     - SKIP click 'Login' button
2023-01-16 16:21:55.798 DEBUG c.runtime.formatter.CucumberReporter     - STEP verify 'Confirm TOTP Code' text is displayed
2023-01-16 16:21:55.799 WARN  c.runtime.formatter.CucumberReporter     - SKIP verify 'Confirm TOTP Code' text is displayed */ 

@prabhakaran.aruljoth please edit your last post and use propper code formatting, if you like to get more help.
Usually, i ignore such.
If you don’t care about my eyes, why should i care about your issue?

How did you do this?
Please show your code.

Just F.Y.I

This maybe because the website detects it’s a headless browser and disables some features.

To get around it you can spoof (as much as possible) the identity of the headless browser to trick the website.

I don’t know if your Application Under Test is doing this disturbance.


I would quit following this, as I do not think I can contribute any more.

@anon46315158 Apologies i’m new to the forum. Edited the post

@kazurayam

Page source is available in the log mentioned above.

Mhm … ok. For the sake of our mind sanity, where exactly is the ‘page source’ you posted?
Call me an idiot, but with your last reply i can see, yet again, an useless code snippet.

I give up.

@prabhakaran.aruljoth It’s not often I need to say this, but your posts are very misleading. Please try to be as helpful to those trying to help you as possible.

@anon46315158 here is the purported source for the page (buried in the log file above)

<html lang="en">
<head>
<meta charset="utf-8">
<link rel="icon" href="/HT-favicon.ico">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="theme-color" content="#000000">
<meta name="description" content="Web site created using create-react-app">
<link href="https://unpkg.com/boxicons@2.0.7/css/boxicons.min.css" rel="stylesheet">
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha256-pasqAKBDmFT4eHoN2ndd6lN370kFiGUFyTiUHWhU7k8=" crossorigin="anonymous"></script>
<script defer="defer" src="/static/js/main.cb226696.js"></script>
<link href="/static/css/main.b4b85784.css" rel="stylesheet">
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root">
</div>
</body>
</html>

If that is indeed the source…

  1. The message about enabling JavaScript is coming from the <noscript> element so I’d suggest it could be ignored.
  2. The HTML content of the page is likely built from the JavaScript sources since the HTML itself is almost non-existent.

@prabhakaran.aruljoth you need to learn about the page you are testing and not expect us to decipher it for you. This entire thread is a huge waste of people’s time containing numerous red herrings, not least of which, the Topic title and all the talk about desired capabilities.

My advice for what it’s worth. Contact the developers. Ask them to verify the operation of their code in a headless environment. It is my suspicion that something they are doing is breaking the page and you are unlikely to know (or have the skills to find out) what that is.

Let me know if you’re satisfied with my response and I’ll close this thread.

Ah, ok. Well, it may be one of the case like in the link posted by @kazurayam .
I will re-post the link:

Looks like the AUT is misbehaving if it detects the headless mode, so you have to disable somehow this detection.
Take a look at those workarounds proposed.
See also more discussions on this matter:

Altough there is a mixture of python and java solutions, you will figure it out eventually, if you reach out to the development team also.

Note that, the topics are old, some of the flags propposed may be no longer available.
You can find a current list of available switches for Chrome here:

https://peter.sh/experiments/chromium-command-line-switches/

Option 2: simply use normal browser mode for testing