Skip to content

Commit 6f90ecb

Browse files
authored
K8s: Selenium Grid in case multiple scaler triggers are activate (#2515)
Signed-off-by: Viet Nguyen Duc <[email protected]>
1 parent 62741b2 commit 6f90ecb

File tree

14 files changed

+135
-8
lines changed

14 files changed

+135
-8
lines changed

Diff for: .github/workflows/build-test.yml

+5
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ on:
2525
paths-ignore:
2626
- '**.md'
2727

28+
concurrency:
29+
group: ${{ github.workflow }}-${{ github.ref == github.ref_protected && github.run_id || github.event.pull_request.number || github.ref }}
30+
cancel-in-progress: true
31+
2832
permissions: write-all
2933

3034
env:
@@ -44,6 +48,7 @@ jobs:
4448
helm-chart-test:
4549
name: Test Selenium Grid on Kubernetes
4650
uses: ./.github/workflows/helm-chart-test.yml
51+
secrets: inherit
4752
with:
4853
release: ${{ inputs.release == 'true' }}
4954

Diff for: .github/workflows/helm-chart-test.yml

+10-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@ name: Test Helm Charts
22

33
on:
44
workflow_call:
5+
secrets:
6+
DOCKER_USERNAME:
7+
required: false
8+
DOCKER_PASSWORD:
9+
required: false
510
inputs:
611
release:
712
description: 'Test a new release process'
@@ -142,7 +147,6 @@ jobs:
142147
- name: Sets build date
143148
run: |
144149
echo "BUILD_DATE=$(date '+%Y%m%d')" >> $GITHUB_ENV
145-
echo "IMAGE_REGISTRY=artifactory/selenium" >> $GITHUB_ENV
146150
echo "AUTHORS=${AUTHORS}" >> $GITHUB_ENV
147151
env:
148152
AUTHORS: ${{ vars.AUTHORS || 'SeleniumHQ' }}
@@ -158,6 +162,11 @@ jobs:
158162
max_attempts: 3
159163
retry_wait_seconds: 60
160164
command: NAME=${IMAGE_REGISTRY} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} make build
165+
- name: Login Docker Hub
166+
run: docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
167+
env:
168+
DOCKER_USERNAME: ${{secrets.DOCKER_USERNAME}}
169+
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
161170
- name: Setup Kubernetes cluster
162171
uses: nick-invision/retry@master
163172
with:

Diff for: .github/workflows/k8s-scaling-test.yml

+14-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@ name: Test Grid Autoscaling in Kubernetes
22

33
on:
44
workflow_call:
5+
secrets:
6+
DOCKER_USERNAME:
7+
required: false
8+
DOCKER_PASSWORD:
9+
required: false
510
inputs:
611
release:
712
description: 'Test a new release process'
@@ -36,6 +41,10 @@ on:
3641
type: string
3742
default: '20'
3843

44+
concurrency:
45+
group: ${{ github.workflow }}-${{ github.ref == github.ref_protected && github.run_id || github.event.pull_request.number || github.ref }}
46+
cancel-in-progress: true
47+
3948
permissions:
4049
contents: write
4150
pull-requests: write
@@ -135,10 +144,14 @@ jobs:
135144
- name: Sets build date
136145
run: |
137146
echo "BUILD_DATE=$(date '+%Y%m%d')" >> $GITHUB_ENV
138-
echo "IMAGE_REGISTRY=artifactory/selenium" >> $GITHUB_ENV
139147
echo "AUTHORS=${AUTHORS}" >> $GITHUB_ENV
140148
env:
141149
AUTHORS: ${{ vars.AUTHORS || 'SeleniumHQ' }}
150+
- name: Login Docker Hub
151+
run: docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
152+
env:
153+
DOCKER_USERNAME: ${{secrets.DOCKER_USERNAME}}
154+
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
142155
- name: Setup Kubernetes cluster
143156
uses: nick-invision/retry@master
144157
with:

Diff for: .keda/README.md

+4
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,16 @@ You can involve to review and discuss the pull requests to help us early detect
4949

5050
[kedacore/keda](https://github.com/kedacore/keda)
5151

52+
- https://github.com/kedacore/keda/pull/6437
53+
5254
- https://github.com/kedacore/keda/pull/6368
5355

5456
- ~~https://github.com/kedacore/keda/pull/6169 (merged, v2.16.0)~~
5557

5658
[kedacore/keda-docs](https://github.com/kedacore/keda-docs)
5759

60+
- https://github.com/kedacore/keda-docs/pull/1515
61+
5862
- ~~https://github.com/kedacore/keda-docs/pull/1468 (merged, v2.16.0)~~
5963

6064
# Test results of the patch scaler

Diff for: Makefile

+11-4
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ SBOM_OUTPUT := $(or $(SBOM_OUTPUT),$(SBOM_OUTPUT),package_versions.txt)
3131
KEDA_TAG_PREV_VERSION := $(or $(KEDA_TAG_PREV_VERSION),$(KEDA_TAG_PREV_VERSION),2.16.0-selenium-grid)
3232
KEDA_TAG_VERSION := $(or $(KEDA_TAG_VERSION),$(KEDA_TAG_VERSION),2.16.0-selenium-grid)
3333
KEDA_BASED_NAME := $(or $(KEDA_BASED_NAME),$(KEDA_BASED_NAME),ndviet)
34-
KEDA_BASED_TAG := $(or $(KEDA_BASED_TAG),$(KEDA_BASED_TAG),2.16.0-selenium-grid-20241201)
34+
KEDA_BASED_TAG := $(or $(KEDA_BASED_TAG),$(KEDA_BASED_TAG),2.16.0-selenium-grid-20241224)
3535

3636
all: hub \
3737
distributor \
@@ -930,15 +930,15 @@ chart_test_autoscaling_disabled:
930930
./tests/charts/make/chart_test.sh NoAutoscaling
931931

932932
chart_test_autoscaling_deployment_https:
933-
PLATFORMS=$(PLATFORMS) CHART_FULL_DISTRIBUTED_MODE=true CHART_ENABLE_BASIC_AUTH=true TEST_EXTERNAL_DATASTORE=postgresql \
933+
PLATFORMS=$(PLATFORMS) CHART_FULL_DISTRIBUTED_MODE=true CHART_ENABLE_BASIC_AUTH=true TEST_EXTERNAL_DATASTORE=postgresql TEST_MULTIPLE_VERSIONS=true AUTOSCALING_COOLDOWN_PERIOD=60 SELENIUM_GRID_MONITORING=false \
934934
SECURE_INGRESS_ONLY_DEFAULT=true INGRESS_DISABLE_USE_HTTP2=true SELENIUM_GRID_PROTOCOL=https CHART_ENABLE_INGRESS_HOSTNAME=true SELENIUM_GRID_PORT=443 \
935935
SELENIUM_GRID_AUTOSCALING_MIN_REPLICA=0 MAX_SESSIONS_FIREFOX=1 MAX_SESSIONS_EDGE=1 MAX_SESSIONS_CHROME=1 TEST_NAME_OVERRIDE=true \
936936
VERSION=$(TAG_VERSION) VIDEO_TAG=$(FFMPEG_TAG_VERSION)-$(BUILD_DATE) KEDA_BASED_NAME=$(KEDA_BASED_NAME) KEDA_BASED_TAG=$(KEDA_BASED_TAG) NAMESPACE=$(NAMESPACE) BINDING_VERSION=$(BINDING_VERSION) BASE_VERSION=$(BASE_VERSION) \
937937
TEMPLATE_OUTPUT_FILENAME="k8s_fullDistributed_basicAuth_secureIngress_defaultCerts_ingressHostName_disableHttp2_autoScaling_patchKEDA_scaledObject_subPath.yaml" \
938938
./tests/charts/make/chart_test.sh DeploymentAutoscaling
939939

940940
chart_test_autoscaling_deployment:
941-
PLATFORMS=$(PLATFORMS) TEST_EXISTING_KEDA=true RELEASE_NAME=selenium CHART_ENABLE_TRACING=true TEST_PATCHED_KEDA=false \
941+
PLATFORMS=$(PLATFORMS) TEST_EXISTING_KEDA=true RELEASE_NAME=selenium CHART_ENABLE_TRACING=true TEST_PATCHED_KEDA=true \
942942
SECURE_CONNECTION_SERVER=true SECURE_USE_EXTERNAL_CERT=true SERVICE_TYPE_NODEPORT=true SELENIUM_GRID_PROTOCOL=https SELENIUM_GRID_HOST=$$(hostname -I | cut -d' ' -f1) SELENIUM_GRID_PORT=31444 \
943943
SELENIUM_GRID_AUTOSCALING_MIN_REPLICA=1 SET_MAX_REPLICAS=3 TEST_DELAY_AFTER_TEST=2 SELENIUM_GRID_MONITORING=false \
944944
VERSION=$(TAG_VERSION) VIDEO_TAG=$(FFMPEG_TAG_VERSION)-$(BUILD_DATE) KEDA_BASED_NAME=$(KEDA_BASED_NAME) KEDA_BASED_TAG=$(KEDA_BASED_TAG) NAMESPACE=$(NAMESPACE) BINDING_VERSION=$(BINDING_VERSION) BASE_VERSION=$(BASE_VERSION) \
@@ -954,14 +954,21 @@ chart_test_autoscaling_job_https:
954954
./tests/charts/make/chart_test.sh JobAutoscaling
955955

956956
chart_test_autoscaling_job_hostname:
957-
PLATFORMS=$(PLATFORMS) CHART_ENABLE_TRACING=true CHART_ENABLE_BASIC_AUTH=true BASIC_AUTH_EMBEDDED_URL=true TEST_PATCHED_KEDA=false \
957+
PLATFORMS=$(PLATFORMS) CHART_ENABLE_TRACING=true CHART_ENABLE_BASIC_AUTH=true BASIC_AUTH_EMBEDDED_URL=true TEST_PATCHED_KEDA=true \
958958
SECURE_INGRESS_ONLY_DEFAULT=true SECURE_USE_EXTERNAL_CERT=true SELENIUM_GRID_PROTOCOL=https SELENIUM_GRID_HOST=$$(hostname -I | cut -d' ' -f1) SELENIUM_GRID_PORT=443 \
959959
VERSION=$(TAG_VERSION) VIDEO_TAG=$(FFMPEG_TAG_VERSION)-$(BUILD_DATE) KEDA_BASED_NAME=$(KEDA_BASED_NAME) KEDA_BASED_TAG=$(KEDA_BASED_TAG) NAMESPACE=$(NAMESPACE) BINDING_VERSION=$(BINDING_VERSION) BASE_VERSION=$(BASE_VERSION) \
960960
TEMPLATE_OUTPUT_FILENAME="k8s_enableTracing_basicAuth_secureIngress_externalCerts_ingressPublicIP_autoScaling_originKEDA_scaledJob_subPath.yaml" \
961961
./tests/charts/make/chart_test.sh JobAutoscaling
962962

963+
chart_test_autoscaling_job_multiple_versions_without_explicit:
964+
TEST_MULTIPLE_VERSIONS=true TEST_MULTIPLE_VERSIONS_EXPLICIT=false make chart_test_autoscaling_job
965+
966+
chart_test_autoscaling_job_without_multiple_versions:
967+
TEST_MULTIPLE_VERSIONS=false make chart_test_autoscaling_job
968+
963969
chart_test_autoscaling_job:
964970
PLATFORMS=$(PLATFORMS) TEST_EXISTING_KEDA=true TEST_CHROMIUM=true RELEASE_NAME=selenium CHART_ENABLE_TRACING=true CHART_FULL_DISTRIBUTED_MODE=true SELENIUM_GRID_MONITORING=false \
971+
CLEAR_POD_HISTORY=true TEST_MULTIPLE_VERSIONS=$(or $(TEST_MULTIPLE_VERSIONS), "true") TEST_MULTIPLE_VERSIONS_EXPLICIT=$(or $(TEST_MULTIPLE_VERSIONS_EXPLICIT), "true") \
965972
SECURE_INGRESS_ONLY_CONFIG_INLINE=true SECURE_USE_EXTERNAL_CERT=true CHART_ENABLE_INGRESS_HOSTNAME=true SELENIUM_GRID_PROTOCOL=https SELENIUM_GRID_HOST=selenium-grid.prod SUB_PATH=/ SELENIUM_GRID_PORT=443 \
966973
VERSION=$(TAG_VERSION) VIDEO_TAG=$(FFMPEG_TAG_VERSION)-$(BUILD_DATE) KEDA_BASED_NAME=$(KEDA_BASED_NAME) KEDA_BASED_TAG=$(KEDA_BASED_TAG) NAMESPACE=$(NAMESPACE) BINDING_VERSION=$(BINDING_VERSION) BASE_VERSION=$(BASE_VERSION) \
967974
TEMPLATE_OUTPUT_FILENAME="k8s_fullDistributed_secureIngress_externalCerts_ingressHostName_ingressTLSInline_autoScaling_scaledJob_existingKEDA_prefixSelenium_nodeChromium_enableTracing.yaml" \

Diff for: charts/selenium-grid/CONFIGURATION.md

+4
Original file line numberDiff line numberDiff line change
@@ -406,6 +406,7 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes
406406
| chromeNode.scaledObjectOptions | string | `nil` | Override the scaledObjectOptions for chrome nodes |
407407
| chromeNode.hpa.browserName | string | `"chrome"` | browserName from the capability |
408408
| chromeNode.hpa.sessionBrowserName | string | `"chrome"` | sessionBrowserName if the browserName is different from the sessionBrowserName |
409+
| chromeNode.hpa.browserVersion | string | `""` | browserVersion from the capability |
409410
| chromeNode.hpa.platformName | string | `"linux"` | platformName from the capability |
410411
| chromeNode.hpa.unsafeSsl | string | `"{{ template \"seleniumGrid.graphqlURL.unsafeSsl\" . }}"` | Skip check SSL when connecting to the Graphql endpoint |
411412
| chromeNode.initContainers | list | `[]` | It is used to add initContainers in the same pod of the browser node. It should be set using the --set-json option |
@@ -457,6 +458,7 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes
457458
| firefoxNode.scaledObjectOptions | string | `nil` | Override the scaledObjectOptions for firefox nodes |
458459
| firefoxNode.hpa.browserName | string | `"firefox"` | browserName from the capability |
459460
| firefoxNode.hpa.sessionBrowserName | string | `"firefox"` | sessionBrowserName if the browserName is different from the sessionBrowserName |
461+
| firefoxNode.hpa.browserVersion | string | `""` | browserVersion from the capability |
460462
| firefoxNode.hpa.platformName | string | `"linux"` | platformName from the capability |
461463
| firefoxNode.hpa.unsafeSsl | string | `"{{ template \"seleniumGrid.graphqlURL.unsafeSsl\" . }}"` | Skip check SSL when connecting to the Graphql endpoint |
462464
| firefoxNode.initContainers | list | `[]` | It is used to add initContainers in the same pod of the browser node. It should be set using the --set-json option |
@@ -508,6 +510,7 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes
508510
| edgeNode.scaledObjectOptions | string | `nil` | Override the scaledObjectOptions for edge nodes |
509511
| edgeNode.hpa.browserName | string | `"MicrosoftEdge"` | browserName from the capability |
510512
| edgeNode.hpa.sessionBrowserName | string | `"msedge"` | sessionBrowserName if the browserName is different from the sessionBrowserName |
513+
| edgeNode.hpa.browserVersion | string | `""` | browserVersion from the capability |
511514
| edgeNode.hpa.platformName | string | `"linux"` | platformName from the capability |
512515
| edgeNode.hpa.unsafeSsl | string | `"{{ template \"seleniumGrid.graphqlURL.unsafeSsl\" . }}"` | Skip check SSL when connecting to the Graphql endpoint |
513516
| edgeNode.initContainers | list | `[]` | It is used to add initContainers in the same pod of the browser node. It should be set using the --set-json option |
@@ -560,6 +563,7 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes
560563
| relayNode.hpa.browserName | string | `"chrome"` | browserName from the capability |
561564
| relayNode.hpa.sessionBrowserName | string | `""` | sessionBrowserName if the browserName is different from the sessionBrowserName |
562565
| relayNode.hpa.platformName | string | `"Android"` | platformName from the capability |
566+
| relayNode.hpa.browserVersion | string | `""` | browserVersion from the capability |
563567
| relayNode.hpa.unsafeSsl | string | `"{{ template \"seleniumGrid.graphqlURL.unsafeSsl\" . }}"` | Skip check SSL when connecting to the Graphql endpoint |
564568
| relayNode.initContainers | list | `[]` | It is used to add initContainers in the same pod of the browser node. It should be set using the --set-json option |
565569
| relayNode.sidecars | list | `[]` | It is used to add sidecars proxy in the same pod of the browser node. It means it will add a new container to the deployment itself. It should be set using the --set-json option |

Diff for: charts/selenium-grid/cross-browsers-values.yaml

+26
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@ crossBrowsers:
22
chromeNode:
33
# Keep the first iteration with latest version of Chrome
44
- nameOverride:
5+
hpa:
6+
browserVersion: ''
7+
- nameOverride: '{{ $.Release.Name }}-node-chrome-131'
8+
imageTag: '131.0'
9+
hpa:
10+
browserVersion: '131.0'
511
- nameOverride: '{{ $.Release.Name }}-node-chrome-130'
612
imageTag: '130.0'
713
hpa:
@@ -17,6 +23,20 @@ crossBrowsers:
1723
firefoxNode:
1824
# Keep the first iteration with latest version of Firefox
1925
- nameOverride:
26+
hpa:
27+
browserVersion: ''
28+
- nameOverride: '{{ $.Release.Name }}-node-firefox-133'
29+
imageTag: '133.0'
30+
hpa:
31+
browserVersion: '133.0'
32+
- nameOverride: '{{ $.Release.Name }}-node-firefox-132'
33+
imageTag: '132.0'
34+
hpa:
35+
browserVersion: '132.0'
36+
- nameOverride: '{{ $.Release.Name }}-node-firefox-131'
37+
imageTag: '131.0'
38+
hpa:
39+
browserVersion: '131.0'
2040
- nameOverride: '{{ $.Release.Name }}-node-firefox-130'
2141
imageTag: '130.0'
2242
hpa:
@@ -32,6 +52,12 @@ crossBrowsers:
3252
edgeNode:
3353
# Keep the first iteration with latest version of Edge
3454
- nameOverride:
55+
hpa:
56+
browserVersion: ''
57+
- nameOverride: '{{ $.Release.Name }}-node-edge-131'
58+
imageTag: '131.0'
59+
hpa:
60+
browserVersion: '131.0'
3561
- nameOverride: '{{ $.Release.Name }}-node-edge-130'
3662
imageTag: '130.0'
3763
hpa:

Diff for: charts/selenium-grid/templates/_helpers.tpl

+8
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,14 @@ template:
343343
{{- end }}
344344
- name: SE_DRAIN_AFTER_SESSION_COUNT
345345
value: {{ and (eq (include "seleniumGrid.useKEDA" $) "true") (eq .Values.autoscaling.scalingType "job") | ternary $nodeMaxSessions 0 | quote }}
346+
{{- if and (eq (include "seleniumGrid.useKEDA" $) "true") }}
347+
- name: SE_NODE_BROWSER_VERSION
348+
value: {{ default "" .node.hpa.browserVersion | quote }}
349+
{{- end }}
350+
{{- if and (eq (include "seleniumGrid.useKEDA" $) "true") }}
351+
- name: SE_NODE_PLATFORM_NAME
352+
value: {{ default "Linux" .node.hpa.platformName | quote }}
353+
{{- end }}
346354
- name: SE_NODE_CONTAINER_NAME
347355
valueFrom:
348356
fieldRef:

Diff for: charts/selenium-grid/values.yaml

+8
Original file line numberDiff line numberDiff line change
@@ -1117,6 +1117,8 @@ chromeNode:
11171117
browserName: "chrome"
11181118
# -- sessionBrowserName if the browserName is different from the sessionBrowserName
11191119
sessionBrowserName: "chrome"
1120+
# -- browserVersion from the capability
1121+
browserVersion: ""
11201122
# -- platformName from the capability
11211123
platformName: "linux"
11221124
# browserVersion: '91.0' # Optional. Only required when supporting multiple versions of browser in your Selenium Grid.
@@ -1300,6 +1302,8 @@ firefoxNode:
13001302
browserName: "firefox"
13011303
# -- sessionBrowserName if the browserName is different from the sessionBrowserName
13021304
sessionBrowserName: "firefox"
1305+
# -- browserVersion from the capability
1306+
browserVersion: ""
13031307
# -- platformName from the capability
13041308
platformName: "linux"
13051309
# -- Skip check SSL when connecting to the Graphql endpoint
@@ -1482,6 +1486,8 @@ edgeNode:
14821486
browserName: "MicrosoftEdge"
14831487
# -- sessionBrowserName if the browserName is different from the sessionBrowserName
14841488
sessionBrowserName: "msedge"
1489+
# -- browserVersion from the capability
1490+
browserVersion: ""
14851491
# -- platformName from the capability
14861492
platformName: "linux"
14871493
# -- Skip check SSL when connecting to the Graphql endpoint
@@ -1666,6 +1672,8 @@ relayNode:
16661672
sessionBrowserName: ""
16671673
# -- platformName from the capability
16681674
platformName: "Android"
1675+
# -- browserVersion from the capability
1676+
browserVersion: ""
16691677
# browserVersion: '91.0' # Optional. Only required when supporting multiple versions of browser in your Selenium Grid.
16701678
# -- Skip check SSL when connecting to the Graphql endpoint
16711679
unsafeSsl: '{{ template "seleniumGrid.graphqlURL.unsafeSsl" . }}' # Optional

Diff for: generate_chart_changelog.sh

+9
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ TAG_PATTERN="selenium-grid"
77
DEFAULT_TAG="trunk"
88
SET_TAG=${1:-$(git rev-parse --abbrev-ref HEAD)}
99

10+
function get_keda_version() {
11+
KEDA_TAG_VERSION=$(grep KEDA_TAG_VERSION Makefile | sed 's/.*,\([^)]*\))/\1/p' | head -n 1)
12+
KEDA_IMAGE_TAG=$(find . \( -type d -name .git -prune \) -o -type f -wholename '*/selenium-grid/values.yaml' -print0 | xargs -0 cat | grep $KEDA_TAG_VERSION | head -n 1 | cut -d ':' -f 2 | tr -d '[:space:]' | tr -d '"')
13+
}
14+
1015
# Get current chart app version
1116
CHART_APP_VERSION=$(find . \( -type d -name .git -prune \) -o -type f -wholename '*/selenium-grid/Chart.yaml' -print0 | xargs -0 cat | grep ^appVersion | cut -d ':' -f 2 | tr -d '[:space:]')
1217

@@ -82,8 +87,12 @@ generate_changelog() {
8287
echo "" >>"$temp_file"
8388
fi
8489

90+
get_keda_version
8591
echo "### Experimental" >>"$temp_file"
8692
echo "- Selenium Grid Scaler implementation preview. [README](https://github.com/seleniumhq/docker-selenium/tree/trunk/.keda/README.md)" >>"$temp_file"
93+
if [ -n "$KEDA_IMAGE_TAG" ]; then
94+
echo "- Chart is tested autoscaling capabilities with KEDA image tag: $KEDA_IMAGE_TAG" >>"$temp_file"
95+
fi
8796
echo "" >>"$temp_file"
8897

8998
# Create chart_release_notes.md

Diff for: tests/AutoscalingTests/common.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@ def get_pod_count():
3434
return len([line for line in result.stdout.splitlines() if "selenium-node-" in line and "Running" in line])
3535

3636
def create_session(browser_name):
37-
return webdriver.Remote(command_executor=CLIENT_CONFIG.remote_server_addr, options=BROWSER[browser_name], client_config=CLIENT_CONFIG)
37+
options = BROWSER[browser_name]
38+
options.set_capability("platformName", "Linux")
39+
return webdriver.Remote(command_executor=CLIENT_CONFIG.remote_server_addr, options=options, client_config=CLIENT_CONFIG)
3840

3941
def wait_for_count_matches(sessions, timeout=10, interval=5):
4042
elapsed = 0

Diff for: tests/CDPTests/bootstrap.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ if [ -n ${SELENIUM_GRID_USERNAME} ] && [ -n ${SELENIUM_GRID_PASSWORD} ]; then
1515
echo "SELENIUM_REMOTE_HEADERS={\"Authorization\": \"Basic ${BASIC_AUTH}\"}" >> .env
1616
fi
1717

18-
echo "SELENIUM_REMOTE_CAPABILITIES={\"browserName\": \"${BROWSER}\"}" >> .env
18+
echo "SELENIUM_REMOTE_CAPABILITIES={\"browserName\": \"${BROWSER}\", \"platformName\": \"Linux\"}" >> .env
1919
echo "NODE_EXTRA_CA_CERTS=${CHART_CERT_PATH}" >> .env
2020

2121
cat .env

0 commit comments

Comments
 (0)