Skip to content

Commit d4ba4df

Browse files
Merge branch 'trunk' into null-exceptions
2 parents ef7a735 + 83d52f8 commit d4ba4df

File tree

718 files changed

+13019
-4221
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

718 files changed

+13019
-4221
lines changed

.github/workflows/bazel.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ on:
7070
jobs:
7171
bazel:
7272
name: ${{ inputs.name }}
73-
runs-on: ${{ inputs.os == 'macos' && 'macos-13' || format('{0}-latest', inputs.os) }}
73+
runs-on: ${{ format('{0}-latest', inputs.os) }}
7474
env:
7575
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
7676
SEL_M2_USER: ${{ secrets.SEL_M2_USER }}
@@ -116,7 +116,7 @@ jobs:
116116
node-version: ${{ inputs.node-version }}
117117
- name: Setup Bazel with caching
118118
if: inputs.caching
119-
uses: bazel-contrib/setup-bazel@0.8.5
119+
uses: bazel-contrib/setup-bazel@0.9.1
120120
with:
121121
bazelisk-cache: true
122122
bazelrc: common --color=yes
@@ -130,7 +130,7 @@ jobs:
130130
repository-cache: true
131131
- name: Setup Bazel without caching
132132
if: inputs.caching == false
133-
uses: bazel-contrib/setup-bazel@0.8.5
133+
uses: bazel-contrib/setup-bazel@0.9.1
134134
with:
135135
bazelrc: common --color=yes
136136
- name: Setup Fluxbox and Xvfb

.github/workflows/ci-python.yml

Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
docs:
1717
name: Documentation
1818
needs: build
19-
runs-on: ubuntu-20.04
19+
runs-on: ubuntu-latest
2020
steps:
2121
- name: Checkout source tree
2222
uses: actions/checkout@v4
@@ -36,7 +36,7 @@ jobs:
3636
lint:
3737
name: Lint
3838
needs: build
39-
runs-on: ubuntu-20.04
39+
runs-on: ubuntu-latest
4040
steps:
4141
- name: Checkout source tree
4242
uses: actions/checkout@v4
@@ -58,7 +58,7 @@ jobs:
5858
mypy:
5959
name: Mypy
6060
needs: build
61-
runs-on: ubuntu-20.04
61+
runs-on: ubuntu-latest
6262
steps:
6363
- name: Checkout source tree
6464
uses: actions/checkout@v4
@@ -81,19 +81,38 @@ jobs:
8181
name: Remote Tests
8282
needs: build
8383
uses: ./.github/workflows/bazel.yml
84+
strategy:
85+
fail-fast: false
86+
matrix:
87+
include:
88+
- browser: firefox
8489
with:
85-
name: Integration Tests (remote)
86-
browser: firefox
87-
cache-key: py-remote
90+
name: Integration Tests (remote, ${{ matrix.browser }})
91+
browser: ${{ matrix.browser }}
92+
cache-key: py-remote-${{ matrix.browser }}
8893
run: bazel test --local_test_jobs 1 --flaky_test_attempts 3 //py:test-remote
8994

90-
safari-tests:
91-
name: Safari Tests
95+
browser-tests:
96+
name: Browser Tests
9297
needs: build
9398
uses: ./.github/workflows/bazel.yml
99+
strategy:
100+
fail-fast: false
101+
matrix:
102+
include:
103+
- browser: safari
104+
os: macos
105+
- browser: chrome
106+
os: ubuntu
107+
- browser: edge
108+
os: ubuntu
109+
- browser: firefox
110+
os: ubuntu
94111
with:
95-
name: Integration Tests (safari)
96-
browser: safari
97-
os: macos
98-
cache-key: py-safari
99-
run: bazel test --local_test_jobs 1 --flaky_test_attempts 3 //py:test-safari
112+
name: Integration Tests (${{ matrix.browser }}, ${{ matrix.os }})
113+
browser: ${{ matrix.browser }}
114+
os: ${{ matrix.os }}
115+
cache-key: py-browser-${{ matrix.browser }}
116+
run: |
117+
bazel test --local_test_jobs 1 --flaky_test_attempts 3 //py:common-${{ matrix.browser }}-bidi
118+
bazel test --local_test_jobs 1 --flaky_test_attempts 3 //py:test-${{ matrix.browser }}

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
with:
2222
fetch-depth: 50
2323
- name: Setup Bazel
24-
uses: bazel-contrib/setup-bazel@0.8.5
24+
uses: bazel-contrib/setup-bazel@0.9.1
2525
with:
2626
bazelisk-cache: true
2727
cache-version: 2

.github/workflows/label-commenter.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ permissions:
1212
jobs:
1313
comment:
1414
if: github.repository_owner == 'seleniumhq'
15-
runs-on: ubuntu-20.04
15+
runs-on: ubuntu-latest
1616
steps:
1717
- uses: actions/checkout@v4
1818
- name: Label Commenter

.skipped-tests

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
-//py:test-chrome-test/selenium/webdriver/chrome/chrome_launcher_tests.py
3232
-//py:test-chrome-test/selenium/webdriver/chrome/chrome_service_tests.py
3333
-//py:test-chrome-test/selenium/webdriver/chrome/proxy_tests.py
34+
-//py:test-edge-test/selenium/webdriver/edge/edge_launcher_tests.py
35+
-//py:test-edge-test/selenium/webdriver/edge/edge_service_tests.py
3436
-//rb/spec/integration/selenium/webdriver/chrome:service-chrome
3537
-//rb/spec/integration/selenium/webdriver/chrome:service-chrome-bidi
3638
-//rb/spec/integration/selenium/webdriver/chrome:service-chrome-remote

MODULE.bazel

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ bazel_dep(name = "protobuf", version = "21.7", dev_dependency = True, repo_name
1717
# Required for rules_rust to import the crates properly
1818
bazel_dep(name = "rules_cc", version = "0.0.9", dev_dependency = True)
1919

20-
bazel_dep(name = "rules_dotnet", version = "0.16.0")
20+
bazel_dep(name = "rules_dotnet", version = "0.16.1")
2121
bazel_dep(name = "rules_java", version = "7.11.1")
2222
bazel_dep(name = "rules_jvm_external", version = "6.3")
2323
bazel_dep(name = "rules_nodejs", version = "6.3.0")
@@ -207,7 +207,7 @@ maven.install(
207207
"org.assertj:assertj-core:3.26.3",
208208
"org.bouncycastle:bcpkix-jdk18on:1.78.1",
209209
"org.eclipse.mylyn.github:org.eclipse.egit.github.core:2.1.5",
210-
"org.hsqldb:hsqldb:2.7.3",
210+
"org.hsqldb:hsqldb:2.7.4",
211211
"org.jspecify:jspecify:1.0.0",
212212
"org.junit.jupiter:junit-jupiter-api:5.11.3",
213213
"org.junit.jupiter:junit-jupiter-engine:5.11.3",

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,18 @@ Run unit tests with:
317317
bazel test //py:unit
318318
```
319319

320+
To run common tests with a specific browser:
321+
322+
```sh
323+
bazel test //py:common-<browsername>
324+
```
325+
326+
To run common tests with a specific browser (include BiDi tests):
327+
328+
```sh
329+
bazel test //py:common-<browsername>-bidi
330+
```
331+
320332
To run tests with a specific browser:
321333

322334
```sh

common/repositories.bzl

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ def pin_browsers():
1111

1212
http_archive(
1313
name = "linux_firefox",
14-
url = "https://ftp.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/en-US/firefox-132.0.tar.bz2",
15-
sha256 = "e3a6f9a68ac72f5df01fac8c97c6de1a353af4b350b8c8b49b2c26c1fbbb2538",
14+
url = "https://ftp.mozilla.org/pub/firefox/releases/132.0.1/linux-x86_64/en-US/firefox-132.0.1.tar.bz2",
15+
sha256 = "ecdcb4787263cacd31aa3a1b62c14f1d3b69af44a0b40f9eb040852f401097c1",
1616
build_file_content = """
1717
load("@aspect_rules_js//js:defs.bzl", "js_library")
1818
package(default_visibility = ["//visibility:public"])
@@ -33,8 +33,8 @@ js_library(
3333

3434
dmg_archive(
3535
name = "mac_firefox",
36-
url = "https://ftp.mozilla.org/pub/firefox/releases/132.0/mac/en-US/Firefox%20132.0.dmg",
37-
sha256 = "5924171ce774ba8d102ddb45c573ff8acd4e0c289b62597f941ca58d79289704",
36+
url = "https://ftp.mozilla.org/pub/firefox/releases/132.0.1/mac/en-US/Firefox%20132.0.1.dmg",
37+
sha256 = "409c0bdb4e434c1191b71504626f8165b01e2582e561a870591940186614be2e",
3838
build_file_content = """
3939
load("@aspect_rules_js//js:defs.bzl", "js_library")
4040
package(default_visibility = ["//visibility:public"])
@@ -50,8 +50,8 @@ js_library(
5050

5151
http_archive(
5252
name = "linux_beta_firefox",
53-
url = "https://ftp.mozilla.org/pub/firefox/releases/133.0b2/linux-x86_64/en-US/firefox-133.0b2.tar.bz2",
54-
sha256 = "8f6806367d338095a0d8fc67f92f7314d2f520b4fe9455fc94cf9a417aa1ecb4",
53+
url = "https://ftp.mozilla.org/pub/firefox/releases/133.0b6/linux-x86_64/en-US/firefox-133.0b6.tar.bz2",
54+
sha256 = "0f600dd3225ca6824004d28449e94d3768012f49eaea5506c618a199f234486e",
5555
build_file_content = """
5656
load("@aspect_rules_js//js:defs.bzl", "js_library")
5757
package(default_visibility = ["//visibility:public"])
@@ -72,8 +72,8 @@ js_library(
7272

7373
dmg_archive(
7474
name = "mac_beta_firefox",
75-
url = "https://ftp.mozilla.org/pub/firefox/releases/133.0b2/mac/en-US/Firefox%20133.0b2.dmg",
76-
sha256 = "313a31899877a782c74b6f460a544407d828effb779c80c6f5ac8fca8e5cb872",
75+
url = "https://ftp.mozilla.org/pub/firefox/releases/133.0b6/mac/en-US/Firefox%20133.0b6.dmg",
76+
sha256 = "a6be00e4471d07eefc149a73e564232f2051fa8a39c1e12385550c8822f128b5",
7777
build_file_content = """
7878
load("@aspect_rules_js//js:defs.bzl", "js_library")
7979
package(default_visibility = ["//visibility:public"])
@@ -123,10 +123,10 @@ js_library(
123123

124124
pkg_archive(
125125
name = "mac_edge",
126-
url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/4e27a0ec-f389-48c0-a4a4-3f1993c5a461/MicrosoftEdge-130.0.2849.56.pkg",
127-
sha256 = "e33831f893e659a3f40f496ea62be85a65e4f085268df9425352a2d3067287a8",
126+
url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/1225faee-37ac-4c03-8f2b-153353d900c6/MicrosoftEdge-130.0.2849.80.pkg",
127+
sha256 = "a0f3353555a7057158fd0335ecc783a45e1ed5bf38da9975396b63008591af80",
128128
move = {
129-
"MicrosoftEdge-130.0.2849.56.pkg/Payload/Microsoft Edge.app": "Edge.app",
129+
"MicrosoftEdge-130.0.2849.80.pkg/Payload/Microsoft Edge.app": "Edge.app",
130130
},
131131
build_file_content = """
132132
load("@aspect_rules_js//js:defs.bzl", "js_library")
@@ -143,8 +143,8 @@ js_library(
143143

144144
deb_archive(
145145
name = "linux_edge",
146-
url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_130.0.2849.56-1_amd64.deb",
147-
sha256 = "fb1231f65c43a22b399c0aed30c827d67c0a8b075c1a6cc2cd1353ebcc660adb",
146+
url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_130.0.2849.80-1_amd64.deb",
147+
sha256 = "1b6f5743703e6da81c65c28dbcfd949d605466e226acc7cde9efbd4beabfa05d",
148148
build_file_content = """
149149
load("@aspect_rules_js//js:defs.bzl", "js_library")
150150
package(default_visibility = ["//visibility:public"])
@@ -165,8 +165,8 @@ js_library(
165165

166166
http_archive(
167167
name = "linux_edgedriver",
168-
url = "https://msedgedriver.azureedge.net/130.0.2849.68/edgedriver_linux64.zip",
169-
sha256 = "fd831ca9def2061be07e496d66c1b3ff8882b8c061615dc7f5122ffee05ee013",
168+
url = "https://msedgedriver.azureedge.net/130.0.2849.78/edgedriver_linux64.zip",
169+
sha256 = "aec868f31bd714a5c12405f6fd6e0e7bfb3d0d06ae79690ecffde4af73da2075",
170170
build_file_content = """
171171
load("@aspect_rules_js//js:defs.bzl", "js_library")
172172
package(default_visibility = ["//visibility:public"])
@@ -182,8 +182,8 @@ js_library(
182182

183183
http_archive(
184184
name = "mac_edgedriver",
185-
url = "https://msedgedriver.azureedge.net/130.0.2849.68/edgedriver_mac64.zip",
186-
sha256 = "0320730b275a89afeca1aebedf98f2cea47422dbfd47f643f2fd968f84832dc5",
185+
url = "https://msedgedriver.azureedge.net/130.0.2849.81/edgedriver_mac64.zip",
186+
sha256 = "da719a1170c2e93a88186dd9dabe485dda816280539522af03535d6c02eb1943",
187187
build_file_content = """
188188
load("@aspect_rules_js//js:defs.bzl", "js_library")
189189
package(default_visibility = ["//visibility:public"])
@@ -199,8 +199,8 @@ js_library(
199199

200200
http_archive(
201201
name = "linux_chrome",
202-
url = "https://storage.googleapis.com/chrome-for-testing-public/130.0.6723.91/linux64/chrome-linux64.zip",
203-
sha256 = "9190cc0540c9f59df5e81aae48d0e048dca6f7343266cee17d956931d844b1e7",
202+
url = "https://storage.googleapis.com/chrome-for-testing-public/130.0.6723.116/linux64/chrome-linux64.zip",
203+
sha256 = "3e71b99204dc191a8692048526a4ad41803b8b9035ea4ef14eb9b1d37331e1f1",
204204
build_file_content = """
205205
load("@aspect_rules_js//js:defs.bzl", "js_library")
206206
package(default_visibility = ["//visibility:public"])
@@ -221,8 +221,8 @@ js_library(
221221

222222
http_archive(
223223
name = "mac_chrome",
224-
url = "https://storage.googleapis.com/chrome-for-testing-public/130.0.6723.91/mac-x64/chrome-mac-x64.zip",
225-
sha256 = "1706e6f0671a78fa75d9567577c38e7d6848da9144c83ccba80fc840d2347cd3",
224+
url = "https://storage.googleapis.com/chrome-for-testing-public/130.0.6723.116/mac-x64/chrome-mac-x64.zip",
225+
sha256 = "2f535efa4d92c9aa3c7a1fd896ae4088d6a306150649bb7c1e6ef20f7d536476",
226226
strip_prefix = "chrome-mac-x64",
227227
patch_cmds = [
228228
"mv 'Google Chrome for Testing.app' Chrome.app",
@@ -243,8 +243,8 @@ js_library(
243243

244244
http_archive(
245245
name = "linux_chromedriver",
246-
url = "https://storage.googleapis.com/chrome-for-testing-public/130.0.6723.91/linux64/chromedriver-linux64.zip",
247-
sha256 = "a8c94cea296c22a9bc1b928b138b8655bfecd9b372652c909b1b2af841ca5ff7",
246+
url = "https://storage.googleapis.com/chrome-for-testing-public/130.0.6723.116/linux64/chromedriver-linux64.zip",
247+
sha256 = "35b6751942cb589e8bde4733cf6dc7a1484693a56004e5dc8d994beede19e847",
248248
strip_prefix = "chromedriver-linux64",
249249
build_file_content = """
250250
load("@aspect_rules_js//js:defs.bzl", "js_library")
@@ -261,8 +261,8 @@ js_library(
261261

262262
http_archive(
263263
name = "mac_chromedriver",
264-
url = "https://storage.googleapis.com/chrome-for-testing-public/130.0.6723.91/mac-x64/chromedriver-mac-x64.zip",
265-
sha256 = "e2e137e1ff7d7d3886e4526ad319c4a1da90bcd4f601af247ac60ec58e38c570",
264+
url = "https://storage.googleapis.com/chrome-for-testing-public/130.0.6723.116/mac-x64/chromedriver-mac-x64.zip",
265+
sha256 = "f8f71dfbed7dfe7255b2a1abda3cf28cc4d661f6f653dc1282735c703c86b865",
266266
strip_prefix = "chromedriver-mac-x64",
267267
build_file_content = """
268268
load("@aspect_rules_js//js:defs.bzl", "js_library")

common/src/web/formPage.html

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,12 @@
8080
<option value="oranges">Oranges</option>
8181
</select>
8282

83+
<select id="invisible_multi_select" multiple>
84+
<option selected="selected" value="apples" style="opacity: 0;">Apples</option>
85+
<option value="oranges">Oranges</option>
86+
<option selected="selected" value="lemons">Lemons</option>
87+
</select>
88+
8389
<select name="select-default">
8490
<option>One</option>
8591
<option>Two</option>

dotnet/src/support/Events/EventFiringWebDriver.cs

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
1-
// <copyright file="EventFiringWebDriver.cs" company="WebDriver Committers">
1+
// <copyright file="EventFiringWebDriver.cs" company="Selenium Committers">
22
// Licensed to the Software Freedom Conservancy (SFC) under one
3-
// or more contributor license agreements. See the NOTICE file
3+
// or more contributor license agreements. See the NOTICE file
44
// distributed with this work for additional information
5-
// regarding copyright ownership. The SFC licenses this file
6-
// to you under the Apache License, Version 2.0 (the "License");
7-
// you may not use this file except in compliance with the License.
8-
// You may obtain a copy of the License at
5+
// regarding copyright ownership. The SFC licenses this file
6+
// to you under the Apache License, Version 2.0 (the
7+
// "License"); you may not use this file except in compliance
8+
// with the License. You may obtain a copy of the License at
99
//
10-
// http://www.apache.org/licenses/LICENSE-2.0
10+
// http://www.apache.org/licenses/LICENSE-2.0
1111
//
12-
// Unless required by applicable law or agreed to in writing, software
13-
// distributed under the License is distributed on an "AS IS" BASIS,
14-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15-
// See the License for the specific language governing permissions and
16-
// limitations under the License.
12+
// Unless required by applicable law or agreed to in writing,
13+
// software distributed under the License is distributed on an
14+
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
// KIND, either express or implied. See the License for the
16+
// specific language governing permissions and limitations
17+
// under the License.
1718
// </copyright>
1819

1920
using System;

0 commit comments

Comments
 (0)