Docker Selenium Codeception Jenkins Container from IT Svit

Provisioning a Selenium/Codeception testing environment: 8 hours of hard work

The difference between manual and automated provisioning

Automation and ease of deployment: a Docker Selenium Codeception Jenkins container

  • A stable solution for rapid deployment of Codeception testing environments
  • Automation and ease of deployment due to error-proof step-by-step script
  • Ease or reproducibility to ensure the same results of the tests run by multiple testers, to avoid the “works on my machine” situation.

Preparing a Docker container: Dockerfile for installing the components

Start.sh script explanation

  1. Launching the X Virtual Framebuilder
    xvfb-run
  2. Launching Selenium
    java -jar /opt/selenium/selenium-server-standalone-2.53.1.jar
  3. Launching the chromedriver to act as an API bridge between Selenium and Chrome:
    -Dwebdriver.chrome.driver=/opt/selenium/chromedriver
  4. Suppressing the stdout and stderr to remove the unneeded output:
    &>/dev/null
  5. Add & to launch the container in the background and avoid blocking the CLI:
    &
  6. Launching Jenkins:
    /bin/tini -- /usr/local/bin/jenkins.sh

The progress so far

  • Safari WebDriver support for Selenium
  • A supervisor with Process ID’s to use Jenkins for swift manipulation of multiple testing environments and separate outputs for Jenkins.log and Selenium.log
  • Having Jenkins container untouched and using Jenkins worker for it.
Benefits of IT Svit Codeception solution

--

--

--

DevOps & Big Data lover

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Regular Expressions — part I

⏰ CSS-only Digital Clock — Accurate, Settable, Animated

Control your Windows system remotely via voice

YANM — (Yet Another Network Monitor)

CLOUDFRONT WITH S3 BUCKET ORIGIN

Record media duration and send it to Firebase Analytics

Get more value out of your application logs in Stackdriver

Reading Specs: Coupons

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Vladimir Fedak

Vladimir Fedak

DevOps & Big Data lover

More from Medium

Jenkins Declarative Pipeline Essentials

Jenkins to Jfrog Artifactory Deployment(Mule Jar File)

Object oriented programming and unit tests with jenkins shared libraries is possible !

How to Configure GitLab Web-hook in Jenkins ??!