Error running selenium tests in gitlab ci/cd pipeline

Viewed 18

I am trying to run UI automated test using NodeJs, Selenium and Chrome as a part of GitLab CI/CD pipeline. Test runs on local machine fine but throws error while running in CI/CD

Config.Js

module.exports.getDriver = function () {
  const { Capabilities, Builder } = require("selenium-webdriver");
  const chromeCapabilities = Capabilities.chrome();
  chromeCapabilities.set("acceptInsecureCerts", true);
  let builder = new Builder();
  if (process.env.WEBDIRVER_SERVER) {
    builder = builder.usingServer(process.env.WEBDIRVER_SERVER);
  }

  return builder.forBrowser('chrome').withCapabilities(chromeCapabilities).build();
}

module.exports.base_url = process.env.TEST_BASE_URL || 'https://dev.mycompany.com';

Package.json

{
  "name": "my-selenium-tests",
  "version": "1.0.0",
  "description": "Selenium tests",
  "private": true,
  "scripts": {
    "test": "mocha --recursive --timeout 300000"
  },
  "repository": {
    "type": "git",    
    "url": "git@my.gitlab.com/my-selenium-tests.git"
  },
  "dependencies": {
    "axios": "^0.27.2",
    "chromedriver": "^105.0.1",
    "selenium-webdriver": "^4.4.0"
  },
  "devDependencies": {
    "mocha": "^10.0.0"
  }
}

GitLab Pipeline

test:
  image: node
  stage: test
  environment: 
    name: dev
  services:
    - selenium/standalone-chrome
  cache:
    paths:
      - node_modules/
  variables:
    NODE_ENV: test
  script:
    - cd ${CI_PROJECT_DIR}/tests/postdeploy
    - npm ci --include=dev
    - WEBDIRVER_SERVER=http://selenium__standalone-chrome:4444 npm test    
  rules: 
    - if: $CI_COMMIT_REF_NAME == "dev"

CI/CD Output

0 Answers
Related