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