Alexander Andryashin, Ivan Krutov, Kirill Merkushev and the Aerokube communityVersion Latest,2020-03-01
Table of Contents
This reference covers version: latest.
Configuration manager is a small application used to automatically configure Aerokube products.
This guide will show how to start Selenoid in a fastest way with help of Configuration Manager. First, you need to download latest release binary from GitHub releases for your platform (linux/darwin/windows).
To simplify this process you launch small script:
On Linux and Mac OS
curl -s https://aerokube.com/cm/bash | bash \
&& ./cm selenoid start --vnc
On Windows
> Invoke-Expression (New-Object System.Net.WebClient).DownloadString("https://aerokube.com/cm/posh")
> ./cm.exe selenoid start --vnc
or just download the latest binary with your browser from releases page for windows (386 and amd64 binaries available). Then if you have Powershell type:
> ./cm.exe selenoid start --vnc
If you are working behind proxy you should set environment variables HTTP_PROXY, HTTPS_PROXY or NO_PROXY described in Docker documentation:
$ HTTP_PROXY=http://proxy.example.com:80/ ./cm selenoid start
This section describes supported ways of automatic Selenoid configuration.
To quickly configure and run Selenoid with defaults type:
./cm selenoid start
Selenoid can be configured in two ways:
-
Using Docker containers (default)
-
Using standalone binaries (when
--use-driversis added)
To view the list of available commands:
./cm selenoid --help
To launch command:
./cm selenoid <command> [args...]
Supported commands are:
Table 1. Commands to configure and run Selenoid
Command
Meaning
args
Print Selenoid command line arguments
cleanup
Removes Selenoid traces
configure
Creates Selenoid configuration file (implies download)
download
Downloads Selenoid binary or container image
start
Starts Selenoid process or container (implies download and configure)
status
Shows actual configuration status (whether Selenoid is downloaded, configured or running)
stop
Stops Selenoid process or container
update
Updates Selenoid and configuration to latest version
To see supported flags for each command append --help:
./cm selenoid start --help
-
downloadcommand downloads latest or specified Selenoid release as standalone binary or container image:./cm selenoid download --version 1.2.1 --forceThis command does nothing when already downloaded. Use
--forceflag to download again. -
configurecommand in addition to downloading Selenoid also downloads container images or webdriver binaries and generates configuration file:./cm selenoid configure --browsers firefox:>45.0;opera:53.0;android --last-versions 2 --tmpfs 128Use
--browsersto limit browsers to be configured,--tmpfs- to add Tmpfs support,--last-versions- to limit how many last browser versions to download. If you wish to download all available versions - specify--last-versions 0. -
startcommand configures Selenoid and starts it:./cm selenoid startBy default Selenoid data is stored in
~/.aerokube/selenoidbut you can specify another directory using--config-dirflag. To download images with VNC server (to see live browser screen) use--vncflag:./cm selenoid start --vncTo override Selenoid listen port add
--portflag:./cm selenoid start --port 4445To override Selenoid startup arguments sessions add
--argsflag:./cm selenoid start --args "-limit 10"To download images from private registry - log in with
docker logincommand and add--registryflag:docker login my-registry.example.com # Specify user name and password ./cm selenoid start --registry https://my-registry.example.com
By default CM downloads browser images corresponding to 2 last versions of Firefox, Chrome and Opera. To download concrete browser versions - use --browsers flag as follows:
Download concrete versions of Firefox and Chrome
./cm selenoid start --browsers 'firefox:51.0;firefox:55.0;chrome:66.0'
Download a range of Firefox versions and 3 last Opera versions
./cm selenoid start --browsers 'firefox:>51.0,<=55.0;opera' --last-versions 3
Download Android image (not downloaded by default because of image size)
./cm selenoid start --browsers 'android:6.0'
In some cases you may want to configure Selenoid to use an existing browsers.json configuration file. This is mainly needed to always use the same browser versions instead of downloading latest versions. To achieve this:
-
Prepare a desired
browsers.jsonconfiguration file -
Launch
cmwith--browsers-jsonflag:./cm selenoid start --browsers-json /path/to/browsers.json
This section describes supported ways of automatic Selenoid UI startup.
To quickly run Selenoid UI type:
$ ./cm selenoid-ui start
Selenoid UI configuration algorithm is similar to Selenoid one - it can be started either in Docker container if you have Docker installed or as a standalone binary otherwise. Supported commands are:
Table 2. Commands to run Selenoid UI
Command
Meaning
args
Print Selenoid UI command line arguments
cleanup
Removes Selenoid UI traces
download
Downloads Selenoid UI binary or container image
start
Starts Selenoid UI process or container (implies download)
status
Shows actual service status (whether Selenoid is downloaded or running)
stop
Stops Selenoid UI process or container
update
Updates Selenoid to latest version
To see supported flags for each command append --help:
$ ./cm selenoid start --help
These commands just repeat similar commands for Selenoid so we give no comments here:
$ ./cm selenoid-ui download --version 1.2.1 --force $ ./cm selenoid-ui start $ ./cm selenoid-ui start --port 8081 $ ./cm selenoid-ui start --args "--period 100ms"
To build cm:
-
Install Golang
-
Setup
$GOPATHproperly -
Get cm source:
$ go get -d github.com/aerokube/cm
-
Go to project directory:
$ cd $GOPATH/src/github.com/aerokube/cm
-
Checkout dependencies:
$ go get -u github.com/golang/dep/cmd/dep && dep ensure
-
Build source:
$ go build
-
Run cm:
$ ./cm --help
To build Docker container type:
$ GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build
$ docker build -t cm:latest .
Version latest
Last updated 2020-03-01 14:23:24 UTC