From 1dcd9c45f9db608f24df2a8bc46c7ac791914fa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jer=C3=B4me=20Bakker?= Date: Wed, 11 May 2022 15:54:23 +0200 Subject: [PATCH 01/45] Upgrade Firefox to version 100 --- Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index a3f86f4..304ae9e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -38,7 +38,7 @@ ENV DATABASE_LIBRARY_VERSION 1.2.4 ENV DATADRIVER_VERSION 1.6.0 ENV DATETIMETZ_VERSION 1.0.6 ENV FAKER_VERSION 5.0.0 -ENV FIREFOX_VERSION 98.0 +ENV FIREFOX_VERSION 100.0 ENV FTP_LIBRARY_VERSION 1.9 ENV GECKO_DRIVER_VERSION v0.30.0 ENV IMAP_LIBRARY_VERSION 0.4.2 diff --git a/README.md b/README.md index a08ef84..44a655f 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ The versions used are: * [Robot Framework SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary) 6.0.0 * [Robot Framework SSHLibrary](https://github.com/robotframework/SSHLibrary) 3.8.0 * [Axe Selenium Library](https://github.com/mozilla-services/axe-selenium-python) 2.1.6 -* Firefox 91.7 +* Firefox 100.0 * Chromium 99.0 * [Amazon AWS CLI](https://pypi.org/project/awscli/) 1.22.87 From be17f7154f0a937cff0c8843bbeb01c216cfd5f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jer=C3=B4me=20Bakker?= Date: Wed, 11 May 2022 15:52:17 +0200 Subject: [PATCH 02/45] Support Microsoft Edge browser fixes #352 --- .github/workflows/docker-build.yml | 3 ++- Dockerfile | 21 +++++++++++++++++++++ README.md | 7 ++++--- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index b3ea5fe..e25ce0a 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -28,6 +28,7 @@ jobs: include: - browser: "chrome" - browser: "firefox" + - browser: "edge" env: BROWSER: ${{ matrix.browser }} steps: @@ -74,4 +75,4 @@ jobs: docker run --user=2000:2000 --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER $IMAGE_NAME - name: Datetime run: - docker run --user=2000:2000 --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER -e TZ="America/New_York" $IMAGE_NAME \ No newline at end of file + docker run --user=2000:2000 --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER -e TZ="America/New_York" $IMAGE_NAME diff --git a/Dockerfile b/Dockerfile index 304ae9e..ee2694e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -37,6 +37,7 @@ ENV CHROMIUM_VERSION 99.0 ENV DATABASE_LIBRARY_VERSION 1.2.4 ENV DATADRIVER_VERSION 1.6.0 ENV DATETIMETZ_VERSION 1.0.6 +ENV EDGE_VERSION 101.0.1210.39 ENV FAKER_VERSION 5.0.0 ENV FIREFOX_VERSION 100.0 ENV FTP_LIBRARY_VERSION 1.9 @@ -68,6 +69,7 @@ RUN dnf upgrade -y --refresh \ python3-pip \ tzdata \ xorg-x11-server-Xvfb-${XVFB_VERSION}* \ + dnf-plugins-core \ && dnf clean all # FIXME: below is a workaround, as the path is ignored @@ -110,6 +112,25 @@ RUN dnf install -y \ wget \ && dnf clean all +# Install Microsoft Edge & webdriver +RUN rpm --import https://packages.microsoft.com/keys/microsoft.asc \ + && dnf config-manager --add-repo https://packages.microsoft.com/yumrepos/edge \ + && dnf makecache \ + && dnf install -y \ + microsoft-edge-stable-${EDGE_VERSION} \ + wget \ + zip \ + + && wget -q "https://msedgedriver.azureedge.net/${EDGE_VERSION}/edgedriver_linux64.zip" \ + && unzip edgedriver_linux64.zip -d edge \ + && mv edge/msedgedriver /opt/robotframework/drivers/ \ + && rm -Rf edgedriver_linux64.zip edge/ \ + +# IMPORTANT: don't remove the wget package because it's a dependency of Microsoft Edge + && dnf remove -y \ + zip \ + && dnf clean all + # Install the Node dependencies for the Browser library # FIXME: Playright currently doesn't support relying on system browsers, which is why the `--skip-browsers` parameter cannot be used here. RUN rfbrowser init \ diff --git a/README.md b/README.md index 44a655f..13103da 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ -# Robot Framework in Docker, with Firefox and Chrome +# Robot Framework in Docker, with Firefox, Chrome and Edge ## What is it? This project consists of a Docker image containing a Robot Framework installation. -This installation also contains Firefox, Chrome and the Selenium library for Robot Framework. The test cases and reports should be mounted as volumes. +This installation also contains Firefox, Chrome, Edge and the Selenium library for Robot Framework. The test cases and reports should be mounted as volumes. ## Versioning @@ -30,6 +30,7 @@ The versions used are: * [Axe Selenium Library](https://github.com/mozilla-services/axe-selenium-python) 2.1.6 * Firefox 100.0 * Chromium 99.0 +* Edge 101.0.1210.39 * [Amazon AWS CLI](https://pypi.org/project/awscli/) 1.22.87 As stated by [the official GitHub project](https://github.com/robotframework/Selenium2Library), starting from version 3.0, Selenium2Library is renamed to SeleniumLibrary and this project exists mainly to help with transitioning. The Selenium2Library 3.0.0 is also the last release and for new releases, please look at the [SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary) project. @@ -47,7 +48,7 @@ This container can be run using the following command: Browsers can be easily switched. It is recommended to define `${BROWSER} %{BROWSER}` in your Robot variables and to use `${BROWSER}` in your test cases. This allows to set the browser in a single place if needed. -When running your tests, simply add `-e BROWSER=chrome` or `-e BROWSER=firefox` to the run command. +When running your tests, simply add `-e BROWSER=chrome`, `-e BROWSER=firefox` or `-e BROWSER=edge`to the run command. ### Changing the container's screen resolution From ef16ba23de96b39f68e4eda37c557293583d8e28 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Sun, 25 Sep 2022 15:11:47 +0100 Subject: [PATCH 03/45] Issue #417 - Upgrade Firefox to version 104.0 --- Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index a3f86f4..a1e02fa 100644 --- a/Dockerfile +++ b/Dockerfile @@ -38,7 +38,7 @@ ENV DATABASE_LIBRARY_VERSION 1.2.4 ENV DATADRIVER_VERSION 1.6.0 ENV DATETIMETZ_VERSION 1.0.6 ENV FAKER_VERSION 5.0.0 -ENV FIREFOX_VERSION 98.0 +ENV FIREFOX_VERSION 104.0 ENV FTP_LIBRARY_VERSION 1.9 ENV GECKO_DRIVER_VERSION v0.30.0 ENV IMAP_LIBRARY_VERSION 0.4.2 diff --git a/README.md b/README.md index a08ef84..a1ee41e 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ The versions used are: * [Robot Framework SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary) 6.0.0 * [Robot Framework SSHLibrary](https://github.com/robotframework/SSHLibrary) 3.8.0 * [Axe Selenium Library](https://github.com/mozilla-services/axe-selenium-python) 2.1.6 -* Firefox 91.7 +* Firefox 104.0 * Chromium 99.0 * [Amazon AWS CLI](https://pypi.org/project/awscli/) 1.22.87 From 9049e5d86c45b588e804e9001f3f88949a7d2247 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Sun, 25 Sep 2022 15:16:21 +0100 Subject: [PATCH 04/45] Issue #418 - Upgrade Chromium to version 103.0 --- Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index a1e02fa..67b7945 100644 --- a/Dockerfile +++ b/Dockerfile @@ -33,7 +33,7 @@ ENV ALPINE_GLIBC 2.35-r0 ENV AWS_CLI_VERSION 1.22.87 ENV AXE_SELENIUM_LIBRARY_VERSION 2.1.6 ENV BROWSER_LIBRARY_VERSION 12.2.0 -ENV CHROMIUM_VERSION 99.0 +ENV CHROMIUM_VERSION 103.0 ENV DATABASE_LIBRARY_VERSION 1.2.4 ENV DATADRIVER_VERSION 1.6.0 ENV DATETIMETZ_VERSION 1.0.6 diff --git a/README.md b/README.md index a1ee41e..a6a817a 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ The versions used are: * [Robot Framework SSHLibrary](https://github.com/robotframework/SSHLibrary) 3.8.0 * [Axe Selenium Library](https://github.com/mozilla-services/axe-selenium-python) 2.1.6 * Firefox 104.0 -* Chromium 99.0 +* Chromium 103.0 * [Amazon AWS CLI](https://pypi.org/project/awscli/) 1.22.87 As stated by [the official GitHub project](https://github.com/robotframework/Selenium2Library), starting from version 3.0, Selenium2Library is renamed to SeleniumLibrary and this project exists mainly to help with transitioning. The Selenium2Library 3.0.0 is also the last release and for new releases, please look at the [SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary) project. From 097287b9975903bd87b11e92220e9bedcb390c21 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Sun, 25 Sep 2022 15:17:05 +0100 Subject: [PATCH 05/45] Issue #416 - Upgrade Robot Framework to version 5.0.1 --- Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 67b7945..b8fe507 100644 --- a/Dockerfile +++ b/Dockerfile @@ -44,7 +44,7 @@ ENV GECKO_DRIVER_VERSION v0.30.0 ENV IMAP_LIBRARY_VERSION 0.4.2 ENV PABOT_VERSION 2.5.2 ENV REQUESTS_VERSION 0.9.2 -ENV ROBOT_FRAMEWORK_VERSION 5.0 +ENV ROBOT_FRAMEWORK_VERSION 5.0.1 ENV SELENIUM_LIBRARY_VERSION 6.0.0 ENV SSH_LIBRARY_VERSION 3.8.0 ENV XVFB_VERSION 1.20 diff --git a/README.md b/README.md index a6a817a..4261cba 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ The versioning of this image follows the one of Robot Framework: The versions used are: -* [Robot Framework](https://github.com/robotframework/robotframework) 5.0 +* [Robot Framework](https://github.com/robotframework/robotframework) 5.0.1 * [Robot Framework Browser Library](https://github.com/MarketSquare/robotframework-browser) 12.2.0 * [Robot Framework DatabaseLibrary](https://github.com/franz-see/Robotframework-Database-Library) 1.2.4 * [Robot Framework Datadriver](https://github.com/Snooz82/robotframework-datadriver) 1.6.0 From e71fab753b7a10145d68095736942595e09d31c8 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Sun, 25 Sep 2022 15:17:43 +0100 Subject: [PATCH 06/45] Issue #415 - Upgrade the AWS CLI to version 1.25.81 --- Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index b8fe507..238ccb8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,7 +30,7 @@ ENV ROBOT_GID 1000 # Dependency versions ENV ALPINE_GLIBC 2.35-r0 -ENV AWS_CLI_VERSION 1.22.87 +ENV AWS_CLI_VERSION 1.25.81 ENV AXE_SELENIUM_LIBRARY_VERSION 2.1.6 ENV BROWSER_LIBRARY_VERSION 12.2.0 ENV CHROMIUM_VERSION 103.0 diff --git a/README.md b/README.md index 4261cba..630d01a 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ The versions used are: * [Axe Selenium Library](https://github.com/mozilla-services/axe-selenium-python) 2.1.6 * Firefox 104.0 * Chromium 103.0 -* [Amazon AWS CLI](https://pypi.org/project/awscli/) 1.22.87 +* [Amazon AWS CLI](https://pypi.org/project/awscli/) 1.25.81 As stated by [the official GitHub project](https://github.com/robotframework/Selenium2Library), starting from version 3.0, Selenium2Library is renamed to SeleniumLibrary and this project exists mainly to help with transitioning. The Selenium2Library 3.0.0 is also the last release and for new releases, please look at the [SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary) project. From b1603a0b6cbea7609841af563669ae80f9f6be12 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Sun, 25 Sep 2022 15:18:16 +0100 Subject: [PATCH 07/45] Issue #414 - Upgrade the Requests library to version 0.9.3 --- Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 238ccb8..6c0626b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -43,7 +43,7 @@ ENV FTP_LIBRARY_VERSION 1.9 ENV GECKO_DRIVER_VERSION v0.30.0 ENV IMAP_LIBRARY_VERSION 0.4.2 ENV PABOT_VERSION 2.5.2 -ENV REQUESTS_VERSION 0.9.2 +ENV REQUESTS_VERSION 0.9.3 ENV ROBOT_FRAMEWORK_VERSION 5.0.1 ENV SELENIUM_LIBRARY_VERSION 6.0.0 ENV SSH_LIBRARY_VERSION 3.8.0 diff --git a/README.md b/README.md index 630d01a..b4ce4e4 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ The versions used are: * [Robot Framework FTPLibrary](https://github.com/kowalpy/Robot-Framework-FTP-Library) 1.9 * [Robot Framework IMAPLibrary 2](https://pypi.org/project/robotframework-imaplibrary2/) 0.4.2 * [Robot Framework Pabot](https://github.com/mkorpela/pabot) 2.5.2 -* [Robot Framework Requests](https://github.com/bulkan/robotframework-requests) 0.9.2 +* [Robot Framework Requests](https://github.com/bulkan/robotframework-requests) 0.9.3 * [Robot Framework SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary) 6.0.0 * [Robot Framework SSHLibrary](https://github.com/robotframework/SSHLibrary) 3.8.0 * [Axe Selenium Library](https://github.com/mozilla-services/axe-selenium-python) 2.1.6 From 7e3cf774fe9d672f224b259d83ad438a15de9be1 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Sun, 25 Sep 2022 15:18:51 +0100 Subject: [PATCH 08/45] Issue #413 - Upgrade Pabot to version 2.7.0 --- Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6c0626b..307b2d3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -42,7 +42,7 @@ ENV FIREFOX_VERSION 104.0 ENV FTP_LIBRARY_VERSION 1.9 ENV GECKO_DRIVER_VERSION v0.30.0 ENV IMAP_LIBRARY_VERSION 0.4.2 -ENV PABOT_VERSION 2.5.2 +ENV PABOT_VERSION 2.7.0 ENV REQUESTS_VERSION 0.9.3 ENV ROBOT_FRAMEWORK_VERSION 5.0.1 ENV SELENIUM_LIBRARY_VERSION 6.0.0 diff --git a/README.md b/README.md index b4ce4e4..d33cd32 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ The versions used are: * [Robot Framework Faker](https://github.com/guykisel/robotframework-faker) 5.0.0 * [Robot Framework FTPLibrary](https://github.com/kowalpy/Robot-Framework-FTP-Library) 1.9 * [Robot Framework IMAPLibrary 2](https://pypi.org/project/robotframework-imaplibrary2/) 0.4.2 -* [Robot Framework Pabot](https://github.com/mkorpela/pabot) 2.5.2 +* [Robot Framework Pabot](https://github.com/mkorpela/pabot) 2.7.0 * [Robot Framework Requests](https://github.com/bulkan/robotframework-requests) 0.9.3 * [Robot Framework SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary) 6.0.0 * [Robot Framework SSHLibrary](https://github.com/robotframework/SSHLibrary) 3.8.0 From 105ddd44e7e6f33e0fae35b1f5c6bc04846b0733 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Sun, 25 Sep 2022 15:19:26 +0100 Subject: [PATCH 09/45] Issue #412 - Upgrade the IMAP library to version 0.4.5 --- Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 307b2d3..f7c46ca 100644 --- a/Dockerfile +++ b/Dockerfile @@ -41,7 +41,7 @@ ENV FAKER_VERSION 5.0.0 ENV FIREFOX_VERSION 104.0 ENV FTP_LIBRARY_VERSION 1.9 ENV GECKO_DRIVER_VERSION v0.30.0 -ENV IMAP_LIBRARY_VERSION 0.4.2 +ENV IMAP_LIBRARY_VERSION 0.4.5 ENV PABOT_VERSION 2.7.0 ENV REQUESTS_VERSION 0.9.3 ENV ROBOT_FRAMEWORK_VERSION 5.0.1 diff --git a/README.md b/README.md index d33cd32..337be58 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ The versions used are: * [Robot Framework DateTimeTZ](https://github.com/testautomation/DateTimeTZ) 1.0.6 * [Robot Framework Faker](https://github.com/guykisel/robotframework-faker) 5.0.0 * [Robot Framework FTPLibrary](https://github.com/kowalpy/Robot-Framework-FTP-Library) 1.9 -* [Robot Framework IMAPLibrary 2](https://pypi.org/project/robotframework-imaplibrary2/) 0.4.2 +* [Robot Framework IMAPLibrary 2](https://pypi.org/project/robotframework-imaplibrary2/) 0.4.5 * [Robot Framework Pabot](https://github.com/mkorpela/pabot) 2.7.0 * [Robot Framework Requests](https://github.com/bulkan/robotframework-requests) 0.9.3 * [Robot Framework SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary) 6.0.0 From 3b15b0e743b4ff0bafdc63b7d9284056e0116e7f Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Sun, 25 Sep 2022 15:20:03 +0100 Subject: [PATCH 10/45] Issue #411 - Upgrade the Browser Library to version 14.0.0 --- Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index f7c46ca..04483f4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -32,7 +32,7 @@ ENV ROBOT_GID 1000 ENV ALPINE_GLIBC 2.35-r0 ENV AWS_CLI_VERSION 1.25.81 ENV AXE_SELENIUM_LIBRARY_VERSION 2.1.6 -ENV BROWSER_LIBRARY_VERSION 12.2.0 +ENV BROWSER_LIBRARY_VERSION 14.0.0 ENV CHROMIUM_VERSION 103.0 ENV DATABASE_LIBRARY_VERSION 1.2.4 ENV DATADRIVER_VERSION 1.6.0 diff --git a/README.md b/README.md index 337be58..62a6a8d 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ The versioning of this image follows the one of Robot Framework: The versions used are: * [Robot Framework](https://github.com/robotframework/robotframework) 5.0.1 -* [Robot Framework Browser Library](https://github.com/MarketSquare/robotframework-browser) 12.2.0 +* [Robot Framework Browser Library](https://github.com/MarketSquare/robotframework-browser) 14.0.0 * [Robot Framework DatabaseLibrary](https://github.com/franz-see/Robotframework-Database-Library) 1.2.4 * [Robot Framework Datadriver](https://github.com/Snooz82/robotframework-datadriver) 1.6.0 * [Robot Framework DateTimeTZ](https://github.com/testautomation/DateTimeTZ) 1.0.6 From 0f89247f84726ad0d2a165b6c3ffbff281270701 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Sun, 25 Sep 2022 16:02:37 +0100 Subject: [PATCH 11/45] Issue #411 - Upgrade the Browser Library to version 14.0.0 * Fixed a build issue related to the Browser library --- Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 04483f4..e0f23f3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -112,8 +112,7 @@ RUN dnf install -y \ # Install the Node dependencies for the Browser library # FIXME: Playright currently doesn't support relying on system browsers, which is why the `--skip-browsers` parameter cannot be used here. -RUN rfbrowser init \ - && ln -sf /usr/lib64/libstdc++.so.6 /usr/local/lib/python3.10/site-packages/Browser/wrapper/node_modules/playwright-core/.local-browsers/firefox-1316/firefox/libstdc++.so.6 +RUN rfbrowser init # Create the default report and work folders with the default user to avoid runtime issues # These folders are writeable by anyone, to ensure the user can be changed on the command line. From d36ed5f8315e9b3ae9b37e0f9c2737bef6c01884 Mon Sep 17 00:00:00 2001 From: dencze Date: Sat, 1 Oct 2022 14:21:26 +0200 Subject: [PATCH 12/45] issue #421: fix grep output to return number of lines --- bin/run-tests-in-virtual-screen.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/run-tests-in-virtual-screen.sh b/bin/run-tests-in-virtual-screen.sh index bac5091..8e4d674 100755 --- a/bin/run-tests-in-virtual-screen.sh +++ b/bin/run-tests-in-virtual-screen.sh @@ -6,7 +6,7 @@ if [ "${ROBOT_TEST_RUN_ID}" = "" ] then ROBOT_REPORTS_FINAL_DIR="${ROBOT_REPORTS_DIR}" else - REPORTS_DIR_HAS_TRAILING_SLASH=`echo ${ROBOT_REPORTS_DIR} | grep '/$'` + REPORTS_DIR_HAS_TRAILING_SLASH=`echo ${ROBOT_REPORTS_DIR} | grep -c '/$'` if [ ${REPORTS_DIR_HAS_TRAILING_SLASH} -eq 0 ] then From b3e1613fd74ee4e4cf661123edf538fbda6709dc Mon Sep 17 00:00:00 2001 From: Ranjoy Saha Roy <68877085+rs-roy@users.noreply.github.com> Date: Wed, 22 Mar 2023 02:38:32 +0100 Subject: [PATCH 13/45] Updated Robot framework and Pabot library version Updated Robot framework from 5.0.1 to version 6.0.2 Updated Pabot library from 2.7.0 to version 2.14.0 --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index e0f23f3..ba145f5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -42,9 +42,9 @@ ENV FIREFOX_VERSION 104.0 ENV FTP_LIBRARY_VERSION 1.9 ENV GECKO_DRIVER_VERSION v0.30.0 ENV IMAP_LIBRARY_VERSION 0.4.5 -ENV PABOT_VERSION 2.7.0 +ENV PABOT_VERSION 2.14.0 ENV REQUESTS_VERSION 0.9.3 -ENV ROBOT_FRAMEWORK_VERSION 5.0.1 +ENV ROBOT_FRAMEWORK_VERSION 6.0.2 ENV SELENIUM_LIBRARY_VERSION 6.0.0 ENV SSH_LIBRARY_VERSION 3.8.0 ENV XVFB_VERSION 1.20 From 2247a05cd2c1d19e7152fe782b381ec6bb64b782 Mon Sep 17 00:00:00 2001 From: Ranjoy Saha Roy <68877085+rs-roy@users.noreply.github.com> Date: Thu, 11 May 2023 11:16:02 +0200 Subject: [PATCH 14/45] Updated pabot and seleniumlibrary version Pabot library version updated from 2.14.0 to 2.15.0 Seleniumlibrary version updated from 6.0.0 to 6.1.0 --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index ba145f5..bca4be4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -42,10 +42,10 @@ ENV FIREFOX_VERSION 104.0 ENV FTP_LIBRARY_VERSION 1.9 ENV GECKO_DRIVER_VERSION v0.30.0 ENV IMAP_LIBRARY_VERSION 0.4.5 -ENV PABOT_VERSION 2.14.0 +ENV PABOT_VERSION 2.15.0 ENV REQUESTS_VERSION 0.9.3 ENV ROBOT_FRAMEWORK_VERSION 6.0.2 -ENV SELENIUM_LIBRARY_VERSION 6.0.0 +ENV SELENIUM_LIBRARY_VERSION 6.1.0 ENV SSH_LIBRARY_VERSION 3.8.0 ENV XVFB_VERSION 1.20 From 71036135568583d2030c146c6e0e0f4928a725b2 Mon Sep 17 00:00:00 2001 From: Ranjoy Saha Roy <68877085+rs-roy@users.noreply.github.com> Date: Thu, 11 May 2023 11:25:52 +0200 Subject: [PATCH 15/45] Updated README with latest Robotframework, Pabot and Seleniumlibrary version Mentioned the latest Robot framework version 6.0.2, Pabot library version 2.15.0, and Seleniumlibrary version 6.1.0 in README --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 62a6a8d..af75b56 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ The versioning of this image follows the one of Robot Framework: The versions used are: -* [Robot Framework](https://github.com/robotframework/robotframework) 5.0.1 +* [Robot Framework](https://github.com/robotframework/robotframework) 6.0.2 * [Robot Framework Browser Library](https://github.com/MarketSquare/robotframework-browser) 14.0.0 * [Robot Framework DatabaseLibrary](https://github.com/franz-see/Robotframework-Database-Library) 1.2.4 * [Robot Framework Datadriver](https://github.com/Snooz82/robotframework-datadriver) 1.6.0 @@ -23,9 +23,9 @@ The versions used are: * [Robot Framework Faker](https://github.com/guykisel/robotframework-faker) 5.0.0 * [Robot Framework FTPLibrary](https://github.com/kowalpy/Robot-Framework-FTP-Library) 1.9 * [Robot Framework IMAPLibrary 2](https://pypi.org/project/robotframework-imaplibrary2/) 0.4.5 -* [Robot Framework Pabot](https://github.com/mkorpela/pabot) 2.7.0 +* [Robot Framework Pabot](https://github.com/mkorpela/pabot) 2.15.0 * [Robot Framework Requests](https://github.com/bulkan/robotframework-requests) 0.9.3 -* [Robot Framework SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary) 6.0.0 +* [Robot Framework SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary) 6.1.0 * [Robot Framework SSHLibrary](https://github.com/robotframework/SSHLibrary) 3.8.0 * [Axe Selenium Library](https://github.com/mozilla-services/axe-selenium-python) 2.1.6 * Firefox 104.0 From 4ca695a6f139740a1e4c4d024411abfd96e1ebc4 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Tue, 20 Jun 2023 23:59:43 +0100 Subject: [PATCH 16/45] Issue #430 - Fix failing CI pipeline --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index bca4be4..57f131c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM fedora:36 +FROM fedora:39 MAINTAINER Paul Podgorsek LABEL description Robot Framework in Docker. From 9c3eb3002c8fb0563b029fe71bf3520577512fc1 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Wed, 21 Jun 2023 00:00:47 +0100 Subject: [PATCH 17/45] Issue #443 - Upgrade Robot Framework to version 6.1 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 57f131c..481b0f6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -44,7 +44,7 @@ ENV GECKO_DRIVER_VERSION v0.30.0 ENV IMAP_LIBRARY_VERSION 0.4.5 ENV PABOT_VERSION 2.15.0 ENV REQUESTS_VERSION 0.9.3 -ENV ROBOT_FRAMEWORK_VERSION 6.0.2 +ENV ROBOT_FRAMEWORK_VERSION 6.1 ENV SELENIUM_LIBRARY_VERSION 6.1.0 ENV SSH_LIBRARY_VERSION 3.8.0 ENV XVFB_VERSION 1.20 From ee7b94132ad7de736e8a1e7d81ed9b25542d397f Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Wed, 21 Jun 2023 00:01:44 +0100 Subject: [PATCH 18/45] Issue #432 - Upgrade the AWS CLI to version 1.27.157 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 481b0f6..d46b3ea 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,7 +30,7 @@ ENV ROBOT_GID 1000 # Dependency versions ENV ALPINE_GLIBC 2.35-r0 -ENV AWS_CLI_VERSION 1.25.81 +ENV AWS_CLI_VERSION 1.27.157 ENV AXE_SELENIUM_LIBRARY_VERSION 2.1.6 ENV BROWSER_LIBRARY_VERSION 14.0.0 ENV CHROMIUM_VERSION 103.0 From 8a2f7e26b309b87de37827a65480b0a5b5ee5612 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Wed, 21 Jun 2023 00:02:32 +0100 Subject: [PATCH 19/45] Issue #433 - Upgrade the Browser library to version 16.2.0 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index d46b3ea..6b3ab5d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -32,7 +32,7 @@ ENV ROBOT_GID 1000 ENV ALPINE_GLIBC 2.35-r0 ENV AWS_CLI_VERSION 1.27.157 ENV AXE_SELENIUM_LIBRARY_VERSION 2.1.6 -ENV BROWSER_LIBRARY_VERSION 14.0.0 +ENV BROWSER_LIBRARY_VERSION 16.2.0 ENV CHROMIUM_VERSION 103.0 ENV DATABASE_LIBRARY_VERSION 1.2.4 ENV DATADRIVER_VERSION 1.6.0 From eedb66481d163301c039fa6db6a0d80041da0a4a Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Wed, 21 Jun 2023 00:03:19 +0100 Subject: [PATCH 20/45] Issue #434 - Upgrade Chromium to version 114.0 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 6b3ab5d..7b28fa6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -33,7 +33,7 @@ ENV ALPINE_GLIBC 2.35-r0 ENV AWS_CLI_VERSION 1.27.157 ENV AXE_SELENIUM_LIBRARY_VERSION 2.1.6 ENV BROWSER_LIBRARY_VERSION 16.2.0 -ENV CHROMIUM_VERSION 103.0 +ENV CHROMIUM_VERSION 114.0 ENV DATABASE_LIBRARY_VERSION 1.2.4 ENV DATADRIVER_VERSION 1.6.0 ENV DATETIMETZ_VERSION 1.0.6 From 8b9556ac8d98f83e9d2396fdb495eab0d40191fa Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Wed, 21 Jun 2023 00:04:00 +0100 Subject: [PATCH 21/45] Issue #435 - Upgrade the data driver to version 1.8.1 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 7b28fa6..92f1d8b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -35,7 +35,7 @@ ENV AXE_SELENIUM_LIBRARY_VERSION 2.1.6 ENV BROWSER_LIBRARY_VERSION 16.2.0 ENV CHROMIUM_VERSION 114.0 ENV DATABASE_LIBRARY_VERSION 1.2.4 -ENV DATADRIVER_VERSION 1.6.0 +ENV DATADRIVER_VERSION 1.8.1 ENV DATETIMETZ_VERSION 1.0.6 ENV FAKER_VERSION 5.0.0 ENV FIREFOX_VERSION 104.0 From d1513c388f85e089efac3583fd6cc23da5190134 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Wed, 21 Jun 2023 00:04:46 +0100 Subject: [PATCH 22/45] Issue #436 - Upgrade Firefox to version 114.0 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 92f1d8b..6aaee8e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -38,7 +38,7 @@ ENV DATABASE_LIBRARY_VERSION 1.2.4 ENV DATADRIVER_VERSION 1.8.1 ENV DATETIMETZ_VERSION 1.0.6 ENV FAKER_VERSION 5.0.0 -ENV FIREFOX_VERSION 104.0 +ENV FIREFOX_VERSION 114.0 ENV FTP_LIBRARY_VERSION 1.9 ENV GECKO_DRIVER_VERSION v0.30.0 ENV IMAP_LIBRARY_VERSION 0.4.5 From 37672ae4ebaa4fb2d5a23c61b6316e5ad2311ef6 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Wed, 21 Jun 2023 00:05:29 +0100 Subject: [PATCH 23/45] Issue #437 - Upgrade the IMAP library to version 0.4.6 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 6aaee8e..62262b3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -41,7 +41,7 @@ ENV FAKER_VERSION 5.0.0 ENV FIREFOX_VERSION 114.0 ENV FTP_LIBRARY_VERSION 1.9 ENV GECKO_DRIVER_VERSION v0.30.0 -ENV IMAP_LIBRARY_VERSION 0.4.5 +ENV IMAP_LIBRARY_VERSION 0.4.6 ENV PABOT_VERSION 2.15.0 ENV REQUESTS_VERSION 0.9.3 ENV ROBOT_FRAMEWORK_VERSION 6.1 From 86023a599d701b82e03550b0cb1429bda9dd151e Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Wed, 21 Jun 2023 00:06:04 +0100 Subject: [PATCH 24/45] Issue #438 - Upgrade Pabot to version 2.16.0 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 62262b3..8cc809b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -42,7 +42,7 @@ ENV FIREFOX_VERSION 114.0 ENV FTP_LIBRARY_VERSION 1.9 ENV GECKO_DRIVER_VERSION v0.30.0 ENV IMAP_LIBRARY_VERSION 0.4.6 -ENV PABOT_VERSION 2.15.0 +ENV PABOT_VERSION 2.16.0 ENV REQUESTS_VERSION 0.9.3 ENV ROBOT_FRAMEWORK_VERSION 6.1 ENV SELENIUM_LIBRARY_VERSION 6.1.0 From ef5a89e4183b68a1fadd0dd6897eca7bee03620a Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Wed, 21 Jun 2023 00:06:34 +0100 Subject: [PATCH 25/45] Issue #439 - Upgrade the Requests library to version 0.9.5 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 8cc809b..2eae724 100644 --- a/Dockerfile +++ b/Dockerfile @@ -43,7 +43,7 @@ ENV FTP_LIBRARY_VERSION 1.9 ENV GECKO_DRIVER_VERSION v0.30.0 ENV IMAP_LIBRARY_VERSION 0.4.6 ENV PABOT_VERSION 2.16.0 -ENV REQUESTS_VERSION 0.9.3 +ENV REQUESTS_VERSION 0.9.5 ENV ROBOT_FRAMEWORK_VERSION 6.1 ENV SELENIUM_LIBRARY_VERSION 6.1.0 ENV SSH_LIBRARY_VERSION 3.8.0 From a8bcf07f5a886827562b0c64e8317a8c200062e7 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Wed, 21 Jun 2023 19:17:16 +0100 Subject: [PATCH 26/45] Issue #430 - Fix failing CI pipeline --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 2eae724..b2ced36 100644 --- a/Dockerfile +++ b/Dockerfile @@ -40,7 +40,7 @@ ENV DATETIMETZ_VERSION 1.0.6 ENV FAKER_VERSION 5.0.0 ENV FIREFOX_VERSION 114.0 ENV FTP_LIBRARY_VERSION 1.9 -ENV GECKO_DRIVER_VERSION v0.30.0 +ENV GECKO_DRIVER_VERSION v0.33.0 ENV IMAP_LIBRARY_VERSION 0.4.6 ENV PABOT_VERSION 2.16.0 ENV REQUESTS_VERSION 0.9.5 From 4b84e61979fc8f807648c606a99e7ce3c0935e72 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Wed, 21 Jun 2023 22:40:17 +0100 Subject: [PATCH 27/45] Issue #430 - Fix failing CI pipeline * Reverted to an older version of Selenium (see https://github.com/robotframework/SeleniumLibrary/issues/1835) * Removed failing tests for the Requests library (the most important is to test that library can be used, not to replicate its own tests) --- Dockerfile | 5 ++++- test/requests.robot | 48 --------------------------------------------- 2 files changed, 4 insertions(+), 49 deletions(-) diff --git a/Dockerfile b/Dockerfile index b2ced36..301a5d3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -93,7 +93,10 @@ RUN pip3 install \ axe-selenium-python==$AXE_SELENIUM_LIBRARY_VERSION \ PyYAML \ # Install awscli to be able to upload test reports to AWS S3 - awscli==$AWS_CLI_VERSION + awscli==$AWS_CLI_VERSION \ + # Install an older Selenium version to avoid issues when running tests + # https://github.com/robotframework/SeleniumLibrary/issues/1835 + selenium==4.9.0 # Gecko drivers RUN dnf install -y \ diff --git a/test/requests.robot b/test/requests.robot index 5113cb3..e7c81bd 100644 --- a/test/requests.robot +++ b/test/requests.robot @@ -24,31 +24,6 @@ Get Requests with Url Parameters Should Be Equal As Strings ${resp.status_code} 200 Should Be Equal ${resp.json()['args']} ${params} -Get HTTPS & Verify Cert - [Tags] get get-cert - Create Session httpbin https://httpbin.org verify=True - ${resp}= GET On Session httpbin /get - Should Be Equal As Strings ${resp.status_code} 200 - -Post Request With URL Params - [Tags] post - Create Session httpbin http://httpbin.org - &{params}= Create Dictionary key=value key2=value2 - ${resp}= POST On Session httpbin /post params=${params} - Should Be Equal As Strings ${resp.status_code} 200 - -Post Request With No Data - [Tags] post - Create Session httpbin http://httpbin.org - ${resp}= POST On Session httpbin /post - Should Be Equal As Strings ${resp.status_code} 200 - -Put Request With No Data - [Tags] put - Create Session httpbin http://httpbin.org - ${resp}= PUT On Session httpbin /put - Should Be Equal As Strings ${resp.status_code} 200 - Post Request With No Dictionary [Tags] post Create Session httpbin http://httpbin.org debug=3 @@ -64,14 +39,6 @@ Put Request With URL Params ${resp}= PUT On Session httpbin /put params=${params} Should Be Equal As Strings ${resp.status_code} 200 -Put Request With No Dictionary - [Tags] put - Create Session httpbin http://httpbin.org - Set Test Variable ${data} some content - ${resp}= PUT On Session httpbin /put data=${data} - Should Be Equal As Strings ${resp.status_code} 200 - Should Contain ${resp.text} ${data} - Post Requests [Tags] post Create Session httpbin http://httpbin.org @@ -135,12 +102,6 @@ Delete Request With URL Params ${resp}= DELETE On Session httpbin url=/delete?key=value&key2=value2 Should Be Equal As Strings ${resp.status_code} 200 -Delete Request With No Data - [Tags] delete - Create Session httpbin http://httpbin.org - ${resp}= DELETE On Session httpbin /delete - Should Be Equal As Strings ${resp.status_code} 200 - Delete Request With Data [Tags] delete Create Session httpbin http://httpbin.org debug=3 @@ -151,15 +112,6 @@ Delete Request With Data Comment Dictionary Should Contain Value ${resp.json()['data']} bulkan Comment Dictionary Should Contain Value ${resp.json()['data']} evcimen -Patch Requests - [Tags] patch - Create Session httpbin http://httpbin.org - &{data}= Create Dictionary name=bulkan surname=evcimen - &{headers}= Create Dictionary Content-Type=application/x-www-form-urlencoded - ${resp}= PATCH On Session httpbin /patch data=${data} headers=${headers} - Dictionary Should Contain Value ${resp.json()['form']} bulkan - Dictionary Should Contain Value ${resp.json()['form']} evcimen - Post Request With Redirection [Tags] post Create Session jigsaw http://jigsaw.w3.org From 9ae973524d7a8f987d0db88a17ee82323515d9b4 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Wed, 21 Jun 2023 22:50:31 +0100 Subject: [PATCH 28/45] Issue #430 - Fix failing CI pipeline * Removed failing tests for the Requests library --- test/requests.robot | 37 ------------------------------------- 1 file changed, 37 deletions(-) diff --git a/test/requests.robot b/test/requests.robot index e7c81bd..1d5253a 100644 --- a/test/requests.robot +++ b/test/requests.robot @@ -89,13 +89,6 @@ Head Request ${resp}= HEAD On Session httpbin /headers Should Be Equal As Strings ${resp.status_code} 200 -Options Request - [Tags] options - Create Session httpbin http://httpbin.org - ${resp}= OPTIONS On Session httpbin /headers - Should Be Equal As Strings ${resp.status_code} 200 - Dictionary Should Contain Key ${resp.headers} allow - Delete Request With URL Params [Tags] delete Create Session httpbin http://httpbin.org @@ -112,36 +105,6 @@ Delete Request With Data Comment Dictionary Should Contain Value ${resp.json()['data']} bulkan Comment Dictionary Should Contain Value ${resp.json()['data']} evcimen -Post Request With Redirection - [Tags] post - Create Session jigsaw http://jigsaw.w3.org - ${resp}= POST On Session jigsaw /HTTP/300/302.html - Should Be Equal As Strings ${resp.status_code} 200 - ${resp}= POST On Session jigsaw /HTTP/300/302.html allow_redirects=${true} - Should Be Equal As Strings ${resp.status_code} 200 - -Post Request Without Redirection - [Tags] post - Create Session jigsaw http://jigsaw.w3.org debug=3 - ${resp}= POST On Session jigsaw /HTTP/300/302.html allow_redirects=${false} - ${status}= Convert To String ${resp.status_code} - Should Start With ${status} 30 - -Put Request With Redirection - [Tags] put - Create Session jigsaw http://jigsaw.w3.org debug=3 - ${resp}= PUT On Session jigsaw /HTTP/300/302.html - Should Be Equal As Strings ${resp.status_code} 200 - ${resp}= PUT On Session jigsaw /HTTP/300/302.html allow_redirects=${true} - Should Be Equal As Strings ${resp.status_code} 200 - -Put Request Without Redirection - [Tags] put - Create Session jigsaw http://jigsaw.w3.org - ${resp}= PUT On Session jigsaw /HTTP/300/302.html allow_redirects=${false} - ${status}= Convert To String ${resp.status_code} - Should Start With ${status} 30 - Do Not Pretty Print a JSON object [Tags] json Comment Define json variable. From 3f46424d47f80dd996494d74a68b858db15e46b2 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Wed, 21 Jun 2023 22:59:05 +0100 Subject: [PATCH 29/45] Issue #430 - Fix failing CI pipeline * Removed failing tests for the Requests library (the httpbin API is very unstable and unreliable) --- test/requests.robot | 98 --------------------------------------------- 1 file changed, 98 deletions(-) diff --git a/test/requests.robot b/test/requests.robot index 1d5253a..267adfd 100644 --- a/test/requests.robot +++ b/test/requests.robot @@ -15,101 +15,3 @@ Get Requests Should Be Equal As Strings ${resp.status_code} 200 ${resp}= GET On Session bing / Should Be Equal As Strings ${resp.status_code} 200 - -Get Requests with Url Parameters - [Tags] get - Create Session httpbin http://httpbin.org - &{params}= Create Dictionary key=value key2=value2 - ${resp}= GET On Session httpbin /get params=${params} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal ${resp.json()['args']} ${params} - -Post Request With No Dictionary - [Tags] post - Create Session httpbin http://httpbin.org debug=3 - Set Test Variable ${data} some content - ${resp}= POST On Session httpbin /post data=${data} - Should Be Equal As Strings ${resp.status_code} 200 - Should Contain ${resp.text} ${data} - -Put Request With URL Params - [Tags] put - Create Session httpbin http://httpbin.org - &{params}= Create Dictionary key=value key2=value2 - ${resp}= PUT On Session httpbin /put params=${params} - Should Be Equal As Strings ${resp.status_code} 200 - -Post Requests - [Tags] post - Create Session httpbin http://httpbin.org - &{data}= Create Dictionary name=bulkan surname=evcimen - &{headers}= Create Dictionary Content-Type=application/x-www-form-urlencoded - ${resp}= POST On Session httpbin /post data=${data} headers=${headers} - Dictionary Should Contain Value ${resp.json()['form']} bulkan - Dictionary Should Contain Value ${resp.json()['form']} evcimen - -Post With Unicode Data - [Tags] post - Create Session httpbin http://httpbin.org debug=3 - &{data}= Create Dictionary name=度假村 - &{headers}= Create Dictionary Content-Type=application/x-www-form-urlencoded - ${resp}= POST On Session httpbin /post data=${data} headers=${headers} - Dictionary Should Contain Value ${resp.json()['form']} 度假村 - -Post Request With Unicode Data - [Tags] post - Create Session httpbin http://httpbin.org debug=3 - &{data}= Create Dictionary name=度假村 - &{headers}= Create Dictionary Content-Type=application/x-www-form-urlencoded - ${resp}= POST On Session httpbin /post data=${data} headers=${headers} - Dictionary Should Contain Value ${resp.json()['form']} 度假村 - -Post Request With Data and File - [Tags] post - Create Session httpbin http://httpbin.org - &{data}= Create Dictionary name=mallikarjunarao surname=kosuri - Create File foobar.txt content=foobar - ${file_data}= Get File foobar.txt - &{files}= Create Dictionary file=${file_data} - ${resp}= POST On Session httpbin /post files=${files} data=${data} - Should Be Equal As Strings ${resp.status_code} 200 - -Put Requests - [Tags] put - Create Session httpbin http://httpbin.org - &{data}= Create Dictionary name=bulkan surname=evcimen - &{headers}= Create Dictionary Content-Type=application/x-www-form-urlencoded - ${resp}= PUT On Session httpbin /put data=${data} headers=${headers} - Dictionary Should Contain Value ${resp.json()['form']} bulkan - Dictionary Should Contain Value ${resp.json()['form']} evcimen - -Head Request - [Tags] head - Create Session httpbin http://httpbin.org - ${resp}= HEAD On Session httpbin /headers - Should Be Equal As Strings ${resp.status_code} 200 - -Delete Request With URL Params - [Tags] delete - Create Session httpbin http://httpbin.org - ${resp}= DELETE On Session httpbin url=/delete?key=value&key2=value2 - Should Be Equal As Strings ${resp.status_code} 200 - -Delete Request With Data - [Tags] delete - Create Session httpbin http://httpbin.org debug=3 - &{data}= Create Dictionary name=bulkan surname=evcimen - ${resp}= DELETE On Session httpbin /delete data=${data} - Should Be Equal As Strings ${resp.status_code} 200 - Log ${resp.content} - Comment Dictionary Should Contain Value ${resp.json()['data']} bulkan - Comment Dictionary Should Contain Value ${resp.json()['data']} evcimen - -Do Not Pretty Print a JSON object - [Tags] json - Comment Define json variable. - Create Session httpbin http://httpbin.org - &{var}= Create Dictionary key_one=true key_two=this is a test string - ${resp}= GET On Session httpbin /get params=${var} - Should Be Equal As Strings ${resp.status_code} 200 - Dictionaries Should Be Equal ${resp.json()['args']} ${var} From 4968e931290be4753b4447ddde2e96ca9f554c8d Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Thu, 22 Jun 2023 07:49:12 +0100 Subject: [PATCH 30/45] Issue #430 - Fix failing CI pipeline * Removed failing tests which were relying on Yahoo Search --- test/selenium.robot | 4 ---- 1 file changed, 4 deletions(-) diff --git a/test/selenium.robot b/test/selenium.robot index bb6ead2..e2004c6 100644 --- a/test/selenium.robot +++ b/test/selenium.robot @@ -12,7 +12,3 @@ Visit Bing Visit Google Open Browser https://www.google.com ${BROWSER} Capture Page Screenshot - -Visit Yahoo - Open Browser https://search.yahoo.com ${BROWSER} - Capture Page Screenshot From b163e5027c33baf5f50c4d2d4d4693dab18da2e8 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Thu, 22 Jun 2023 08:26:05 +0100 Subject: [PATCH 31/45] Issue #432 - Upgrade the AWS CLI to version 1.27.157 * Updated the README --- Dockerfile | 1 - README.md | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 301a5d3..f6fc404 100644 --- a/Dockerfile +++ b/Dockerfile @@ -29,7 +29,6 @@ ENV ROBOT_UID 1000 ENV ROBOT_GID 1000 # Dependency versions -ENV ALPINE_GLIBC 2.35-r0 ENV AWS_CLI_VERSION 1.27.157 ENV AXE_SELENIUM_LIBRARY_VERSION 2.1.6 ENV BROWSER_LIBRARY_VERSION 16.2.0 diff --git a/README.md b/README.md index af75b56..22c956b 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ The versions used are: * [Axe Selenium Library](https://github.com/mozilla-services/axe-selenium-python) 2.1.6 * Firefox 104.0 * Chromium 103.0 -* [Amazon AWS CLI](https://pypi.org/project/awscli/) 1.25.81 +* [Amazon AWS CLI](https://pypi.org/project/awscli/) 1.27.157 As stated by [the official GitHub project](https://github.com/robotframework/Selenium2Library), starting from version 3.0, Selenium2Library is renamed to SeleniumLibrary and this project exists mainly to help with transitioning. The Selenium2Library 3.0.0 is also the last release and for new releases, please look at the [SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary) project. From 2d677990521101123c9db0b93982e06cffac43f7 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Thu, 22 Jun 2023 08:27:10 +0100 Subject: [PATCH 32/45] Issue #433 - Upgrade the Browser library to version 16.2.0 * Updated the README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 22c956b..514c23e 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ The versioning of this image follows the one of Robot Framework: The versions used are: * [Robot Framework](https://github.com/robotframework/robotframework) 6.0.2 -* [Robot Framework Browser Library](https://github.com/MarketSquare/robotframework-browser) 14.0.0 +* [Robot Framework Browser Library](https://github.com/MarketSquare/robotframework-browser) 16.2.0 * [Robot Framework DatabaseLibrary](https://github.com/franz-see/Robotframework-Database-Library) 1.2.4 * [Robot Framework Datadriver](https://github.com/Snooz82/robotframework-datadriver) 1.6.0 * [Robot Framework DateTimeTZ](https://github.com/testautomation/DateTimeTZ) 1.0.6 From bf7d71782cf9ac27603fd00ec1ac2a36372261cf Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Thu, 22 Jun 2023 08:28:17 +0100 Subject: [PATCH 33/45] Issue #434 - Upgrade Chromium to version 114.0 * Updated the README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 514c23e..753f17b 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ The versions used are: * [Robot Framework SSHLibrary](https://github.com/robotframework/SSHLibrary) 3.8.0 * [Axe Selenium Library](https://github.com/mozilla-services/axe-selenium-python) 2.1.6 * Firefox 104.0 -* Chromium 103.0 +* Chromium 114.0 * [Amazon AWS CLI](https://pypi.org/project/awscli/) 1.27.157 As stated by [the official GitHub project](https://github.com/robotframework/Selenium2Library), starting from version 3.0, Selenium2Library is renamed to SeleniumLibrary and this project exists mainly to help with transitioning. The Selenium2Library 3.0.0 is also the last release and for new releases, please look at the [SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary) project. From 4a73f46e771fd4db41bf7ec6c16ee0e7396a5ade Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Thu, 22 Jun 2023 08:29:14 +0100 Subject: [PATCH 34/45] Issue #435 - Upgrade the data driver to version 1.8.1 * Updated the README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 753f17b..5b862f2 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ The versions used are: * [Robot Framework](https://github.com/robotframework/robotframework) 6.0.2 * [Robot Framework Browser Library](https://github.com/MarketSquare/robotframework-browser) 16.2.0 * [Robot Framework DatabaseLibrary](https://github.com/franz-see/Robotframework-Database-Library) 1.2.4 -* [Robot Framework Datadriver](https://github.com/Snooz82/robotframework-datadriver) 1.6.0 +* [Robot Framework Datadriver](https://github.com/Snooz82/robotframework-datadriver) 1.8.1 * [Robot Framework DateTimeTZ](https://github.com/testautomation/DateTimeTZ) 1.0.6 * [Robot Framework Faker](https://github.com/guykisel/robotframework-faker) 5.0.0 * [Robot Framework FTPLibrary](https://github.com/kowalpy/Robot-Framework-FTP-Library) 1.9 From 2129c548a421283c46970e8d7787b80a8157c9e5 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Thu, 22 Jun 2023 08:30:10 +0100 Subject: [PATCH 35/45] Issue #440 - Upgrade Robot Framework to version 6.1 * Updated the README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5b862f2..bc271f0 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ The versioning of this image follows the one of Robot Framework: The versions used are: -* [Robot Framework](https://github.com/robotframework/robotframework) 6.0.2 +* [Robot Framework](https://github.com/robotframework/robotframework) 6.1 * [Robot Framework Browser Library](https://github.com/MarketSquare/robotframework-browser) 16.2.0 * [Robot Framework DatabaseLibrary](https://github.com/franz-see/Robotframework-Database-Library) 1.2.4 * [Robot Framework Datadriver](https://github.com/Snooz82/robotframework-datadriver) 1.8.1 From b4feb24dab5da9593dc3bff2e5619daea1a7c2e5 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Thu, 22 Jun 2023 08:32:28 +0100 Subject: [PATCH 36/45] Issue #436 - Upgrade Firefox to version 114.0 * Updated the README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bc271f0..e7b42db 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ The versions used are: * [Robot Framework SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary) 6.1.0 * [Robot Framework SSHLibrary](https://github.com/robotframework/SSHLibrary) 3.8.0 * [Axe Selenium Library](https://github.com/mozilla-services/axe-selenium-python) 2.1.6 -* Firefox 104.0 +* Firefox 114.0 * Chromium 114.0 * [Amazon AWS CLI](https://pypi.org/project/awscli/) 1.27.157 From c4fecb01c305cef36bdb4de4334718e2c5d02e02 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Thu, 22 Jun 2023 08:33:07 +0100 Subject: [PATCH 37/45] Issue #437 - Upgrade the IMAP library to version 0.4.6 * Updated the README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e7b42db..456082b 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ The versions used are: * [Robot Framework DateTimeTZ](https://github.com/testautomation/DateTimeTZ) 1.0.6 * [Robot Framework Faker](https://github.com/guykisel/robotframework-faker) 5.0.0 * [Robot Framework FTPLibrary](https://github.com/kowalpy/Robot-Framework-FTP-Library) 1.9 -* [Robot Framework IMAPLibrary 2](https://pypi.org/project/robotframework-imaplibrary2/) 0.4.5 +* [Robot Framework IMAPLibrary 2](https://pypi.org/project/robotframework-imaplibrary2/) 0.4.6 * [Robot Framework Pabot](https://github.com/mkorpela/pabot) 2.15.0 * [Robot Framework Requests](https://github.com/bulkan/robotframework-requests) 0.9.3 * [Robot Framework SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary) 6.1.0 From df8c0ef2ff6fdd26315cb637e211c2d37f778d0a Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Thu, 22 Jun 2023 08:33:43 +0100 Subject: [PATCH 38/45] Issue #438 - Upgrade Pabot to version 2.16.0 * Updated the README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 456082b..68099da 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ The versions used are: * [Robot Framework Faker](https://github.com/guykisel/robotframework-faker) 5.0.0 * [Robot Framework FTPLibrary](https://github.com/kowalpy/Robot-Framework-FTP-Library) 1.9 * [Robot Framework IMAPLibrary 2](https://pypi.org/project/robotframework-imaplibrary2/) 0.4.6 -* [Robot Framework Pabot](https://github.com/mkorpela/pabot) 2.15.0 +* [Robot Framework Pabot](https://github.com/mkorpela/pabot) 2.16.0 * [Robot Framework Requests](https://github.com/bulkan/robotframework-requests) 0.9.3 * [Robot Framework SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary) 6.1.0 * [Robot Framework SSHLibrary](https://github.com/robotframework/SSHLibrary) 3.8.0 From 5c9af076cee4cd8893d6cc0506b3600ab88601fe Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Thu, 22 Jun 2023 08:34:29 +0100 Subject: [PATCH 39/45] Issue #439 - Upgrade the Requests library to version 0.9.5 * Updated the README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 68099da..886fac5 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ The versions used are: * [Robot Framework FTPLibrary](https://github.com/kowalpy/Robot-Framework-FTP-Library) 1.9 * [Robot Framework IMAPLibrary 2](https://pypi.org/project/robotframework-imaplibrary2/) 0.4.6 * [Robot Framework Pabot](https://github.com/mkorpela/pabot) 2.16.0 -* [Robot Framework Requests](https://github.com/bulkan/robotframework-requests) 0.9.3 +* [Robot Framework Requests](https://github.com/bulkan/robotframework-requests) 0.9.5 * [Robot Framework SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary) 6.1.0 * [Robot Framework SSHLibrary](https://github.com/robotframework/SSHLibrary) 3.8.0 * [Axe Selenium Library](https://github.com/mozilla-services/axe-selenium-python) 2.1.6 From d5b6cad3bbe34f34cf74296472983e67800338d2 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Mon, 4 Sep 2023 13:38:12 +0100 Subject: [PATCH 40/45] Issue #446 - Cannot build an image based on the Dockerfile * Updated Firefox to version 117.0 * Updated Chromium to version 116.0 * Updated the AWS CLI to version 1.29.40 --- Dockerfile | 12 +++++++----- README.md | 6 +++--- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index f6fc404..4df418c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM fedora:39 +FROM fedora:38 MAINTAINER Paul Podgorsek LABEL description Robot Framework in Docker. @@ -29,15 +29,15 @@ ENV ROBOT_UID 1000 ENV ROBOT_GID 1000 # Dependency versions -ENV AWS_CLI_VERSION 1.27.157 +ENV AWS_CLI_VERSION 1.29.40 ENV AXE_SELENIUM_LIBRARY_VERSION 2.1.6 ENV BROWSER_LIBRARY_VERSION 16.2.0 -ENV CHROMIUM_VERSION 114.0 +ENV CHROMIUM_VERSION 116.0 ENV DATABASE_LIBRARY_VERSION 1.2.4 ENV DATADRIVER_VERSION 1.8.1 ENV DATETIMETZ_VERSION 1.0.6 ENV FAKER_VERSION 5.0.0 -ENV FIREFOX_VERSION 114.0 +ENV FIREFOX_VERSION 117.0 ENV FTP_LIBRARY_VERSION 1.9 ENV GECKO_DRIVER_VERSION v0.33.0 ENV IMAP_LIBRARY_VERSION 0.4.6 @@ -62,9 +62,12 @@ RUN dnf upgrade -y --refresh \ chromedriver-${CHROMIUM_VERSION}* \ chromium-${CHROMIUM_VERSION}* \ firefox-${FIREFOX_VERSION}* \ + gcc \ + gcc-c++ \ npm \ nodejs \ python3-pip \ + python3-pyyaml \ tzdata \ xorg-x11-server-Xvfb-${XVFB_VERSION}* \ && dnf clean all @@ -90,7 +93,6 @@ RUN pip3 install \ robotframework-seleniumlibrary==$SELENIUM_LIBRARY_VERSION \ robotframework-sshlibrary==$SSH_LIBRARY_VERSION \ axe-selenium-python==$AXE_SELENIUM_LIBRARY_VERSION \ - PyYAML \ # Install awscli to be able to upload test reports to AWS S3 awscli==$AWS_CLI_VERSION \ # Install an older Selenium version to avoid issues when running tests diff --git a/README.md b/README.md index 886fac5..62cc40e 100644 --- a/README.md +++ b/README.md @@ -28,9 +28,9 @@ The versions used are: * [Robot Framework SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary) 6.1.0 * [Robot Framework SSHLibrary](https://github.com/robotframework/SSHLibrary) 3.8.0 * [Axe Selenium Library](https://github.com/mozilla-services/axe-selenium-python) 2.1.6 -* Firefox 114.0 -* Chromium 114.0 -* [Amazon AWS CLI](https://pypi.org/project/awscli/) 1.27.157 +* Firefox 117.0 +* Chromium 116.0 +* [Amazon AWS CLI](https://pypi.org/project/awscli/) 1.29.40 As stated by [the official GitHub project](https://github.com/robotframework/Selenium2Library), starting from version 3.0, Selenium2Library is renamed to SeleniumLibrary and this project exists mainly to help with transitioning. The Selenium2Library 3.0.0 is also the last release and for new releases, please look at the [SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary) project. From ca571932cd752f1d6c1cae22f682c642cf37135d Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Wed, 6 Sep 2023 11:34:31 +0200 Subject: [PATCH 41/45] Issue #352 - Add support for Microsoft Edge * Merged the latest changes from the master branch * Fixed issues with the CI tests, as the Browser library currently doesn't support Microsoft Edge by default --- .github/workflows/docker-build.yml | 150 ++++++++++++++++++++++++++++- Dockerfile | 14 +-- README.md | 4 +- 3 files changed, 158 insertions(+), 10 deletions(-) diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index e25ce0a..f75cacb 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -18,7 +18,7 @@ env: IMAGE_NAME: docker-robot-framework:ci jobs: - # Run tests. + # Build and run tests. # See also https://docs.docker.com/docker-hub/builds/automated-testing/ build: runs-on: ubuntu-latest @@ -28,7 +28,6 @@ jobs: include: - browser: "chrome" - browser: "firefox" - - browser: "edge" env: BROWSER: ${{ matrix.browser }} steps: @@ -76,3 +75,150 @@ jobs: - name: Datetime run: docker run --user=2000:2000 --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER -e TZ="America/New_York" $IMAGE_NAME + + # Build and run tests for Microsoft Edge. + # This must be processed separately from Firefox and Chrome, due to the Browser library not handling Microsoft Edge by default + # and having no easy way to install new browsers unfortunately. + build-microsoft-edge: + runs-on: ubuntu-latest + env: + BROWSER: "edge" + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Build image + run: + docker build . --tag $IMAGE_NAME --file Dockerfile + - name: Basic Test + run: + podman run --shm-size=1g \ + -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ + -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ + -v `pwd`/test/selenium.robot:/opt/robotframework/tests/selenium.robot:Z \ + -v `pwd`/test/timezones.robot:/opt/robotframework/tests/timezones.robot:Z \ + -e BROWSER=$BROWSER \ + test + - name: Colour Depth 16 Test + run: + podman run --shm-size=1g \ + -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ + -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ + -v `pwd`/test/selenium.robot:/opt/robotframework/tests/selenium.robot:Z \ + -v `pwd`/test/timezones.robot:/opt/robotframework/tests/timezones.robot:Z \ + -e BROWSER=$BROWSER \ + -e SCREEN_COLOUR_DEPTH=16 \ + $IMAGE_NAME + - name: Screen Width 800x600 Test + run: + podman run --shm-size=1g \ + -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ + -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ + -v `pwd`/test/selenium.robot:/opt/robotframework/tests/selenium.robot:Z \ + -v `pwd`/test/timezones.robot:/opt/robotframework/tests/timezones.robot:Z \ + -e BROWSER=$BROWSER \ + -e SCREEN_WIDTH=800 \ + -e SCREEN_HEIGHT=600 \ + $IMAGE_NAME + - name: Screen Width 1024x768 Test + run: + podman run --shm-size=1g \ + -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ + -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ + -v `pwd`/test/selenium.robot:/opt/robotframework/tests/selenium.robot:Z \ + -v `pwd`/test/timezones.robot:/opt/robotframework/tests/timezones.robot:Z \ + -e BROWSER=$BROWSER \ + -e SCREEN_WIDTH=1024 \ + -e SCREEN_HEIGHT=768 \ + $IMAGE_NAME + - name: Screen Width 1280x1024 Test + run: + podman run --shm-size=1g \ + -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ + -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ + -v `pwd`/test/selenium.robot:/opt/robotframework/tests/selenium.robot:Z \ + -v `pwd`/test/timezones.robot:/opt/robotframework/tests/timezones.robot:Z \ + -e BROWSER=$BROWSER \ + -e SCREEN_WIDTH=1280 \ + -e SCREEN_HEIGHT=1024 \ + $IMAGE_NAME + - name: Screen Width 2560x1440 Test + run: + podman run --shm-size=1g \ + -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ + -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ + -v `pwd`/test/selenium.robot:/opt/robotframework/tests/selenium.robot:Z \ + -v `pwd`/test/timezones.robot:/opt/robotframework/tests/timezones.robot:Z \ + -e BROWSER=$BROWSER \ + -e SCREEN_WIDTH=2560 \ + -e SCREEN_HEIGHT=1440 \ + $IMAGE_NAME + - name: Screen Width 3840x2160 Test + run: + podman run --shm-size=1g \ + -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ + -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ + -v `pwd`/test/selenium.robot:/opt/robotframework/tests/selenium.robot:Z \ + -v `pwd`/test/timezones.robot:/opt/robotframework/tests/timezones.robot:Z \ + -e BROWSER=$BROWSER \ + -e SCREEN_WIDTH=3840 \ + -e SCREEN_HEIGHT=2160 \ + $IMAGE_NAME + - name: Debug Log Level Test + run: + podman run --shm-size=1g \ + -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ + -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ + -v `pwd`/test/selenium.robot:/opt/robotframework/tests/selenium.robot:Z \ + -v `pwd`/test/timezones.robot:/opt/robotframework/tests/timezones.robot:Z \ + -e BROWSER=$BROWSER \ + -e ROBOT_OPTIONS="--loglevel DEBUG" \ + $IMAGE_NAME + - name: Basic Multithreaded Test + run: + podman run --shm-size=1g \ + -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ + -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ + -v `pwd`/test/selenium.robot:/opt/robotframework/tests/selenium.robot:Z \ + -v `pwd`/test/timezones.robot:/opt/robotframework/tests/timezones.robot:Z \ + -e BROWSER=$BROWSER \ + -e ROBOT_THREADS=4 \ + $IMAGE_NAME + - name: Test Level Multithreaded Test + run: + podman run --shm-size=1g \ + -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ + -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ + -v `pwd`/test/selenium.robot:/opt/robotframework/tests/selenium.robot:Z \ + -v `pwd`/test/timezones.robot:/opt/robotframework/tests/timezones.robot:Z \ + -e BROWSER=$BROWSER \ + -e ROBOT_THREADS=4 \ + -e PABOT_OPTIONS="--testlevelsplit" \ + $IMAGE_NAME + - name: Custom User Test + run: + podman run --user=2000 --shm-size=1g \ + -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ + -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ + -v `pwd`/test/selenium.robot:/opt/robotframework/tests/selenium.robot:Z \ + -v `pwd`/test/timezones.robot:/opt/robotframework/tests/timezones.robot:Z \ + -e BROWSER=$BROWSER \ + $IMAGE_NAME + - name: Custom User and Group Test + run: + podman run --user=2000:2000 --shm-size=1g \ + -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ + -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ + -v `pwd`/test/selenium.robot:/opt/robotframework/tests/selenium.robot:Z \ + -v `pwd`/test/timezones.robot:/opt/robotframework/tests/timezones.robot:Z \ + -e BROWSER=$BROWSER \ + $IMAGE_NAME + - name: Datetime + run: + podman run --user=2000:2000 --shm-size=1g \ + -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ + -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ + -v `pwd`/test/selenium.robot:/opt/robotframework/tests/selenium.robot:Z \ + -v `pwd`/test/timezones.robot:/opt/robotframework/tests/timezones.robot:Z \ + -e BROWSER=$BROWSER \ + -e TZ="America/New_York" \ + $IMAGE_NAME diff --git a/Dockerfile b/Dockerfile index c39cadf..3aca760 100644 --- a/Dockerfile +++ b/Dockerfile @@ -36,7 +36,7 @@ ENV CHROMIUM_VERSION 116.0 ENV DATABASE_LIBRARY_VERSION 1.2.4 ENV DATADRIVER_VERSION 1.8.1 ENV DATETIMETZ_VERSION 1.0.6 -ENV EDGE_VERSION 101.0.1210.39 +ENV MICROSOFT_EDGE_VERSION 116.0.1938.69 ENV FAKER_VERSION 5.0.0 ENV FIREFOX_VERSION 117.0 ENV FTP_LIBRARY_VERSION 1.9 @@ -119,23 +119,23 @@ RUN dnf install -y \ # Install Microsoft Edge & webdriver RUN rpm --import https://packages.microsoft.com/keys/microsoft.asc \ && dnf config-manager --add-repo https://packages.microsoft.com/yumrepos/edge \ - && dnf makecache \ && dnf install -y \ - microsoft-edge-stable-${EDGE_VERSION} \ + microsoft-edge-stable-${MICROSOFT_EDGE_VERSION} \ wget \ zip \ - && wget -q "https://msedgedriver.azureedge.net/${EDGE_VERSION}/edgedriver_linux64.zip" \ + && wget -q "https://msedgedriver.azureedge.net/${MICROSOFT_EDGE_VERSION}/edgedriver_linux64.zip" \ && unzip edgedriver_linux64.zip -d edge \ - && mv edge/msedgedriver /opt/robotframework/drivers/ \ + && mv edge/msedgedriver /opt/robotframework/drivers/msedgedriver \ && rm -Rf edgedriver_linux64.zip edge/ \ -# IMPORTANT: don't remove the wget package because it's a dependency of Microsoft Edge + # IMPORTANT: don't remove the wget package because it's a dependency of Microsoft Edge && dnf remove -y \ zip \ && dnf clean all -# Install the Node dependencies for the Browser library +ENV PATH=/opt/microsoft/msedge:$PATH + # FIXME: Playright currently doesn't support relying on system browsers, which is why the `--skip-browsers` parameter cannot be used here. RUN rfbrowser init diff --git a/README.md b/README.md index de267e1..53ca220 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ The versions used are: * [Axe Selenium Library](https://github.com/mozilla-services/axe-selenium-python) 2.1.6 * Firefox 117.0 * Chromium 116.0 -* Edge 101.0.1210.39 +* Microsoft Edge 116.0.1938.69 * [Amazon AWS CLI](https://pypi.org/project/awscli/) 1.29.40 As stated by [the official GitHub project](https://github.com/robotframework/Selenium2Library), starting from version 3.0, Selenium2Library is renamed to SeleniumLibrary and this project exists mainly to help with transitioning. The Selenium2Library 3.0.0 is also the last release and for new releases, please look at the [SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary) project. @@ -50,6 +50,8 @@ Browsers can be easily switched. It is recommended to define `${BROWSER} %{BROWS When running your tests, simply add `-e BROWSER=chrome`, `-e BROWSER=firefox` or `-e BROWSER=edge`to the run command. +Please note: `edge` will work with Selenium but not the Browser Library, as the latter currently doesn't have an easy mechanism to install additional browsers. Playwright, on which the Browser library relies, cannot install additional browsers on Linux platforms other than Ubuntu/Debian and [suggests using Chromium to test Microsoft Edge scenarios](https://playwright.dev/docs/browsers), unless you require Edge-specific capabilities. + ### Changing the container's screen resolution It is possible to define the settings of the virtual screen in which the browser is run by changing several environment variables: From 5fadc05905cf260996c4fe4babaaf2584247878c Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Wed, 6 Sep 2023 11:51:13 +0200 Subject: [PATCH 42/45] Issue #352 - Add support for Microsoft Edge * Updated the README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 53ca220..6c30429 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ -# Robot Framework in Docker, with Firefox, Chrome and Edge +# Robot Framework in Docker, with Firefox, Chrome and Microsoft Edge ## What is it? This project consists of a Docker image containing a Robot Framework installation. -This installation also contains Firefox, Chrome, Edge and the Selenium library for Robot Framework. The test cases and reports should be mounted as volumes. +This installation also contains Firefox, Chrome, Microsoft Edge and the Selenium library for Robot Framework. The test cases and reports should be mounted as volumes. ## Versioning From 27c85174a9ece583daeab24a39c82472435412df Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Wed, 6 Sep 2023 12:09:57 +0200 Subject: [PATCH 43/45] Issue #352 - Add support for Microsoft Edge * Fixed a syntax mistake --- .github/workflows/docker-build.yml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index f75cacb..7715ff8 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -90,7 +90,7 @@ jobs: run: docker build . --tag $IMAGE_NAME --file Dockerfile - name: Basic Test - run: + run: | podman run --shm-size=1g \ -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ @@ -99,7 +99,7 @@ jobs: -e BROWSER=$BROWSER \ test - name: Colour Depth 16 Test - run: + run: | podman run --shm-size=1g \ -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ @@ -109,7 +109,7 @@ jobs: -e SCREEN_COLOUR_DEPTH=16 \ $IMAGE_NAME - name: Screen Width 800x600 Test - run: + run: | podman run --shm-size=1g \ -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ @@ -120,7 +120,7 @@ jobs: -e SCREEN_HEIGHT=600 \ $IMAGE_NAME - name: Screen Width 1024x768 Test - run: + run: | podman run --shm-size=1g \ -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ @@ -131,7 +131,7 @@ jobs: -e SCREEN_HEIGHT=768 \ $IMAGE_NAME - name: Screen Width 1280x1024 Test - run: + run: | podman run --shm-size=1g \ -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ @@ -142,7 +142,7 @@ jobs: -e SCREEN_HEIGHT=1024 \ $IMAGE_NAME - name: Screen Width 2560x1440 Test - run: + run: | podman run --shm-size=1g \ -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ @@ -153,7 +153,7 @@ jobs: -e SCREEN_HEIGHT=1440 \ $IMAGE_NAME - name: Screen Width 3840x2160 Test - run: + run: | podman run --shm-size=1g \ -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ @@ -164,7 +164,7 @@ jobs: -e SCREEN_HEIGHT=2160 \ $IMAGE_NAME - name: Debug Log Level Test - run: + run: | podman run --shm-size=1g \ -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ @@ -174,7 +174,7 @@ jobs: -e ROBOT_OPTIONS="--loglevel DEBUG" \ $IMAGE_NAME - name: Basic Multithreaded Test - run: + run: | podman run --shm-size=1g \ -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ @@ -184,7 +184,7 @@ jobs: -e ROBOT_THREADS=4 \ $IMAGE_NAME - name: Test Level Multithreaded Test - run: + run: | podman run --shm-size=1g \ -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ @@ -195,7 +195,7 @@ jobs: -e PABOT_OPTIONS="--testlevelsplit" \ $IMAGE_NAME - name: Custom User Test - run: + run: | podman run --user=2000 --shm-size=1g \ -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ @@ -204,7 +204,7 @@ jobs: -e BROWSER=$BROWSER \ $IMAGE_NAME - name: Custom User and Group Test - run: + run: | podman run --user=2000:2000 --shm-size=1g \ -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ @@ -213,7 +213,7 @@ jobs: -e BROWSER=$BROWSER \ $IMAGE_NAME - name: Datetime - run: + run: | podman run --user=2000:2000 --shm-size=1g \ -v `pwd`/test/faker.robot:/opt/robotframework/tests/faker.robot:Z \ -v `pwd`/test/requests.robot:/opt/robotframework/tests/requests.robot:Z \ From 7f9b0843f3feef3ad1d35d465cc303235edc8410 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Wed, 6 Sep 2023 12:21:05 +0200 Subject: [PATCH 44/45] Issue #352 - Add support for Microsoft Edge * Fixed a syntax mistake --- .github/workflows/docker-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index 7715ff8..8c37c57 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -97,7 +97,7 @@ jobs: -v `pwd`/test/selenium.robot:/opt/robotframework/tests/selenium.robot:Z \ -v `pwd`/test/timezones.robot:/opt/robotframework/tests/timezones.robot:Z \ -e BROWSER=$BROWSER \ - test + $IMAGE_NAME - name: Colour Depth 16 Test run: | podman run --shm-size=1g \ From a2d482d3963960ea52c81a550dd92d2636579374 Mon Sep 17 00:00:00 2001 From: Paul Podgorsek Date: Wed, 6 Sep 2023 12:34:27 +0200 Subject: [PATCH 45/45] Issue #352 - Add support for Microsoft Edge * Replaced Docker by Podman in the CI pipeline --- .github/workflows/docker-build.yml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index 8c37c57..98a5584 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -35,46 +35,46 @@ jobs: uses: actions/checkout@v2 - name: Build image run: - docker build . --tag $IMAGE_NAME --file Dockerfile + podman build . --tag $IMAGE_NAME --file Dockerfile - name: Basic Test run: - docker run --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER $IMAGE_NAME + podman run --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER $IMAGE_NAME - name: Colour Depth 16 Test run: - docker run --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER -e SCREEN_COLOUR_DEPTH=16 $IMAGE_NAME + podman run --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER -e SCREEN_COLOUR_DEPTH=16 $IMAGE_NAME - name: Screen Width 800x600 Test run: - docker run --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER -e SCREEN_WIDTH=800 -e SCREEN_HEIGHT=600 $IMAGE_NAME + podman run --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER -e SCREEN_WIDTH=800 -e SCREEN_HEIGHT=600 $IMAGE_NAME - name: Screen Width 1024x768 Test run: - docker run --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER -e SCREEN_WIDTH=1024 -e SCREEN_HEIGHT=768 $IMAGE_NAME + podman run --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER -e SCREEN_WIDTH=1024 -e SCREEN_HEIGHT=768 $IMAGE_NAME - name: Screen Width 1280x1024 Test run: - docker run --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER -e SCREEN_WIDTH=1280 -e SCREEN_HEIGHT=1024 $IMAGE_NAME + podman run --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER -e SCREEN_WIDTH=1280 -e SCREEN_HEIGHT=1024 $IMAGE_NAME - name: Screen Width 2560x1440 Test run: - docker run --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER -e SCREEN_WIDTH=2560 -e SCREEN_HEIGHT=1440 $IMAGE_NAME + podman run --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER -e SCREEN_WIDTH=2560 -e SCREEN_HEIGHT=1440 $IMAGE_NAME - name: Screen Width 3840x2160 Test run: - docker run --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER -e SCREEN_WIDTH=3840 -e SCREEN_HEIGHT=2160 $IMAGE_NAME + podman run --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER -e SCREEN_WIDTH=3840 -e SCREEN_HEIGHT=2160 $IMAGE_NAME - name: Debug Log Level Test run: - docker run --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER -e ROBOT_OPTIONS="--loglevel DEBUG" $IMAGE_NAME + podman run --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER -e ROBOT_OPTIONS="--loglevel DEBUG" $IMAGE_NAME - name: Basic Multithreaded Test run: - docker run --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER -e ROBOT_THREADS=4 $IMAGE_NAME + podman run --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER -e ROBOT_THREADS=4 $IMAGE_NAME - name: Test Level Multithreaded Test run: - docker run --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER -e ROBOT_THREADS=4 -e PABOT_OPTIONS="--testlevelsplit" $IMAGE_NAME + podman run --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER -e ROBOT_THREADS=4 -e PABOT_OPTIONS="--testlevelsplit" $IMAGE_NAME - name: Custom User Test run: - docker run --user=2000 --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER $IMAGE_NAME + podman run --user=2000 --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER $IMAGE_NAME - name: Custom User and Group Test run: - docker run --user=2000:2000 --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER $IMAGE_NAME + podman run --user=2000:2000 --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER $IMAGE_NAME - name: Datetime run: - docker run --user=2000:2000 --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER -e TZ="America/New_York" $IMAGE_NAME + podman run --user=2000:2000 --shm-size=1g -v `pwd`/test:/opt/robotframework/tests:Z -e BROWSER=$BROWSER -e TZ="America/New_York" $IMAGE_NAME # Build and run tests for Microsoft Edge. # This must be processed separately from Firefox and Chrome, due to the Browser library not handling Microsoft Edge by default @@ -88,7 +88,7 @@ jobs: uses: actions/checkout@v2 - name: Build image run: - docker build . --tag $IMAGE_NAME --file Dockerfile + podman build . --tag $IMAGE_NAME --file Dockerfile - name: Basic Test run: | podman run --shm-size=1g \