Chrome browser not starting on jenkins in headless mode on linux

Viewed 21

Previously all my automation testcases working fine on jenkins using chromedriver version 73. After that client updated jenkins (version 2.346.3) and related plugins. All my testcases started failing. I thought it was because of Chromedriver and chrome browser mismatch issue. So I updated Chromedriver to the version 105.0.5195.52 but it is still failing on same point. Chrome browser version on linux is 105. This is the code I have to start chrome browser.Chrome driver starting successfully but it is not able to interact with chrome browser and getting null.

String platform = System.getProperty("os.name");
     
        String pathToDriver = null;
        if (platform.contains("Win")) {
            pathToDriver = System.getProperty("path.to.driver") + "chromedriver235/chromedriver.exe";
        } else if (platform.contains("Linux")) {
            pathToDriver = System.getProperty("path.to.driver") + "linux/chromedriver";
        }
        else if (platform.contains("Mac")) {
            pathToDriver = System.getProperty("path.to.driver") + "mac/chromedriver";
        }
        try {
            

            if (driver == null) {
                  
                switch (browserName.toUpperCase()) {
                case "CHROME" :
                    //WebDriverManager.chromedriver().setup(); 
                    System.setProperty("webdriver.chrome.driver",pathToDriver);
                    ChromeOptions chromeOptions = new ChromeOptions();
                    

                      if (System.getProperty("argument") != null) {
                            chromeOptions.addArguments("--disable-gpu");
                            chromeOptions.addArguments("--disable-extensions");
                            chromeOptions.setExperimentalOption("useAutomationExtension", false);
                            chromeOptions.addArguments("--proxy-server='direct://'");
                            chromeOptions.addArguments("--proxy-bypass-list=*");
                            chromeOptions.addArguments("--start-maximized");
                            chromeOptions.addArguments("--headless");
                            
                    
                        }
                        chromeOptions.addArguments("--window-size=1920,1080");
                        
                    driver = new ChromeDriver(chromeOptions);

Console output-

 T E S T S
-------------------------------------------------------
Listening for transport dt_socket at address: 5015
Running TestSuite
[TestNG] [WARN] AnnotationTransformer already set
[TestNG] [WARN] AnnotationTransformer already set
[TestNG] [WARN] AnnotationTransformer already set
Sep 07, 2022 5:41:20 AM com.paykickstart.util.reporter.Reporter printStdOut
INFO: [5:41:20:943]: 
* Starting paykickstart class net.paykickstart.ChangeCampaignName<br/>

* Starting paykickstart class net.paykickstart.ChangeCampaignName
Sep 07, 2022 5:41:20 AM com.paykickstart.util.reporter.Reporter printStdOut
INFO: [5:41:20:943]: 
* Starting paykickstart class net.paykickstart.UploadCampaignLogo<br/>

* Starting paykickstart class net.paykickstart.UploadCampaignLogo
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/var/lib/jenkins/.m2/repository/org/slf4j/slf4j-simple/1.7.5/slf4j-simple-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/var/lib/jenkins/.m2/repository/org/sonatype/gossip/gossip/1.0/gossip-1.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/var/lib/jenkins/.m2/repository/org/slf4j/slf4j-nop/1.5.3/slf4j-nop-1.5.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/var/lib/jenkins/.m2/repository/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14-1.5.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.SimpleLoggerFactory]
Starting ChromeDriver 105.0.5195.52 (412c95e518836d8a7d97250d62b29c2ae6a26a85-refs/branch-heads/5195@{#853}) on port 24809
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
Starting ChromeDriver 105.0.5195.52 (412c95e518836d8a7d97250d62b29c2ae6a26a85-refs/branch-heads/5195@{#853}) on port 7145
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
################ null
Sep 07, 2022 5:41:21 AM com.paykickstart.util.reporter.Reporter printStdOut
INFO: [5:41:21:797]: Screenshot saved:<br></br><a href = 'startBrowser-1662529281797.png'><img src = 'startBrowser-1662529281797.png' width='600'/></a><br/>

Sep 07, 2022 5:41:21 AM com.paykickstart.util.reporter.Reporter printStdOut
INFO: [5:41:21:799]: Error saving screenshot!<br/>

Sep 07, 2022 5:41:21 AM com.paykickstart.util.reporter.Reporter printStdOut
INFO: [5:41:21:799]: Can not save page source!<br/>

Can not save page source!
java.lang.NullPointerException
    at com.paykickstart.util.reporter.TestListener.savePageSource(TestListener.java:77)
    at com.paykickstart.util.reporter.TestListener.onConfigurationFailure(TestListener.java:54)
    at org.testng.internal.Invoker.runConfigurationListeners(Invoker.java:1686)
    at org.testng.internal.Invoker.handleConfigurationFailure(Invoker.java:305)
    at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:241)
    at org.testng.internal.Invoker.invokeMethod(Invoker.java:590)
    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851)
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177)
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
    at org.testng.TestRunner.privateRun(TestRunner.java:756)
    at org.testng.TestRunner.run(TestRunner.java:610)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:387)
    at org.testng.SuiteRunner.access$000(SuiteRunner.java:39)
    at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:421)
    at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Sep 07, 2022 5:41:21 AM com.paykickstart.util.reporter.Reporter printStdOut
INFO: [5:41:21:808]: Stopping WebDriver<br/>

Removing:[TestClass name=class net.paykickstart.UploadCampaignLogo]
################ null
Sep 07, 2022 5:41:21 AM com.paykickstart.util.reporter.Reporter printStdOut
INFO: [5:41:21:814]: Screenshot saved:<br></br><a href = 'startBrowser-1662529281814.png'><img src = 'startBrowser-1662529281814.png' width='600'/></a><br/>

Sep 07, 2022 5:41:21 AM com.paykickstart.util.reporter.Reporter printStdOut
INFO: [5:41:21:815]: Error saving screenshot!<br/>

Sep 07, 2022 5:41:21 AM com.paykickstart.util.reporter.Reporter printStdOut
INFO: [5:41:21:816]: Can not save page source!<br/>

Can not save page source!
java.lang.NullPointerException
    at com.paykickstart.util.reporter.TestListener.savePageSource(TestListener.java:77)
    at com.paykickstart.util.reporter.TestListener.onConfigurationFailure(TestListener.java:54)
    at org.testng.internal.Invoker.runConfigurationListeners(Invoker.java:1686)
    at org.testng.internal.Invoker.handleConfigurationFailure(Invoker.java:305)
    at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:241)
    at org.testng.internal.Invoker.invokeMethod(Invoker.java:590)
    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851)
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177)
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
    at org.testng.TestRunner.privateRun(TestRunner.java:756)
    at org.testng.TestRunner.run(TestRunner.java:610)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:387)
    at org.testng.SuiteRunner.access$000(SuiteRunner.java:39)
    at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:421)
    at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Sep 07, 2022 5:41:21 AM com.paykickstart.util.reporter.Reporter printStdOut
INFO: [5:41:21:818]: Stopping WebDriver<br/>

Removing:[TestClass name=class net.paykickstart.ChangeCampaignName]
Tests run: 6, Failures: 2, Errors: 0, Skipped: 4, Time elapsed: 1.51 sec <<< FAILURE! - in TestSuite
(net.paykickstart.UploadCampaignLogo)  Time elapsed: 1.351 sec  <<< FAILURE!
java.lang.NullPointerException: null
    at com.paykickstart.base.BaseTest.startChrome(BaseTest.java:147)
    at com.paykickstart.base.BaseTest.startBrowser(BaseTest.java:187)
    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 org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104)
    at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:515)
    at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:217)
    at org.testng.internal.Invoker.invokeMethod(Invoker.java:590)
    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851)
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177)
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
    at org.testng.TestRunner.privateRun(TestRunner.java:756)
    at org.testng.TestRunner.run(TestRunner.java:610)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:387)
    at org.testng.SuiteRunner.access$000(SuiteRunner.java:39)
    at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:421)
    at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

(net.paykickstart.ChangeCampaignName)  Time elapsed: 0.004 sec  <<< FAILURE!
java.lang.NullPointerException: null
    at com.paykickstart.base.BaseTest.startChrome(BaseTest.java:147)
    at com.paykickstart.base.BaseTest.startBrowser(BaseTest.java:187)
    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 org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104)
    at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:515)
    at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:217)
    at org.testng.internal.Invoker.invokeMethod(Invoker.java:590)
    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851)
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177)
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
    at org.testng.TestRunner.privateRun(TestRunner.java:756)
    at org.testng.TestRunner.run(TestRunner.java:610)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:387)
    at org.testng.SuiteRunner.access$000(SuiteRunner.java:39)
    at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:421)
    at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
0 Answers
Related