From 12c6a354c998c08399257e71617db94e36ccaba7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Suwi=C5=84ski?= Date: Fri, 22 Jan 2021 12:40:09 +0100 Subject: [PATCH 1/6] create clear branch from base From 3eb6ddc0e810f64a872c270f0598a1f2874e54dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Suwi=C5=84ski?= Date: Fri, 22 Jan 2021 12:42:41 +0100 Subject: [PATCH 2/6] add usage example --- README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/README.md b/README.md index db1b1f1..bf03a7d 100644 --- a/README.md +++ b/README.md @@ -124,6 +124,23 @@ chmod 777 /opt/plugins/custom/selenium/opsdis.com/out/ chmod 755 /opt/plugins/custom/selenium/opsdis.com/sides/opsdis.com.side ``` +Optionally add a runner local configuration file or additional command-line +arguments to pass, for example: + +``` +cat < /opt/plugins/custom/selenium/opsdis.com/sides/.options +--filter MyTestSuite +EOT + +cat < /opt/plugins/custom/selenium/opsdis.com/sides/.side.yml +capabilities: + acceptInsecureCerts: true +EOT +``` + +See [Command-line Runner / Run-time configuration](https://www.selenium.dev/selenium-ide/docs/en/introduction/command-line-runner#run-time-configuration). + + The directory structure should look like this: ``` @@ -131,6 +148,8 @@ The directory structure should look like this: │   ├── out │   └── sides │   └── opsdis.com.side +│   └── .side.yml +│   └── .options ``` # Execute the plugin # From 1a2bbdb29c2a9f633071f2840f58c4ccd595b1e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Suwi=C5=84ski?= Date: Fri, 22 Jan 2021 12:44:04 +0100 Subject: [PATCH 3/6] node lts, configuration file and command-line arguments support switch to node lts, add support for runner local configuration file and additional command-line arguments --- dockerimage/Dockerfile | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/dockerimage/Dockerfile b/dockerimage/Dockerfile index 321366f..1b15bef 100644 --- a/dockerimage/Dockerfile +++ b/dockerimage/Dockerfile @@ -5,9 +5,9 @@ LABEL maintainer="Opsdis Consulting AB " # selenium container leaves us as user 'seluser', but we need to install more stuff USER root -# Install nodejs 10 which includes npm +# Install nodejs LTS which includes npm RUN apt-get -qqy update \ - && curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - \ + && curl -sL https://deb.nodesource.com/setup_lts.x | sudo -E bash - \ && apt-get -qqy --no-install-recommends install \ nodejs \ && rm -rf /var/lib/apt/lists/* /var/cache/apt/* @@ -21,6 +21,10 @@ RUN mkdir /selenium-side-runner && chown -R seluser /selenium-side-runner WORKDIR /selenium-side-runner # Five seconds after starting container (as deamon) selenium-side-runner will run every /sides/*.side file -RUN sed -i '/^\/usr\/bin\/supervisord.*/a sleep 5 && selenium-side-runner --server http://localhost:4444/wd/hub --output-directory /selenium-side-runner/out /sides/*.side' /opt/bin/entry_point.sh +RUN sed -i "/^\/usr\/bin\/supervisord.*/a \ + OPTS=('--server http://localhost:4444/wd/hub --output-directory /selenium-side-runner/out')\n \ + [[ -s /sides/.options ]] && readarray -t -O 1 OPTS < /sides/.options\n \ + [[ -s /sides/.side.yml ]] && OPTS+=('--config /sides/.side.yml')\n \ + sleep 5 && selenium-side-runner \${OPTS[@]} /sides/*.side" /opt/bin/entry_point.sh USER seluser From 2c0ef1e272af55c49b3b03c95bc9dcbc6f6e6197 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Suwi=C5=84ski?= Date: Fri, 22 Jan 2021 15:49:35 +0100 Subject: [PATCH 4/6] runner output log, more consistent assignment - add runner output log - change OPT variable assignment more array consistent --- dockerimage/Dockerfile | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/dockerimage/Dockerfile b/dockerimage/Dockerfile index 1b15bef..4b2fe5c 100644 --- a/dockerimage/Dockerfile +++ b/dockerimage/Dockerfile @@ -22,9 +22,10 @@ WORKDIR /selenium-side-runner # Five seconds after starting container (as deamon) selenium-side-runner will run every /sides/*.side file RUN sed -i "/^\/usr\/bin\/supervisord.*/a \ - OPTS=('--server http://localhost:4444/wd/hub --output-directory /selenium-side-runner/out')\n \ - [[ -s /sides/.options ]] && readarray -t -O 1 OPTS < /sides/.options\n \ - [[ -s /sides/.side.yml ]] && OPTS+=('--config /sides/.side.yml')\n \ - sleep 5 && selenium-side-runner \${OPTS[@]} /sides/*.side" /opt/bin/entry_point.sh +OPTS=('--server http://localhost:4444/wd/hub' '--output-directory /selenium-side-runner/out')\n\ +[[ -s /sides/.options ]] && readarray -t -O 2 OPTS < /sides/.options\n\ +[[ -s /sides/.side.yml ]] && OPTS+=('--config /sides/.side.yml')\n\ +sleep 5 && selenium-side-runner \${OPTS[@]} /sides/*.side &> /selenium-side-runner/out/output.log" \ +/opt/bin/entry_point.sh USER seluser From 4b1a6055aa866c23fae2ad241b91b929e6ae2214 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Suwi=C5=84ski?= Date: Tue, 16 Feb 2021 13:36:54 +0100 Subject: [PATCH 5/6] support image build for alternative browser --- dockerimage/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockerimage/Dockerfile b/dockerimage/Dockerfile index 4b2fe5c..ce851bf 100644 --- a/dockerimage/Dockerfile +++ b/dockerimage/Dockerfile @@ -22,7 +22,7 @@ WORKDIR /selenium-side-runner # Five seconds after starting container (as deamon) selenium-side-runner will run every /sides/*.side file RUN sed -i "/^\/usr\/bin\/supervisord.*/a \ -OPTS=('--server http://localhost:4444/wd/hub' '--output-directory /selenium-side-runner/out')\n\ +OPTS=('-c browserName=chrome --server http://localhost:4444/wd/hub' '--output-directory /selenium-side-runner/out')\n\ [[ -s /sides/.options ]] && readarray -t -O 2 OPTS < /sides/.options\n\ [[ -s /sides/.side.yml ]] && OPTS+=('--config /sides/.side.yml')\n\ sleep 5 && selenium-side-runner \${OPTS[@]} /sides/*.side &> /selenium-side-runner/out/output.log" \ From 3363408d50fe75902fda5dad22d5d1d1798ba815 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Suwi=C5=84ski?= Date: Tue, 16 Feb 2021 13:38:22 +0100 Subject: [PATCH 6/6] example of image build for alternative browser --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index bf03a7d..9a700e9 100644 --- a/README.md +++ b/README.md @@ -83,6 +83,11 @@ cd check_selenium_docker/dockerimage/ docker build . --tag opsdis/selenium-chrome-node-with-side-runner ``` +Image for an alternative supported browser: + +``` +sed 's/chrome/firefox/' Dockerfile | docker build --tag opsdis/selenium-firefox-node-with-side-runner - +``` # Plugin #