Skip to content

Commit 6105a3f

Browse files
authored
Merge branch 'trunk' into rb_deprecate_firefox_cdp
2 parents 02187c6 + b1828bf commit 6105a3f

File tree

155 files changed

+3378
-1194
lines changed

Some content is hidden

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

155 files changed

+3378
-1194
lines changed

.github/workflows/bazel.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,16 @@ jobs:
103103
- browser: safari
104104
os: macos
105105
- browser: chrome
106-
os: macos
106+
os: ubuntu
107+
- browser: edge
108+
os: ubuntu
109+
- browser: firefox
110+
os: ubuntu
107111
with:
108112
name: Integration Tests (${{ matrix.browser }}, ${{ matrix.os }})
109113
browser: ${{ matrix.browser }}
110114
os: ${{ matrix.os }}
111115
cache-key: py-browser-${{ matrix.browser }}
112-
run: bazel test --flaky_test_attempts 3 //py:test-${{ 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

.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: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Rakefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -582,10 +582,11 @@ namespace :py do
582582
desc 'Update Python version'
583583
task :version, [:version] do |_task, arguments|
584584
old_version = python_version
585-
nightly = ".dev#{Time.now.strftime('%Y%m%d%H%M')}"
585+
nightly = ".#{Time.now.strftime('%Y%m%d%H%M')}"
586586
new_version = updated_version(old_version, arguments[:version], nightly)
587587

588588
['py/setup.py',
589+
'py/pyproject.toml',
589590
'py/BUILD.bazel',
590591
'py/selenium/__init__.py',
591592
'py/selenium/webdriver/__init__.py',
@@ -1138,7 +1139,7 @@ def updated_version(current, desired = nil, nightly = nil)
11381139
desired.split('.').tap { |v| v << 0 while v.size < 3 }.join('.')
11391140
elsif current.split(/\.|-/).size > 3
11401141
# if current version is already nightly, just need to bump it; this will be noop for some languages
1141-
pattern = /-?\.?(nightly|SNAPSHOT|dev)\d*$/
1142+
pattern = /-?\.?(nightly|SNAPSHOT|dev|\d{12})\d*$/
11421143
current.gsub(pattern, nightly)
11431144
elsif current.split(/\.|-/).size == 3
11441145
# if current version is not nightly, need to bump the version and make nightly

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.1/linux-x86_64/en-US/firefox-132.0.1.tar.bz2",
15-
sha256 = "ecdcb4787263cacd31aa3a1b62c14f1d3b69af44a0b40f9eb040852f401097c1",
14+
url = "https://ftp.mozilla.org/pub/firefox/releases/132.0.2/linux-x86_64/en-US/firefox-132.0.2.tar.bz2",
15+
sha256 = "777d47f8b8710ab450582dc0dc0cdf8f43c2291249b3eaf740ee28ee34cda139",
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.1/mac/en-US/Firefox%20132.0.1.dmg",
37-
sha256 = "409c0bdb4e434c1191b71504626f8165b01e2582e561a870591940186614be2e",
36+
url = "https://ftp.mozilla.org/pub/firefox/releases/132.0.2/mac/en-US/Firefox%20132.0.2.dmg",
37+
sha256 = "233251c46eb4964868d815a9233cab855ac6160736310771a67af93a9b78224d",
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.0b6/linux-x86_64/en-US/firefox-133.0b6.tar.bz2",
54-
sha256 = "0f600dd3225ca6824004d28449e94d3768012f49eaea5506c618a199f234486e",
53+
url = "https://ftp.mozilla.org/pub/firefox/releases/133.0b9/linux-x86_64/en-US/firefox-133.0b9.tar.bz2",
54+
sha256 = "5c9f79912bfbf892d2b676973a26ffc078ee9b8fd9b791bfa856db030e657750",
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.0b6/mac/en-US/Firefox%20133.0b6.dmg",
76-
sha256 = "a6be00e4471d07eefc149a73e564232f2051fa8a39c1e12385550c8822f128b5",
75+
url = "https://ftp.mozilla.org/pub/firefox/releases/133.0b9/mac/en-US/Firefox%20133.0b9.dmg",
76+
sha256 = "0eb0fabe9216dc80c2ca403dd2eba935d71f2bdc1dea1d1cc37f03666ef094d1",
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/1225faee-37ac-4c03-8f2b-153353d900c6/MicrosoftEdge-130.0.2849.80.pkg",
127-
sha256 = "a0f3353555a7057158fd0335ecc783a45e1ed5bf38da9975396b63008591af80",
126+
url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/08b226c9-fbe8-43c0-94fe-ed9c3eeb8f59/MicrosoftEdge-131.0.2903.51.pkg",
127+
sha256 = "5bc1eab86bb315aa9f2cd2b7d9afe072df35280f6e6d1a9ca9c108d95bda8acd",
128128
move = {
129-
"MicrosoftEdge-130.0.2849.80.pkg/Payload/Microsoft Edge.app": "Edge.app",
129+
"MicrosoftEdge-131.0.2903.51.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.80-1_amd64.deb",
147-
sha256 = "1b6f5743703e6da81c65c28dbcfd949d605466e226acc7cde9efbd4beabfa05d",
146+
url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_131.0.2903.51-1_amd64.deb",
147+
sha256 = "8aad12c97bcae417ff9cc4251b75211eeda7f1513312dc57b2f744e824e028c0",
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.78/edgedriver_linux64.zip",
169-
sha256 = "aec868f31bd714a5c12405f6fd6e0e7bfb3d0d06ae79690ecffde4af73da2075",
168+
url = "https://msedgedriver.azureedge.net/131.0.2903.52/edgedriver_linux64.zip",
169+
sha256 = "ddbeda7cec5ed16b96c3cf0f6759de30e4f3726da9da31bfba1371ccd8fcfd14",
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.81/edgedriver_mac64.zip",
186-
sha256 = "da719a1170c2e93a88186dd9dabe485dda816280539522af03535d6c02eb1943",
185+
url = "https://msedgedriver.azureedge.net/131.0.2903.52/edgedriver_mac64.zip",
186+
sha256 = "719f54eb9376df5963e80da727c8ab8bacf6a1f57b785602a53a22fe330bb160",
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.116/linux64/chrome-linux64.zip",
203-
sha256 = "3e71b99204dc191a8692048526a4ad41803b8b9035ea4ef14eb9b1d37331e1f1",
202+
url = "https://storage.googleapis.com/chrome-for-testing-public/131.0.6778.69/linux64/chrome-linux64.zip",
203+
sha256 = "3e33f61511e5e9dabac0d7a57b4bb975555ed1d4dababa7898205c030f82e4e3",
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.116/mac-x64/chrome-mac-x64.zip",
225-
sha256 = "2f535efa4d92c9aa3c7a1fd896ae4088d6a306150649bb7c1e6ef20f7d536476",
224+
url = "https://storage.googleapis.com/chrome-for-testing-public/131.0.6778.69/mac-x64/chrome-mac-x64.zip",
225+
sha256 = "72a52967c80f9f145856d08d91052eaa27f6b951f9a4d8ab279f192b98784e41",
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.116/linux64/chromedriver-linux64.zip",
247-
sha256 = "35b6751942cb589e8bde4733cf6dc7a1484693a56004e5dc8d994beede19e847",
246+
url = "https://storage.googleapis.com/chrome-for-testing-public/131.0.6778.69/linux64/chromedriver-linux64.zip",
247+
sha256 = "afc7b41aa0e1606e8cc177c776287d836635690964e39eab1ed94d63a0c96be2",
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.116/mac-x64/chromedriver-mac-x64.zip",
265-
sha256 = "f8f71dfbed7dfe7255b2a1abda3cf28cc4d661f6f653dc1282735c703c86b865",
264+
url = "https://storage.googleapis.com/chrome-for-testing-public/131.0.6778.69/mac-x64/chromedriver-mac-x64.zip",
265+
sha256 = "92583e52f601951d3e0849891239bb2f6ff00dd8f8fd6c908473cc21c0533dd2",
266266
strip_prefix = "chromedriver-mac-x64",
267267
build_file_content = """
268268
load("@aspect_rules_js//js:defs.bzl", "js_library")

dotnet/src/support/Events/EventFiringWebDriver.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -478,6 +478,7 @@ public object ExecuteScript(string script, params object[] args)
478478
/// <param name="script">A <see cref="PinnedScript"/> object containing the code to execute.</param>
479479
/// <param name="args">The arguments to the script.</param>
480480
/// <returns>The value returned by the script.</returns>
481+
/// <exception cref="ArgumentNullException">If <paramref name="script"/> is <see langword="null"/>.</exception>
481482
/// <remarks>
482483
/// <para>
483484
/// The ExecuteScript method executes JavaScript in the context of
@@ -509,6 +510,11 @@ public object ExecuteScript(string script, params object[] args)
509510
/// </remarks>
510511
public object ExecuteScript(PinnedScript script, params object[] args)
511512
{
513+
if (script == null)
514+
{
515+
throw new ArgumentNullException(nameof(script));
516+
}
517+
512518
IJavaScriptExecutor javascriptDriver = this.driver as IJavaScriptExecutor;
513519
if (javascriptDriver == null)
514520
{

dotnet/src/webdriver/DefaultFileDetector.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@
1717
// under the License.
1818
// </copyright>
1919

20+
using System.Diagnostics.CodeAnalysis;
21+
22+
#nullable enable
23+
2024
namespace OpenQA.Selenium
2125
{
2226
/// <summary>
@@ -31,7 +35,7 @@ public class DefaultFileDetector : IFileDetector
3135
/// </summary>
3236
/// <param name="keySequence">The sequence to test for file existence.</param>
3337
/// <returns>This method always returns <see langword="false"/> in this implementation.</returns>
34-
public bool IsFile(string keySequence)
38+
public bool IsFile([NotNullWhen(true)] string? keySequence)
3539
{
3640
return false;
3741
}

0 commit comments

Comments
 (0)