Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
5
Merge Requests
5
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jérome Perrin
slapos
Commits
32daa36c
Commit
32daa36c
authored
Nov 09, 2023
by
Jérome Perrin
Browse files
Options
Browse Files
Download
Plain Diff
Firefox 115 on seleniumserver and seleniumrunner
See merge request
nexedi/slapos!1470
parents
07711f81
71951a9b
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
71 additions
and
56 deletions
+71
-56
component/alsa/buildout.cfg
component/alsa/buildout.cfg
+3
-3
component/firefox/buildout.cfg
component/firefox/buildout.cfg
+20
-18
software/seleniumrunner/software.cfg
software/seleniumrunner/software.cfg
+0
-3
software/seleniumserver/buildout.hash.cfg
software/seleniumserver/buildout.hash.cfg
+1
-1
software/seleniumserver/instance-selenium.cfg.in
software/seleniumserver/instance-selenium.cfg.in
+14
-16
software/seleniumserver/software.cfg
software/seleniumserver/software.cfg
+4
-0
software/seleniumserver/test/data/test.TestFirefox115.test_screenshot.png
...mserver/test/data/test.TestFirefox115.test_screenshot.png
+0
-0
software/seleniumserver/test/data/test.TestFirefox52.test_screenshot.png
...umserver/test/data/test.TestFirefox52.test_screenshot.png
+0
-0
software/seleniumserver/test/test.py
software/seleniumserver/test/test.py
+29
-15
No files found.
component/alsa/buildout.cfg
View file @
32daa36c
...
@@ -6,12 +6,12 @@ parts =
...
@@ -6,12 +6,12 @@ parts =
# Contains libasound
# Contains libasound
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url =
ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.1.3
.tar.bz2
url =
https://www.alsa-project.org/files/pub/lib/alsa-lib-1.2.10
.tar.bz2
md5sum =
eefe5992567ba00d6110a540657aaf5c
md5sum =
aced5acdb6161ed86e5ca3bb10618ca1
configure-options =
configure-options =
--disable-static
--disable-static
--disable-aload
--disable-aload
--
dis
able-rawmidi
--
en
able-rawmidi
--disable-ucm
--disable-ucm
--disable-alisp
--disable-alisp
--disable-old-symbols
--disable-old-symbols
...
...
component/firefox/buildout.cfg
View file @
32daa36c
...
@@ -54,6 +54,10 @@ install =
...
@@ -54,6 +54,10 @@ install =
))
))
os.fchmod(f.fileno(), 0o755)
os.fchmod(f.fileno(), 0o755)
[firefox-wrapper-115]
<= firefox-wrapper
part = firefox-115
[firefox-wrapper-78]
[firefox-wrapper-78]
<= firefox-wrapper
<= firefox-wrapper
part = firefox-78
part = firefox-78
...
@@ -66,10 +70,6 @@ part = firefox-68
...
@@ -66,10 +70,6 @@ part = firefox-68
<= firefox-wrapper
<= firefox-wrapper
part = firefox-60
part = firefox-60
[firefox-wrapper-52]
<= firefox-wrapper
part = firefox-52
[firefox-default-fonts-conf]
[firefox-default-fonts-conf]
recipe = slapos.recipe.template:jinja2
recipe = slapos.recipe.template:jinja2
url = ${template-fonts-conf:output}
url = ${template-fonts-conf:output}
...
@@ -92,7 +92,13 @@ cache-dir =
...
@@ -92,7 +92,13 @@ cache-dir =
# installed in ${buildout:bin-directory}.
# installed in ${buildout:bin-directory}.
# Installing ${firefox:} is not enough, because wrapper setting $LD_LIBRARY_PATH
# Installing ${firefox:} is not enough, because wrapper setting $LD_LIBRARY_PATH
# would not be created.
# would not be created.
<= firefox-68
<= firefox-115
[firefox-115]
<= firefox-download
version = 115.3.1esr
i686-md5sum = f0df1b5cce1edd65addc823da02f9488
x86_64-md5sum = 910c0786459cf1e4dc214e6402d0633e
[firefox-78]
[firefox-78]
<= firefox-download
<= firefox-download
...
@@ -112,12 +118,6 @@ version = 60.0.2esr
...
@@ -112,12 +118,6 @@ version = 60.0.2esr
i686-md5sum = ce7c80716036dfb5c2fb1ca2538556ff
i686-md5sum = ce7c80716036dfb5c2fb1ca2538556ff
x86_64-md5sum = 6fe25d9a3fcc82670320242c9047d1da
x86_64-md5sum = 6fe25d9a3fcc82670320242c9047d1da
[firefox-52]
<= firefox-download
version = 52.9.0esr
i686-md5sum = 9aa18888b7812670208490609d75c9bc
x86_64-md5sum = 9336d70f45070c743d08e5473b783a7a
[firefox-download]
[firefox-download]
recipe = slapos.recipe.build
recipe = slapos.recipe.build
slapos_promise =
slapos_promise =
...
@@ -157,8 +157,10 @@ library =
...
@@ -157,8 +157,10 @@ library =
${libXext:location}/lib
${libXext:location}/lib
${libXi:location}/lib
${libXi:location}/lib
${libxml2:location}/lib
${libxml2:location}/lib
${libXrandr:location}/lib
${libXrender:location}/lib
${libXrender:location}/lib
${libXt:location}/lib
${libXt:location}/lib
${libXtst:location}/lib
${mesa:location}/lib
${mesa:location}/lib
${pango:location}/lib
${pango:location}/lib
${pcre:location}/lib
${pcre:location}/lib
...
@@ -186,7 +188,13 @@ md5sum = ${:x86_64-md5sum}
...
@@ -186,7 +188,13 @@ md5sum = ${:x86_64-md5sum}
[geckodriver]
[geckodriver]
# Current geckodriver installed as ${buildout:bin-directory}/geckodriver
# Current geckodriver installed as ${buildout:bin-directory}/geckodriver
<= geckodriver-0.24.0
<= geckodriver-0.33.0
[geckodriver-0.33.0]
<= geckodriver-base
version = 0.33.0
i686-md5sum = c4a9e6c92dc493f25c8d390f1c6fb11c
x86_64-md5sum = 563c82cfbb21478450e1c828e3730b10
[geckodriver-0.24.0]
[geckodriver-0.24.0]
<= geckodriver-base
<= geckodriver-base
...
@@ -200,12 +208,6 @@ version = 0.22.0
...
@@ -200,12 +208,6 @@ version = 0.22.0
i686-md5sum = 6de7544753fda56fbaa8382dcac99aaa
i686-md5sum = 6de7544753fda56fbaa8382dcac99aaa
x86_64-md5sum = 81746200ce5841e00cabf3b8ea7db542
x86_64-md5sum = 81746200ce5841e00cabf3b8ea7db542
[geckodriver-0.16.1]
<= geckodriver-base
version = 0.16.1
i686-md5sum = not not on github
x86_64-md5sum = 57dfd55d4759d9878eb75b4c0123d00c
[geckodriver-base]
[geckodriver-base]
# Installs geckodriver ${version}
# Installs geckodriver ${version}
recipe = slapos.recipe.build
recipe = slapos.recipe.build
...
...
software/seleniumrunner/software.cfg
View file @
32daa36c
...
@@ -52,6 +52,3 @@ url = ${:_profile_base_location_}/${:filename}
...
@@ -52,6 +52,3 @@ url = ${:_profile_base_location_}/${:filename}
[template]
[template]
<= macro-template
<= macro-template
output = ${buildout:directory}/template.cfg
output = ${buildout:directory}/template.cfg
[versions]
plone.recipe.command = 1.1
software/seleniumserver/buildout.hash.cfg
View file @
32daa36c
...
@@ -19,4 +19,4 @@ md5sum = 10e19df182c692b71ea552da183a0bcf
...
@@ -19,4 +19,4 @@ md5sum = 10e19df182c692b71ea552da183a0bcf
[template-selenium]
[template-selenium]
filename = instance-selenium.cfg.in
filename = instance-selenium.cfg.in
md5sum =
2d84d5fb9306b88ef71e101acb46f684
md5sum =
8c48c7bef34dd54ab3bd94c91f2bf041
software/seleniumserver/instance-selenium.cfg.in
View file @
32daa36c
...
@@ -97,28 +97,28 @@ environment =
...
@@ -97,28 +97,28 @@ environment =
hostname = $${slap-configuration:ipv4-random}
hostname = $${slap-configuration:ipv4-random}
[selenium-server-node-instance-firefox-52]
<= selenium-server-node-instance
capabilities = browserName=firefox,maxInstances=3,marionette=true,platform=LINUX,version=${firefox-52:version},firefox_binary=${firefox-wrapper-52:location}
java-args = -Dwebdriver.gecko.driver=${geckodriver-0.16.1:location}
port = 7777
[selenium-server-node-instance-firefox-60]
[selenium-server-node-instance-firefox-60]
<= selenium-server-node-instance
<= selenium-server-node-instance
capabilities = browserName=firefox,maxInstances=3,marionette=true,platform=LINUX,version=${firefox-60:version},firefox_binary=${firefox-wrapper-60:location}
capabilities = browserName=firefox,maxInstances=3,marionette=true,platform=LINUX,version=${firefox-60:version},firefox_binary=${firefox-wrapper-60:location}
java-args = -Dwebdriver.gecko.driver=${geckodriver-0.22.0:location}
java-args = -Dwebdriver.gecko.driver=${geckodriver-0.22.0:location}
port = 777
8
port = 777
7
[selenium-server-node-instance-firefox-68]
[selenium-server-node-instance-firefox-68]
<= selenium-server-node-instance
<= selenium-server-node-instance
capabilities = browserName=firefox,maxInstances=3,marionette=true,platform=LINUX,version=${firefox-68:version},firefox_binary=${firefox-wrapper-68:location}
capabilities = browserName=firefox,maxInstances=3,marionette=true,platform=LINUX,version=${firefox-68:version},firefox_binary=${firefox-wrapper-68:location}
java-args = -Dwebdriver.gecko.driver=${geckodriver-0.24.0:location}
java-args = -Dwebdriver.gecko.driver=${geckodriver-0.24.0:location}
port = 777
9
port = 777
8
[selenium-server-node-instance-firefox-78]
[selenium-server-node-instance-firefox-78]
<= selenium-server-node-instance
<= selenium-server-node-instance
capabilities = browserName=firefox,maxInstances=3,marionette=true,platform=LINUX,version=${firefox-78:version},firefox_binary=${firefox-wrapper-78:location}
capabilities = browserName=firefox,maxInstances=3,marionette=true,platform=LINUX,version=${firefox-78:version},firefox_binary=${firefox-wrapper-78:location}
java-args = -Dwebdriver.gecko.driver=${geckodriver-0.24.0:location}
java-args = -Dwebdriver.gecko.driver=${geckodriver-0.24.0:location}
port = 7779
[selenium-server-node-instance-firefox-115]
<= selenium-server-node-instance
capabilities = browserName=firefox,maxInstances=3,marionette=true,platform=LINUX,version=${firefox-115:version},firefox_binary=${firefox-wrapper-115:location}
java-args = -Dwebdriver.gecko.driver=${geckodriver-0.33.0:location}
port = 7780
port = 7780
[selenium-server-node-instance-chromium-69]
[selenium-server-node-instance-chromium-69]
...
@@ -137,12 +137,10 @@ port = 7782
...
@@ -137,12 +137,10 @@ port = 7782
[selenium-server-admin-password]
[selenium-server-admin-password]
recipe = slapos.cookbook:generate.password
recipe = slapos.cookbook:generate.password
username = admin
username = admin
bytes = 12
[selenium-server-selenium-password]
[selenium-server-selenium-password]
recipe = slapos.cookbook:generate.password
recipe = slapos.cookbook:generate.password
username = selenium
username = selenium
bytes = 12
[selenium-server-frontnend-certificate]
[selenium-server-frontnend-certificate]
...
@@ -303,10 +301,10 @@ instance-promises =
...
@@ -303,10 +301,10 @@ instance-promises =
$${selenium-server-frontend-listen-promise:name}
$${selenium-server-frontend-listen-promise:name}
$${selenium-server-hub-listen-promise:name}
$${selenium-server-hub-listen-promise:name}
$${selenium-server-hub-nodes-registered-promise:name}
$${selenium-server-hub-nodes-registered-promise:name}
$${selenium-server-node-firefox-52-listen-promise:name}
$${selenium-server-node-firefox-60-listen-promise:name}
$${selenium-server-node-firefox-60-listen-promise:name}
$${selenium-server-node-firefox-68-listen-promise:name}
$${selenium-server-node-firefox-68-listen-promise:name}
$${selenium-server-node-firefox-78-listen-promise:name}
$${selenium-server-node-firefox-78-listen-promise:name}
$${selenium-server-node-firefox-115-listen-promise:name}
$${selenium-server-node-instance-chromium-69-listen-promise:name}
$${selenium-server-node-instance-chromium-69-listen-promise:name}
$${selenium-server-node-instance-chromium-91-listen-promise:name}
$${selenium-server-node-instance-chromium-91-listen-promise:name}
...
@@ -353,11 +351,6 @@ inline =
...
@@ -353,11 +351,6 @@ inline =
sys.exit(0 if expected_node_count == actual_node_count else 1)
sys.exit(0 if expected_node_count == actual_node_count else 1)
[selenium-server-node-firefox-52-listen-promise]
<= check-port-listening-promise
config-host = $${selenium-server-node-instance-firefox-52:hostname}
config-port = $${selenium-server-node-instance-firefox-52:port}
[selenium-server-node-firefox-60-listen-promise]
[selenium-server-node-firefox-60-listen-promise]
<= check-port-listening-promise
<= check-port-listening-promise
config-host = $${selenium-server-node-instance-firefox-60:hostname}
config-host = $${selenium-server-node-instance-firefox-60:hostname}
...
@@ -373,6 +366,11 @@ config-port = $${selenium-server-node-instance-firefox-68:port}
...
@@ -373,6 +366,11 @@ config-port = $${selenium-server-node-instance-firefox-68:port}
config-host = $${selenium-server-node-instance-firefox-78:hostname}
config-host = $${selenium-server-node-instance-firefox-78:hostname}
config-port = $${selenium-server-node-instance-firefox-78:port}
config-port = $${selenium-server-node-instance-firefox-78:port}
[selenium-server-node-firefox-115-listen-promise]
<= check-port-listening-promise
config-host = $${selenium-server-node-instance-firefox-115:hostname}
config-port = $${selenium-server-node-instance-firefox-115:port}
[selenium-server-node-instance-chromium-69-listen-promise]
[selenium-server-node-instance-chromium-69-listen-promise]
<= check-port-listening-promise
<= check-port-listening-promise
config-host = $${selenium-server-node-instance-chromium-69:hostname}
config-host = $${selenium-server-node-instance-chromium-69:hostname}
...
...
software/seleniumserver/software.cfg
View file @
32daa36c
...
@@ -75,3 +75,7 @@ post-install =
...
@@ -75,3 +75,7 @@ post-install =
[firefox-78]
[firefox-78]
post-install =
post-install =
${symlink-extra-fonts-to-firefox-fonts-dir:install}
${symlink-extra-fonts-to-firefox-fonts-dir:install}
[firefox-115]
post-install =
${symlink-extra-fonts-to-firefox-fonts-dir:install}
software/seleniumserver/test/data/test.TestFirefox115.test_screenshot.png
0 → 100644
View file @
32daa36c
10.9 KB
software/seleniumserver/test/data/test.TestFirefox52.test_screenshot.png
deleted
100644 → 0
View file @
07711f81
7.74 KB
software/seleniumserver/test/test.py
View file @
32daa36c
...
@@ -290,12 +290,12 @@ class TestBrowserSelection(WebServerMixin, SeleniumServerTestCase):
...
@@ -290,12 +290,12 @@ class TestBrowserSelection(WebServerMixin, SeleniumServerTestCase):
'Gecko/20100101 Firefox/60.0'
,
'Gecko/20100101 Firefox/60.0'
,
driver
.
execute_script
(
'return navigator.userAgent'
))
driver
.
execute_script
(
'return navigator.userAgent'
))
driver
.
quit
()
driver
.
quit
()
desired_capabilities
[
'version'
]
=
'
52.9.0
esr'
desired_capabilities
[
'version'
]
=
'
115.3.1
esr'
driver
=
webdriver
.
Remote
(
driver
=
webdriver
.
Remote
(
command_executor
=
webdriver_url
,
command_executor
=
webdriver_url
,
desired_capabilities
=
desired_capabilities
)
desired_capabilities
=
desired_capabilities
)
self
.
assertIn
(
self
.
assertIn
(
'Gecko/20100101 Firefox/
52
.0'
,
'Gecko/20100101 Firefox/
115
.0'
,
driver
.
execute_script
(
'return navigator.userAgent'
))
driver
.
execute_script
(
'return navigator.userAgent'
))
driver
.
quit
()
driver
.
quit
()
...
@@ -310,6 +310,12 @@ class TestFrontend(WebServerMixin, SeleniumServerTestCase):
...
@@ -310,6 +310,12 @@ class TestFrontend(WebServerMixin, SeleniumServerTestCase):
parsed
=
urllib
.
parse
.
urlparse
(
admin_url
)
parsed
=
urllib
.
parse
.
urlparse
(
admin_url
)
self
.
assertEqual
(
'admin'
,
parsed
.
username
)
self
.
assertEqual
(
'admin'
,
parsed
.
username
)
self
.
assertTrue
(
parsed
.
password
)
self
.
assertTrue
(
parsed
.
password
)
self
.
assertEqual
(
requests
.
get
(
parsed
.
_replace
(
netloc
=
f"[
{
parsed
.
hostname
}
]:
{
parsed
.
port
}
"
).
geturl
(),
verify
=
False
).
status_code
,
requests
.
codes
.
unauthorized
)
self
.
assertIn
(
'Grid Console'
,
requests
.
get
(
admin_url
,
verify
=
False
).
text
)
self
.
assertIn
(
'Grid Console'
,
requests
.
get
(
admin_url
,
verify
=
False
).
text
)
...
@@ -319,6 +325,12 @@ class TestFrontend(WebServerMixin, SeleniumServerTestCase):
...
@@ -319,6 +325,12 @@ class TestFrontend(WebServerMixin, SeleniumServerTestCase):
parsed
=
urllib
.
parse
.
urlparse
(
webdriver_url
)
parsed
=
urllib
.
parse
.
urlparse
(
webdriver_url
)
self
.
assertEqual
(
'selenium'
,
parsed
.
username
)
self
.
assertEqual
(
'selenium'
,
parsed
.
username
)
self
.
assertTrue
(
parsed
.
password
)
self
.
assertTrue
(
parsed
.
password
)
self
.
assertEqual
(
requests
.
get
(
parsed
.
_replace
(
netloc
=
f"[
{
parsed
.
hostname
}
]:
{
parsed
.
port
}
"
).
geturl
(),
verify
=
False
).
status_code
,
requests
.
codes
.
unauthorized
)
# XXX we are using a self signed certificate, but selenium 3.141.0 does
# XXX we are using a self signed certificate, but selenium 3.141.0 does
# not expose API to ignore certificate verification
# not expose API to ignore certificate verification
...
@@ -397,19 +409,6 @@ class TestSSHServer(SeleniumServerTestCase):
...
@@ -397,19 +409,6 @@ class TestSSHServer(SeleniumServerTestCase):
self
.
assertIn
(
b"Welcome to SlapOS Selenium Server."
,
received
)
self
.
assertIn
(
b"Welcome to SlapOS Selenium Server."
,
received
)
class
TestFirefox52
(
BrowserCompatibilityMixin
,
SeleniumServerTestCase
,
ImageComparisonTestCase
,
):
desired_capabilities
=
dict
(
DesiredCapabilities
.
FIREFOX
,
version
=
'52.9.0esr'
)
user_agent
=
'Gecko/20100101 Firefox/52.0'
# resizing window is not supported on firefox 52 geckodriver
@
unittest
.
expectedFailure
def
test_resize_window
(
self
):
super
().
test_resize_window
()
class
TestFirefox60
(
class
TestFirefox60
(
BrowserCompatibilityMixin
,
BrowserCompatibilityMixin
,
SeleniumServerTestCase
,
SeleniumServerTestCase
,
...
@@ -427,6 +426,7 @@ class TestFirefox68(
...
@@ -427,6 +426,7 @@ class TestFirefox68(
desired_capabilities
=
dict
(
DesiredCapabilities
.
FIREFOX
,
version
=
'68.0.2esr'
)
desired_capabilities
=
dict
(
DesiredCapabilities
.
FIREFOX
,
version
=
'68.0.2esr'
)
user_agent
=
'Gecko/20100101 Firefox/68.0'
user_agent
=
'Gecko/20100101 Firefox/68.0'
class
TestFirefox78
(
class
TestFirefox78
(
BrowserCompatibilityMixin
,
BrowserCompatibilityMixin
,
SeleniumServerTestCase
,
SeleniumServerTestCase
,
...
@@ -436,6 +436,20 @@ class TestFirefox78(
...
@@ -436,6 +436,20 @@ class TestFirefox78(
user_agent
=
'Gecko/20100101 Firefox/78.0'
user_agent
=
'Gecko/20100101 Firefox/78.0'
class
TestFirefox115
(
BrowserCompatibilityMixin
,
SeleniumServerTestCase
,
ImageComparisonTestCase
,
):
desired_capabilities
=
dict
(
DesiredCapabilities
.
FIREFOX
,
version
=
'115.3.1esr'
)
user_agent
=
'Gecko/20100101 Firefox/115.0'
# resizing window does not work, but we don't really depend on it
@
unittest
.
expectedFailure
def
test_resize_window
(
self
):
super
().
test_resize_window
()
class
TestChrome69
(
class
TestChrome69
(
BrowserCompatibilityMixin
,
BrowserCompatibilityMixin
,
SeleniumServerTestCase
,
SeleniumServerTestCase
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment