Skip to content

Commit 839e5f6

Browse files
committed
[test]: Setting custom capabilities for matching specific Nodes
Signed-off-by: Viet Nguyen Duc <[email protected]>
1 parent 5802c32 commit 839e5f6

6 files changed

+34
-7
lines changed

Makefile

+2-1
Original file line numberDiff line numberDiff line change
@@ -789,7 +789,7 @@ test_node_relay: hub node_base standalone_firefox
789789
done
790790

791791
test_standalone_docker: standalone_docker
792-
DOCKER_COMPOSE_FILE=docker-compose-v3-test-standalone-docker.yaml CONFIG_FILE=standalone_docker_config.toml HUB_CHECKS_INTERVAL=45 \
792+
DOCKER_COMPOSE_FILE=docker-compose-v3-test-standalone-docker.yaml CONFIG_FILE=standalone_docker_config.toml HUB_CHECKS_INTERVAL=45 TEST_CUSTOM_SPECIFIC_NAME=true \
793793
RECORD_STANDALONE=true GRID_URL=http://0.0.0.0:4444 LIST_OF_TESTS_AMD64="DeploymentAutoscaling" TEST_PARALLEL_HARDENING=true TEST_DELAY_AFTER_TEST=2 \
794794
SELENIUM_ENABLE_MANAGED_DOWNLOADS=true LOG_LEVEL=SEVERE SKIP_CHECK_DOWNLOADS_VOLUME=true make test_node_docker
795795

@@ -822,6 +822,7 @@ test_node_docker: hub standalone_docker standalone_chrome standalone_firefox sta
822822
echo RECORD_STANDALONE=$(or $(RECORD_STANDALONE), "true") >> .env ; \
823823
echo GRID_URL=$(or $(GRID_URL), "") >> .env ; \
824824
echo HUB_CHECKS_INTERVAL=$(or $(HUB_CHECKS_INTERVAL), 20) >> .env ; \
825+
echo TEST_CUSTOM_SPECIFIC_NAME=$(or $(TEST_CUSTOM_SPECIFIC_NAME), "true") >> .env ; \
825826
echo NODE=$$node >> .env ; \
826827
echo UID=$$(id -u) >> .env ; \
827828
echo BINDING_VERSION=$(BINDING_VERSION) >> .env ; \

tests/SeleniumTests/__init__.py

+13
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
TEST_PLATFORMS = os.environ.get('TEST_PLATFORMS', 'linux/amd64')
2828
TEST_FIREFOX_INSTALL_LANG_PACKAGE = os.environ.get('TEST_FIREFOX_INSTALL_LANG_PACKAGE', 'false').lower() == 'true'
2929
TEST_ADD_CAPS_RECORD_VIDEO = os.environ.get('TEST_ADD_CAPS_RECORD_VIDEO', 'true').lower() == 'true'
30+
TEST_CUSTOM_SPECIFIC_NAME = os.environ.get('TEST_CUSTOM_SPECIFIC_NAME', 'false').lower() == 'true'
3031

3132
if SELENIUM_GRID_USERNAME and SELENIUM_GRID_PASSWORD:
3233
SELENIUM_GRID_HOST = f"{SELENIUM_GRID_USERNAME}:{SELENIUM_GRID_PASSWORD}@{SELENIUM_GRID_HOST}"
@@ -114,6 +115,9 @@ def test_download_file(self):
114115
self.assertTrue(str(driver.get_downloadable_files()[0]).endswith(file_name))
115116

116117
def tearDown(self):
118+
if TEST_CUSTOM_SPECIFIC_NAME:
119+
self.assertTrue(str(self.driver.capabilities['myApp:version']) == 'beta')
120+
self.assertTrue(str(self.driver.capabilities['myApp:publish']) == 'internal')
117121
try:
118122
if TEST_DELAY_AFTER_TEST:
119123
time.sleep(TEST_DELAY_AFTER_TEST)
@@ -133,6 +137,9 @@ def setUp(self):
133137
options.add_argument('disable-features=DownloadBubble,DownloadBubbleV2')
134138
if TEST_ADD_CAPS_RECORD_VIDEO:
135139
options.set_capability('se:recordVideo', True)
140+
if TEST_CUSTOM_SPECIFIC_NAME:
141+
options.set_capability('myApp:version', 'beta')
142+
options.set_capability('myApp:publish', 'internal')
136143
options.set_capability('se:name', f"{self._testMethodName} ({self.__class__.__name__})")
137144
options.set_capability('se:screenResolution', '1920x1080')
138145
if SELENIUM_GRID_TEST_HEADLESS:
@@ -171,6 +178,9 @@ def setUp(self):
171178
options.add_argument('disable-features=DownloadBubble,DownloadBubbleV2')
172179
if TEST_ADD_CAPS_RECORD_VIDEO:
173180
options.set_capability('se:recordVideo', True)
181+
if TEST_CUSTOM_SPECIFIC_NAME:
182+
options.set_capability('myApp:version', 'beta')
183+
options.set_capability('myApp:publish', 'internal')
174184
options.set_capability('se:name', f"{self._testMethodName} ({self.__class__.__name__})")
175185
options.set_capability('se:screenResolution', '1920x1080')
176186
if SELENIUM_GRID_TEST_HEADLESS:
@@ -201,6 +211,9 @@ def setUp(self):
201211
options.profile = profile
202212
if TEST_ADD_CAPS_RECORD_VIDEO:
203213
options.set_capability('se:recordVideo', True)
214+
if TEST_CUSTOM_SPECIFIC_NAME:
215+
options.set_capability('myApp:version', 'beta')
216+
options.set_capability('myApp:publish', 'internal')
204217
options.set_capability('se:name', f"{self._testMethodName} ({self.__class__.__name__})")
205218
options.set_capability('se:screenResolution', '1920x1080')
206219
if SELENIUM_GRID_TEST_HEADLESS:

tests/config.toml

+7-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
[docker]
22
configs = [
3-
"${NAMESPACE}/standalone-firefox:${TAG}", '{"browserName": "firefox", "platformName": "linux"}',
4-
"${NAMESPACE}/standalone-${NODE_CHROME}:${TAG}", '{"browserName": "chrome", "platformName": "linux"}',
5-
"${NAMESPACE}/standalone-${NODE_EDGE}:${TAG}", '{"browserName": "MicrosoftEdge", "platformName": "linux"}'
3+
"${NAMESPACE}/standalone-firefox:${TAG}", '{"browserName": "firefox", "platformName": "linux", "myApp:version": "stable", "myApp:publish": "external"}',
4+
"${NAMESPACE}/standalone-firefox:${TAG}", '{"browserName": "firefox", "platformName": "linux", "myApp:version": "beta", "myApp:publish": "internal"}',
5+
"${NAMESPACE}/standalone-${NODE_CHROME}:${TAG}", '{"browserName": "chrome", "platformName": "linux", "myApp:version": "stable", "myApp:publish": "external"}',
6+
"${NAMESPACE}/standalone-${NODE_CHROME}:${TAG}", '{"browserName": "chrome", "platformName": "linux", "myApp:version": "beta", "myApp:publish": "internal"}',
7+
"${NAMESPACE}/standalone-${NODE_EDGE}:${TAG}", '{"browserName": "MicrosoftEdge", "platformName": "linux", "myApp:version": "stable", "myApp:publish": "external"}',
8+
"${NAMESPACE}/standalone-${NODE_EDGE}:${TAG}", '{"browserName": "MicrosoftEdge", "platformName": "linux", "myApp:version": "beta", "myApp:publish": "internal"}'
69
]
710

811
host-config-keys = ["Dns", "DnsOptions", "DnsSearch", "ExtraHosts", "Binds"]
@@ -12,6 +15,7 @@ url = "http://127.0.0.1:2375"
1215
video-image = "${NAMESPACE}/video:${VIDEO_TAG}"
1316

1417
[node]
18+
detect-drivers = false
1519
enable-managed-downloads = "${SELENIUM_ENABLE_MANAGED_DOWNLOADS}"
1620
override-max-sessions = true
1721
max-sessions = 3

tests/docker-compose-v3-test-node-docker.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ services:
1717
- selenium-hub
1818
- ftp_server
1919
environment:
20+
- SE_ENABLE_TRACING=false
2021
- SE_NODE_DOCKER_CONFIG_FILENAME=docker.toml
2122
- SE_EVENT_BUS_HOST=selenium-hub
2223
- SE_EVENT_BUS_PUBLISH_PORT=4442
@@ -42,6 +43,7 @@ services:
4243
user: ${UID}
4344
container_name: selenium-hub
4445
environment:
46+
- SE_ENABLE_TRACING=false
4547
- SE_LOG_LEVEL=${LOG_LEVEL}
4648
- SE_SESSION_REQUEST_TIMEOUT=${REQUEST_TIMEOUT}
4749
ports:
@@ -75,4 +77,5 @@ services:
7577
- SELENIUM_ENABLE_MANAGED_DOWNLOADS=${SELENIUM_ENABLE_MANAGED_DOWNLOADS}
7678
- TEST_DELAY_AFTER_TEST=${TEST_DELAY_AFTER_TEST}
7779
- HUB_CHECKS_INTERVAL=${HUB_CHECKS_INTERVAL}
80+
- TEST_CUSTOM_SPECIFIC_NAME=${TEST_CUSTOM_SPECIFIC_NAME}
7881
command: ["/bin/bash", "-c", "./bootstrap.sh ${NODE}"]

tests/docker-compose-v3-test-standalone-docker.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ services:
99
- ./videos/config.toml:/opt/selenium/config.toml
1010
- /var/run/docker.sock:/var/run/docker.sock
1111
environment:
12+
- SE_ENABLE_TRACING=false
1213
- SE_VNC_NO_PASSWORD=true
1314
- SE_START_VNC=true
1415
- SE_LOG_LEVEL=${LOG_LEVEL}
@@ -62,4 +63,5 @@ services:
6263
- TEST_PARALLEL_HARDENING=${TEST_PARALLEL_HARDENING}
6364
- TEST_DELAY_AFTER_TEST=${TEST_DELAY_AFTER_TEST}
6465
- HUB_CHECKS_INTERVAL=${HUB_CHECKS_INTERVAL}
66+
- TEST_CUSTOM_SPECIFIC_NAME=${TEST_CUSTOM_SPECIFIC_NAME}
6567
command: ["/bin/bash", "-c", "./bootstrap.sh ${NODE}"]

tests/standalone_docker_config.toml

+7-3
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
[docker]
22
configs = [
3-
"${NAMESPACE}/standalone-firefox:${TAG}", '{"browserName": "firefox", "platformName": "linux"}',
4-
"${NAMESPACE}/standalone-${NODE_CHROME}:${TAG}", '{"browserName": "chrome", "platformName": "linux"}',
5-
"${NAMESPACE}/standalone-${NODE_EDGE}:${TAG}", '{"browserName": "MicrosoftEdge", "platformName": "linux"}'
3+
"${NAMESPACE}/standalone-firefox:${TAG}", '{"browserName": "firefox", "platformName": "linux", "myApp:version": "stable", "myApp:publish": "external"}',
4+
"${NAMESPACE}/standalone-firefox:${TAG}", '{"browserName": "firefox", "platformName": "linux", "myApp:version": "beta", "myApp:publish": "internal"}',
5+
"${NAMESPACE}/standalone-${NODE_CHROME}:${TAG}", '{"browserName": "chrome", "platformName": "linux", "myApp:version": "stable", "myApp:publish": "external"}',
6+
"${NAMESPACE}/standalone-${NODE_CHROME}:${TAG}", '{"browserName": "chrome", "platformName": "linux", "myApp:version": "beta", "myApp:publish": "internal"}',
7+
"${NAMESPACE}/standalone-${NODE_EDGE}:${TAG}", '{"browserName": "MicrosoftEdge", "platformName": "linux", "myApp:version": "stable", "myApp:publish": "external"}',
8+
"${NAMESPACE}/standalone-${NODE_EDGE}:${TAG}", '{"browserName": "MicrosoftEdge", "platformName": "linux", "myApp:version": "beta", "myApp:publish": "internal"}'
69
]
710

811
url = "http://127.0.0.1:2375"
912

1013
video-image = "${NAMESPACE}/video:${VIDEO_TAG}"
1114

1215
[node]
16+
detect-drivers = false
1317
enable-managed-downloads = "${SELENIUM_ENABLE_MANAGED_DOWNLOADS}"
1418
override-max-sessions = true
1519
max-sessions = 16

0 commit comments

Comments
 (0)