Skip to content

Commit 2a66579

Browse files
committed
Merge remote-tracking branch 'origin/master' into pr-408
2 parents be17f71 + 208d68e commit 2a66579

File tree

5 files changed

+31
-215
lines changed

5 files changed

+31
-215
lines changed

Dockerfile

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM fedora:36
1+
FROM fedora:38
22

33
MAINTAINER Paul Podgorsek <[email protected]>
44
LABEL description Robot Framework in Docker.
@@ -29,24 +29,23 @@ ENV ROBOT_UID 1000
2929
ENV ROBOT_GID 1000
3030

3131
# Dependency versions
32-
ENV ALPINE_GLIBC 2.35-r0
33-
ENV AWS_CLI_VERSION 1.22.87
32+
ENV AWS_CLI_VERSION 1.29.40
3433
ENV AXE_SELENIUM_LIBRARY_VERSION 2.1.6
35-
ENV BROWSER_LIBRARY_VERSION 12.2.0
36-
ENV CHROMIUM_VERSION 99.0
34+
ENV BROWSER_LIBRARY_VERSION 16.2.0
35+
ENV CHROMIUM_VERSION 116.0
3736
ENV DATABASE_LIBRARY_VERSION 1.2.4
38-
ENV DATADRIVER_VERSION 1.6.0
37+
ENV DATADRIVER_VERSION 1.8.1
3938
ENV DATETIMETZ_VERSION 1.0.6
4039
ENV EDGE_VERSION 101.0.1210.39
4140
ENV FAKER_VERSION 5.0.0
42-
ENV FIREFOX_VERSION 100.0
41+
ENV FIREFOX_VERSION 117.0
4342
ENV FTP_LIBRARY_VERSION 1.9
44-
ENV GECKO_DRIVER_VERSION v0.30.0
45-
ENV IMAP_LIBRARY_VERSION 0.4.2
46-
ENV PABOT_VERSION 2.5.2
47-
ENV REQUESTS_VERSION 0.9.2
48-
ENV ROBOT_FRAMEWORK_VERSION 5.0
49-
ENV SELENIUM_LIBRARY_VERSION 6.0.0
43+
ENV GECKO_DRIVER_VERSION v0.33.0
44+
ENV IMAP_LIBRARY_VERSION 0.4.6
45+
ENV PABOT_VERSION 2.16.0
46+
ENV REQUESTS_VERSION 0.9.5
47+
ENV ROBOT_FRAMEWORK_VERSION 6.1
48+
ENV SELENIUM_LIBRARY_VERSION 6.1.0
5049
ENV SSH_LIBRARY_VERSION 3.8.0
5150
ENV XVFB_VERSION 1.20
5251

@@ -64,9 +63,12 @@ RUN dnf upgrade -y --refresh \
6463
chromedriver-${CHROMIUM_VERSION}* \
6564
chromium-${CHROMIUM_VERSION}* \
6665
firefox-${FIREFOX_VERSION}* \
66+
gcc \
67+
gcc-c++ \
6768
npm \
6869
nodejs \
6970
python3-pip \
71+
python3-pyyaml \
7072
tzdata \
7173
xorg-x11-server-Xvfb-${XVFB_VERSION}* \
7274
dnf-plugins-core \
@@ -93,9 +95,11 @@ RUN pip3 install \
9395
robotframework-seleniumlibrary==$SELENIUM_LIBRARY_VERSION \
9496
robotframework-sshlibrary==$SSH_LIBRARY_VERSION \
9597
axe-selenium-python==$AXE_SELENIUM_LIBRARY_VERSION \
96-
PyYAML \
9798
# Install awscli to be able to upload test reports to AWS S3
98-
awscli==$AWS_CLI_VERSION
99+
awscli==$AWS_CLI_VERSION \
100+
# Install an older Selenium version to avoid issues when running tests
101+
# https://github.com/robotframework/SeleniumLibrary/issues/1835
102+
selenium==4.9.0
99103

100104
# Gecko drivers
101105
RUN dnf install -y \
@@ -133,8 +137,7 @@ RUN rpm --import https://packages.microsoft.com/keys/microsoft.asc \
133137

134138
# Install the Node dependencies for the Browser library
135139
# FIXME: Playright currently doesn't support relying on system browsers, which is why the `--skip-browsers` parameter cannot be used here.
136-
RUN rfbrowser init \
137-
&& 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
140+
RUN rfbrowser init
138141

139142
# Create the default report and work folders with the default user to avoid runtime issues
140143
# These folders are writeable by anyone, to ensure the user can be changed on the command line.

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,23 @@ The versioning of this image follows the one of Robot Framework:
1515

1616
The versions used are:
1717

18-
* [Robot Framework](https://github.com/robotframework/robotframework) 5.0
19-
* [Robot Framework Browser Library](https://github.com/MarketSquare/robotframework-browser) 12.2.0
18+
* [Robot Framework](https://github.com/robotframework/robotframework) 6.1
19+
* [Robot Framework Browser Library](https://github.com/MarketSquare/robotframework-browser) 16.2.0
2020
* [Robot Framework DatabaseLibrary](https://github.com/franz-see/Robotframework-Database-Library) 1.2.4
21-
* [Robot Framework Datadriver](https://github.com/Snooz82/robotframework-datadriver) 1.6.0
21+
* [Robot Framework Datadriver](https://github.com/Snooz82/robotframework-datadriver) 1.8.1
2222
* [Robot Framework DateTimeTZ](https://github.com/testautomation/DateTimeTZ) 1.0.6
2323
* [Robot Framework Faker](https://github.com/guykisel/robotframework-faker) 5.0.0
2424
* [Robot Framework FTPLibrary](https://github.com/kowalpy/Robot-Framework-FTP-Library) 1.9
25-
* [Robot Framework IMAPLibrary 2](https://pypi.org/project/robotframework-imaplibrary2/) 0.4.2
26-
* [Robot Framework Pabot](https://github.com/mkorpela/pabot) 2.5.2
27-
* [Robot Framework Requests](https://github.com/bulkan/robotframework-requests) 0.9.2
28-
* [Robot Framework SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary) 6.0.0
25+
* [Robot Framework IMAPLibrary 2](https://pypi.org/project/robotframework-imaplibrary2/) 0.4.6
26+
* [Robot Framework Pabot](https://github.com/mkorpela/pabot) 2.16.0
27+
* [Robot Framework Requests](https://github.com/bulkan/robotframework-requests) 0.9.5
28+
* [Robot Framework SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary) 6.1.0
2929
* [Robot Framework SSHLibrary](https://github.com/robotframework/SSHLibrary) 3.8.0
3030
* [Axe Selenium Library](https://github.com/mozilla-services/axe-selenium-python) 2.1.6
31-
* Firefox 100.0
32-
* Chromium 99.0
31+
* Firefox 117.0
32+
* Chromium 116.0
3333
* Edge 101.0.1210.39
34-
* [Amazon AWS CLI](https://pypi.org/project/awscli/) 1.22.87
34+
* [Amazon AWS CLI](https://pypi.org/project/awscli/) 1.29.40
3535

3636
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.
3737

bin/run-tests-in-virtual-screen.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ if [ "${ROBOT_TEST_RUN_ID}" = "" ]
66
then
77
ROBOT_REPORTS_FINAL_DIR="${ROBOT_REPORTS_DIR}"
88
else
9-
REPORTS_DIR_HAS_TRAILING_SLASH=`echo ${ROBOT_REPORTS_DIR} | grep '/$'`
9+
REPORTS_DIR_HAS_TRAILING_SLASH=`echo ${ROBOT_REPORTS_DIR} | grep -c '/$'`
1010

1111
if [ ${REPORTS_DIR_HAS_TRAILING_SLASH} -eq 0 ]
1212
then

test/requests.robot

Lines changed: 0 additions & 183 deletions
Original file line numberDiff line numberDiff line change
@@ -15,186 +15,3 @@ Get Requests
1515
Should Be Equal As Strings ${resp.status_code} 200
1616
${resp}= GET On Session bing /
1717
Should Be Equal As Strings ${resp.status_code} 200
18-
19-
Get Requests with Url Parameters
20-
[Tags] get
21-
Create Session httpbin http://httpbin.org
22-
&{params}= Create Dictionary key=value key2=value2
23-
${resp}= GET On Session httpbin /get params=${params}
24-
Should Be Equal As Strings ${resp.status_code} 200
25-
Should Be Equal ${resp.json()['args']} ${params}
26-
27-
Get HTTPS & Verify Cert
28-
[Tags] get get-cert
29-
Create Session httpbin https://httpbin.org verify=True
30-
${resp}= GET On Session httpbin /get
31-
Should Be Equal As Strings ${resp.status_code} 200
32-
33-
Post Request With URL Params
34-
[Tags] post
35-
Create Session httpbin http://httpbin.org
36-
&{params}= Create Dictionary key=value key2=value2
37-
${resp}= POST On Session httpbin /post params=${params}
38-
Should Be Equal As Strings ${resp.status_code} 200
39-
40-
Post Request With No Data
41-
[Tags] post
42-
Create Session httpbin http://httpbin.org
43-
${resp}= POST On Session httpbin /post
44-
Should Be Equal As Strings ${resp.status_code} 200
45-
46-
Put Request With No Data
47-
[Tags] put
48-
Create Session httpbin http://httpbin.org
49-
${resp}= PUT On Session httpbin /put
50-
Should Be Equal As Strings ${resp.status_code} 200
51-
52-
Post Request With No Dictionary
53-
[Tags] post
54-
Create Session httpbin http://httpbin.org debug=3
55-
Set Test Variable ${data} some content
56-
${resp}= POST On Session httpbin /post data=${data}
57-
Should Be Equal As Strings ${resp.status_code} 200
58-
Should Contain ${resp.text} ${data}
59-
60-
Put Request With URL Params
61-
[Tags] put
62-
Create Session httpbin http://httpbin.org
63-
&{params}= Create Dictionary key=value key2=value2
64-
${resp}= PUT On Session httpbin /put params=${params}
65-
Should Be Equal As Strings ${resp.status_code} 200
66-
67-
Put Request With No Dictionary
68-
[Tags] put
69-
Create Session httpbin http://httpbin.org
70-
Set Test Variable ${data} some content
71-
${resp}= PUT On Session httpbin /put data=${data}
72-
Should Be Equal As Strings ${resp.status_code} 200
73-
Should Contain ${resp.text} ${data}
74-
75-
Post Requests
76-
[Tags] post
77-
Create Session httpbin http://httpbin.org
78-
&{data}= Create Dictionary name=bulkan surname=evcimen
79-
&{headers}= Create Dictionary Content-Type=application/x-www-form-urlencoded
80-
${resp}= POST On Session httpbin /post data=${data} headers=${headers}
81-
Dictionary Should Contain Value ${resp.json()['form']} bulkan
82-
Dictionary Should Contain Value ${resp.json()['form']} evcimen
83-
84-
Post With Unicode Data
85-
[Tags] post
86-
Create Session httpbin http://httpbin.org debug=3
87-
&{data}= Create Dictionary name=度假村
88-
&{headers}= Create Dictionary Content-Type=application/x-www-form-urlencoded
89-
${resp}= POST On Session httpbin /post data=${data} headers=${headers}
90-
Dictionary Should Contain Value ${resp.json()['form']} 度假村
91-
92-
Post Request With Unicode Data
93-
[Tags] post
94-
Create Session httpbin http://httpbin.org debug=3
95-
&{data}= Create Dictionary name=度假村
96-
&{headers}= Create Dictionary Content-Type=application/x-www-form-urlencoded
97-
${resp}= POST On Session httpbin /post data=${data} headers=${headers}
98-
Dictionary Should Contain Value ${resp.json()['form']} 度假村
99-
100-
Post Request With Data and File
101-
[Tags] post
102-
Create Session httpbin http://httpbin.org
103-
&{data}= Create Dictionary name=mallikarjunarao surname=kosuri
104-
Create File foobar.txt content=foobar
105-
${file_data}= Get File foobar.txt
106-
&{files}= Create Dictionary file=${file_data}
107-
${resp}= POST On Session httpbin /post files=${files} data=${data}
108-
Should Be Equal As Strings ${resp.status_code} 200
109-
110-
Put Requests
111-
[Tags] put
112-
Create Session httpbin http://httpbin.org
113-
&{data}= Create Dictionary name=bulkan surname=evcimen
114-
&{headers}= Create Dictionary Content-Type=application/x-www-form-urlencoded
115-
${resp}= PUT On Session httpbin /put data=${data} headers=${headers}
116-
Dictionary Should Contain Value ${resp.json()['form']} bulkan
117-
Dictionary Should Contain Value ${resp.json()['form']} evcimen
118-
119-
Head Request
120-
[Tags] head
121-
Create Session httpbin http://httpbin.org
122-
${resp}= HEAD On Session httpbin /headers
123-
Should Be Equal As Strings ${resp.status_code} 200
124-
125-
Options Request
126-
[Tags] options
127-
Create Session httpbin http://httpbin.org
128-
${resp}= OPTIONS On Session httpbin /headers
129-
Should Be Equal As Strings ${resp.status_code} 200
130-
Dictionary Should Contain Key ${resp.headers} allow
131-
132-
Delete Request With URL Params
133-
[Tags] delete
134-
Create Session httpbin http://httpbin.org
135-
${resp}= DELETE On Session httpbin url=/delete?key=value&key2=value2
136-
Should Be Equal As Strings ${resp.status_code} 200
137-
138-
Delete Request With No Data
139-
[Tags] delete
140-
Create Session httpbin http://httpbin.org
141-
${resp}= DELETE On Session httpbin /delete
142-
Should Be Equal As Strings ${resp.status_code} 200
143-
144-
Delete Request With Data
145-
[Tags] delete
146-
Create Session httpbin http://httpbin.org debug=3
147-
&{data}= Create Dictionary name=bulkan surname=evcimen
148-
${resp}= DELETE On Session httpbin /delete data=${data}
149-
Should Be Equal As Strings ${resp.status_code} 200
150-
Log ${resp.content}
151-
Comment Dictionary Should Contain Value ${resp.json()['data']} bulkan
152-
Comment Dictionary Should Contain Value ${resp.json()['data']} evcimen
153-
154-
Patch Requests
155-
[Tags] patch
156-
Create Session httpbin http://httpbin.org
157-
&{data}= Create Dictionary name=bulkan surname=evcimen
158-
&{headers}= Create Dictionary Content-Type=application/x-www-form-urlencoded
159-
${resp}= PATCH On Session httpbin /patch data=${data} headers=${headers}
160-
Dictionary Should Contain Value ${resp.json()['form']} bulkan
161-
Dictionary Should Contain Value ${resp.json()['form']} evcimen
162-
163-
Post Request With Redirection
164-
[Tags] post
165-
Create Session jigsaw http://jigsaw.w3.org
166-
${resp}= POST On Session jigsaw /HTTP/300/302.html
167-
Should Be Equal As Strings ${resp.status_code} 200
168-
${resp}= POST On Session jigsaw /HTTP/300/302.html allow_redirects=${true}
169-
Should Be Equal As Strings ${resp.status_code} 200
170-
171-
Post Request Without Redirection
172-
[Tags] post
173-
Create Session jigsaw http://jigsaw.w3.org debug=3
174-
${resp}= POST On Session jigsaw /HTTP/300/302.html allow_redirects=${false}
175-
${status}= Convert To String ${resp.status_code}
176-
Should Start With ${status} 30
177-
178-
Put Request With Redirection
179-
[Tags] put
180-
Create Session jigsaw http://jigsaw.w3.org debug=3
181-
${resp}= PUT On Session jigsaw /HTTP/300/302.html
182-
Should Be Equal As Strings ${resp.status_code} 200
183-
${resp}= PUT On Session jigsaw /HTTP/300/302.html allow_redirects=${true}
184-
Should Be Equal As Strings ${resp.status_code} 200
185-
186-
Put Request Without Redirection
187-
[Tags] put
188-
Create Session jigsaw http://jigsaw.w3.org
189-
${resp}= PUT On Session jigsaw /HTTP/300/302.html allow_redirects=${false}
190-
${status}= Convert To String ${resp.status_code}
191-
Should Start With ${status} 30
192-
193-
Do Not Pretty Print a JSON object
194-
[Tags] json
195-
Comment Define json variable.
196-
Create Session httpbin http://httpbin.org
197-
&{var}= Create Dictionary key_one=true key_two=this is a test string
198-
${resp}= GET On Session httpbin /get params=${var}
199-
Should Be Equal As Strings ${resp.status_code} 200
200-
Dictionaries Should Be Equal ${resp.json()['args']} ${var}

test/selenium.robot

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,3 @@ Visit Bing
1212
Visit Google
1313
Open Browser https://www.google.com ${BROWSER}
1414
Capture Page Screenshot
15-
16-
Visit Yahoo
17-
Open Browser https://search.yahoo.com ${BROWSER}
18-
Capture Page Screenshot

0 commit comments

Comments
 (0)