Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
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
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Rafael Monnerat
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 =
# Contains libasound
recipe = slapos.recipe.cmmi
shared = true
url =
ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.1.3
.tar.bz2
md5sum =
eefe5992567ba00d6110a540657aaf5c
url =
https://www.alsa-project.org/files/pub/lib/alsa-lib-1.2.10
.tar.bz2
md5sum =
aced5acdb6161ed86e5ca3bb10618ca1
configure-options =
--disable-static
--disable-aload
--
dis
able-rawmidi
--
en
able-rawmidi
--disable-ucm
--disable-alisp
--disable-old-symbols
...
...
component/firefox/buildout.cfg
View file @
32daa36c
...
...
@@ -54,6 +54,10 @@ install =
))
os.fchmod(f.fileno(), 0o755)
[firefox-wrapper-115]
<= firefox-wrapper
part = firefox-115
[firefox-wrapper-78]
<= firefox-wrapper
part = firefox-78
...
...
@@ -66,10 +70,6 @@ part = firefox-68
<= firefox-wrapper
part = firefox-60
[firefox-wrapper-52]
<= firefox-wrapper
part = firefox-52
[firefox-default-fonts-conf]
recipe = slapos.recipe.template:jinja2
url = ${template-fonts-conf:output}
...
...
@@ -92,7 +92,13 @@ cache-dir =
# installed in ${buildout:bin-directory}.
# Installing ${firefox:} is not enough, because wrapper setting $LD_LIBRARY_PATH
# 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-download
...
...
@@ -112,12 +118,6 @@ version = 60.0.2esr
i686-md5sum = ce7c80716036dfb5c2fb1ca2538556ff
x86_64-md5sum = 6fe25d9a3fcc82670320242c9047d1da
[firefox-52]
<= firefox-download
version = 52.9.0esr
i686-md5sum = 9aa18888b7812670208490609d75c9bc
x86_64-md5sum = 9336d70f45070c743d08e5473b783a7a
[firefox-download]
recipe = slapos.recipe.build
slapos_promise =
...
...
@@ -157,8 +157,10 @@ library =
${libXext:location}/lib
${libXi:location}/lib
${libxml2:location}/lib
${libXrandr:location}/lib
${libXrender:location}/lib
${libXt:location}/lib
${libXtst:location}/lib
${mesa:location}/lib
${pango:location}/lib
${pcre:location}/lib
...
...
@@ -186,7 +188,13 @@ md5sum = ${:x86_64-md5sum}
[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-base
...
...
@@ -200,12 +208,6 @@ version = 0.22.0
i686-md5sum = 6de7544753fda56fbaa8382dcac99aaa
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]
# Installs geckodriver ${version}
recipe = slapos.recipe.build
...
...
software/seleniumrunner/software.cfg
View file @
32daa36c
...
...
@@ -52,6 +52,3 @@ url = ${:_profile_base_location_}/${:filename}
[template]
<= macro-template
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
[template-selenium]
filename = instance-selenium.cfg.in
md5sum =
2d84d5fb9306b88ef71e101acb46f684
md5sum =
8c48c7bef34dd54ab3bd94c91f2bf041
software/seleniumserver/instance-selenium.cfg.in
View file @
32daa36c
...
...
@@ -97,28 +97,28 @@ environment =
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
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}
port = 777
8
port = 777
7
[selenium-server-node-instance-firefox-68]
<= selenium-server-node-instance
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}
port = 777
9
port = 777
8
[selenium-server-node-instance-firefox-78]
<= selenium-server-node-instance
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}
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
[selenium-server-node-instance-chromium-69]
...
...
@@ -137,12 +137,10 @@ port = 7782
[selenium-server-admin-password]
recipe = slapos.cookbook:generate.password
username = admin
bytes = 12
[selenium-server-selenium-password]
recipe = slapos.cookbook:generate.password
username = selenium
bytes = 12
[selenium-server-frontnend-certificate]
...
...
@@ -303,10 +301,10 @@ instance-promises =
$${selenium-server-frontend-listen-promise:name}
$${selenium-server-hub-listen-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-68-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-91-listen-promise:name}
...
...
@@ -353,11 +351,6 @@ inline =
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]
<= check-port-listening-promise
config-host = $${selenium-server-node-instance-firefox-60:hostname}
...
...
@@ -373,6 +366,11 @@ config-port = $${selenium-server-node-instance-firefox-68:port}
config-host = $${selenium-server-node-instance-firefox-78:hostname}
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]
<= check-port-listening-promise
config-host = $${selenium-server-node-instance-chromium-69:hostname}
...
...
software/seleniumserver/software.cfg
View file @
32daa36c
...
...
@@ -75,3 +75,7 @@ post-install =
[firefox-78]
post-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):
'Gecko/20100101 Firefox/60.0'
,
driver
.
execute_script
(
'return navigator.userAgent'
))
driver
.
quit
()
desired_capabilities
[
'version'
]
=
'
52.9.0
esr'
desired_capabilities
[
'version'
]
=
'
115.3.1
esr'
driver
=
webdriver
.
Remote
(
command_executor
=
webdriver_url
,
desired_capabilities
=
desired_capabilities
)
self
.
assertIn
(
'Gecko/20100101 Firefox/
52
.0'
,
'Gecko/20100101 Firefox/
115
.0'
,
driver
.
execute_script
(
'return navigator.userAgent'
))
driver
.
quit
()
...
...
@@ -310,6 +310,12 @@ class TestFrontend(WebServerMixin, SeleniumServerTestCase):
parsed
=
urllib
.
parse
.
urlparse
(
admin_url
)
self
.
assertEqual
(
'admin'
,
parsed
.
username
)
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
)
...
...
@@ -319,6 +325,12 @@ class TestFrontend(WebServerMixin, SeleniumServerTestCase):
parsed
=
urllib
.
parse
.
urlparse
(
webdriver_url
)
self
.
assertEqual
(
'selenium'
,
parsed
.
username
)
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
# not expose API to ignore certificate verification
...
...
@@ -397,19 +409,6 @@ class TestSSHServer(SeleniumServerTestCase):
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
(
BrowserCompatibilityMixin
,
SeleniumServerTestCase
,
...
...
@@ -427,6 +426,7 @@ class TestFirefox68(
desired_capabilities
=
dict
(
DesiredCapabilities
.
FIREFOX
,
version
=
'68.0.2esr'
)
user_agent
=
'Gecko/20100101 Firefox/68.0'
class
TestFirefox78
(
BrowserCompatibilityMixin
,
SeleniumServerTestCase
,
...
...
@@ -436,6 +436,20 @@ class TestFirefox78(
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
(
BrowserCompatibilityMixin
,
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