Giter Site home page Giter Site logo

selenoid-images's Introduction

Selenoid Docker Images

This repository contains Docker build files to be used for Selenoid project. You can find prebuilt images here.

Download Statistics

Firefox: Firefox Docker Pulls

Chrome: Chrome Docker Pulls

Opera: Opera Docker Pulls

Android: Android Docker Pulls

How images are built

layers

Each image consists of 3 or 4 layers:

  1. Base layer - contains stuff needed in every image: Xvfb, fonts, cursor blinking fix, timezone definition and so on. This layer is always built manually.
  2. Optional Java layer - contains latest Java Runtime Environment. Only needed for old Firefox versions incompatible with Geckodriver. This layer is always built manually.
  3. Browser layer - contains browser binary. We create two versions: with APT cache and without it. The latter is then used to add driver layer.
  4. Driver layer - contains either respective web driver binary or corresponding Selenium server version.

How to build images yourself

Building procedure is automated with shell scripts selenium/automate_chrome.sh, selenium/automate_firefox.sh and so on.

  • Before building images you can optionally clone tests repository:
$ git clone https://github.com/aerokube/selenoid-container-tests.git

These tests require Java and Maven 3 to be installed. Tests directory should be cloned to this repository parent directory:

selenoid-images/ # <== this repo
selenoid-container-tests/ # <== optional tests repo
  • To build a Firefox image use the following command:
$ ./automate_firefox.sh 70.0.1+build1-0ubuntu0.18.04.1 1.9.3 70.0 0.26.0

Here 70.0.1+build1-0ubuntu0.18.04.1 is firefox package version for Ubuntu 18.04, 1.9.3 is Selenoid version to use inside image (just use latest release version here), 70.0 is Docker tag to be applied, 0.26.0 is Geckodriver version to use.

If you wish to automatically use the latest Selenoid and Geckodriver versions - just replace them with latest:

$ ./automate_firefox.sh 70.0.1+build1-0ubuntu0.18.04.1 latest 70.0 latest

If you wish to pack a local Debian package instead of APT - just replace package version with full path to deb file:

$ ./automate_firefox.sh /path/to/firefox_70.0.1+build1-0ubuntu0.18.04.1_i386.deb 1.9.3 70.0 0.26.0

It is important to use package files with full version specified name because automation scripts determine browser version by parsing package file name!

  • To build a Chrome image use the following command:
$ ./automate_chrome.sh 78.0.3904.97-1 78.0.3904.70 78.0

Here 78.0.3904.97-1 is google-chrome-stable package version for Ubuntu 18.04, 78.0.3904.70 is Chromedriver version, 78.0 is Docker tag to be applied.

If you wish to automatically use the latest compatible Chromedriver version - just replace it with latest:

$ ./automate_chrome.sh 78.0.3904.97-1 latest 78.0
  • To build an Opera image use the following command:
$ ./automate_opera.sh 64.0.3417.92 77.0.3865.120 64.0

Here 64.0.3417.92 is opera-stable package version for Ubuntu 18.04, 77.0.3865.120 is Operadriver version, 64.0 is Docker tag to be applied.

  • To build a Yandex image use the following command:
$ ./automate_yandex.sh 20.4.3.268-1 20.4.3.321 20.4

Here 20.4.3.268-1 is yandex-browser-beta package version for Ubuntu 18.04, 20.4.3.321 is Yandexdriver Linux asset version, 20.4 is Docker tag to be applied.

  • To build an Android image use the following command:
$ ./automate_android.sh

This command is interactive - just answer the questions and it will build an image for you. In order to bundle custom APK to image - put it to selenium/android directory before running the script.

How to build images for non-default channels

Apart from the default stable release channel, the following ones are also supported:

Browser Channel Package
firefox beta firefox (PPA)
firefox dev firefox-trunk (PPA)
firefox esr firefox-esr (PPA)
chrome beta google-chrome-beta
chrome dev google-chrome-unstable
opera beta opera-beta
opera dev opera-developer
  • To build an image for one of the channels above use the optional argument {beta|dev|esr} at the end of the corresponding command.
$ ./automate_firefox.sh 72.0~a1~hg20191114r501767-0ubuntu0.18.04.1~umd1 1.9.3 72.0a1 0.26.0 dev

Image information

Moved to: http://aerokube.com/selenoid/latest/#_browser_image_information

selenoid-images's People

Contributors

aandryashin avatar adzyk avatar antondzyk avatar bonigarcia avatar katanaboy avatar lorsatti avatar m4nouel avatar merinstdl avatar presidenten avatar robot-bucket avatar rrhartjr avatar ruescar avatar vania-pooh avatar vgrigoruk avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.