Unable to run test on gitlab pipeline due to DevToolsActivePort file doesn't exist



  • I created a sample Selenium Webdriver test using java and maven and pushed it out to my gitlab repository. Then I created a new pipeline to run the automated tests. This is my first time running a test on the pipeline so I followed some instructions online. The issue I'm having is that the test fails because of this error: (unknown error: DevToolsActivePort file doesn't exist)

    I saw some few questions regarding this too and tried to add those solutions but still getting that error. Used this link where I added those arguments. WebDriverException: unknown error: DevToolsActivePort file doesn't exist while trying to initiate Chrome Browser

    Not sure what I need to do to fix this error or how to run the test as a non-root user which can maybe be a workaround.

    This is my yml file for the pipeline

    # calling the docker image where chrome, maven, jdk are available to run the tests
    image: markhobson/maven-chrome:jdk-11
    
    # building the maven
    build:
      stage: build
      script:
        - mvn compile
    
    # running the tests
    test:
      stage: test
      script:
        - mvn clean test 
    

    BaseTest class

    @BeforeSuite
        public void beforeSuite()  {
            WebDriverManager.chromedriver().setup();
            ChromeOptions options = new ChromeOptions();
            String runTime = null;
            
            try {
                InputStream input = BaseTest.class.getClassLoader().getResourceAsStream("runSetup.properties");
                Properties properties = new Properties();
                properties.load(input);
                runTime = properties.getProperty("runTimeOnLocal");
            } catch (IOException e) {
                e.printStackTrace();
            }
            
            // if it's true, that means running locally on my machine and open the webrowser
            // if it's false, that means it's running on gitlab headless        
            if(runTime.equalsIgnoreCase("TRUE")) {
                options.addArguments("start-maximized"); 
                options.addArguments("enable-automation"); 
                options.addArguments("--no-sandbox"); 
                options.addArguments("--disable-infobars");
                options.addArguments("--disable-dev-shm-usage");
                options.addArguments("--disable-browser-side-navigation"); 
                options.addArguments("--disable-gpu"); 
            }
            else if(runTime.equalsIgnoreCase("FALSE")) {
                options.addArguments("--disable-dev-shm-usage");
                options.addArguments("--no-sandbox"); 
                options.addArguments("--disable-gpu"); 
                options.setHeadless(true);
            }
            
            driver.set(new ChromeDriver(options));
            Log.info("Opening web application");
            driver.get().get("https://demo.opencart.com/");
        }
    

    I also put the link to my repo as this is a sample for me to review selenium (need to switch to master branch)

    SeleniumReview



  • DevTool error is often associated with non compatible version of chrome and chromedriver.

    make sure your browser , driver and OS are compatible . Download the correct OS for the gtilab OS and browser types and versions



Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2