We have an Angular application which we are testing using Selenium Web Driver(version). We have performed this testing in 2 modes viz., Selenium hub n spoke model where automation binary is running on Linux server, and application is projected on a Windows machine. And second is, having both automation binary run and application projection on the Linux server itself using Chrome with headless mode. We have observed that in the second approach it's taking more time than the first one. Also, the browser crashes intermittently.
Versions of components as follows:-
- Chrome version -> 83.0.4103.61
- Selenium version -> 3.14.0
- Angular version -> 5.2.11
- Linux server OS version -> CentOS Linux release 7.6.1810 (Core) Do you know if a specified version of Chrome is having any issue when running Selenium automation on headless mode? If NO, can you please suggest a way to resolve this issue?
Below is the error stack trace:-
java.lang.AssertionError: org.openqa.selenium.WebDriverException: chrome not reachable
(Session info: headless chrome=83.0.4103.61)
Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:19:58.91Z'
System info: host: 'rduqa01', ip: '192.168.160.69', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-957.el7.x86_64', java.version: '1.8.0_181'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 83.0.4103.61, chrome: {chromedriverVersion: 83.0.4103.39 (ccbf011cb2d2b..., userDataDir: /tmp/.com.google.Chrome.SoqORf}, goog:chromeOptions: {debuggerAddress: localhost:16303}, 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, webauthn:virtualAuthenticators: true}
Session ID: 3a7b3dd65ea01f9eba09d6f6bc11b7b8
*** Element info: {Using=id, value=back-to-main-menu}
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.assertTrue(Assert.java:41)