Skip to content

Commit d4336c4

Browse files
authored
Merge branch 'trunk' into add-test-usercontext-cookie
2 parents eb61fa1 + 2af239f commit d4336c4

File tree

604 files changed

+5510
-16443
lines changed

Some content is hidden

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

604 files changed

+5510
-16443
lines changed

.bazelrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ test --test_env=JRUBY_OPTS="--dev"
105105

106106
test:windows --test_env=PATH
107107
test:windows --test_env=LOCALAPPDATA
108+
test:windows --test_env=PROCESSOR_ARCHITECTURE
108109
test:windows --test_env=PROGRAMFILES="C:\\Program Files"
109110
test:windows --test_env=PROGRAMFILES(X86)="C:\\Program Files (x86)"
110111

.bazelrc.remote

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ build:remote --disk_cache=
3131
build:remote --incompatible_enable_cc_toolchain_resolution
3232
build:remote --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
3333
test:remote --test_env=DISPLAY=:99.0
34-
test:remote --test_tag_filters=-skip-remote,-remote
34+
test:remote --test_tag_filters=-exclusive-if-local,-skip-remote,-remote
3535

3636
# Env vars we can hard code
3737
build:remote --action_env=HOME=/home/dev

.github/workflows/bazel.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ jobs:
132132
name: ${{ inputs.cache-key }}
133133
manifest:
134134
crates: rust/Cargo.Bazel.lock
135-
rules_ruby~~ruby~ruby: ${{ inputs.os == 'windows' && 'false' || 'rb/.ruby-version' }}
135+
rules_ruby++ruby+ruby: ${{ inputs.os == 'windows' && 'false' || 'rb/.ruby-version' }}
136136
repository-cache: true
137137
- name: Setup Bazel without caching
138138
if: inputs.caching == false

.github/workflows/ci-ruby.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ jobs:
111111
browser: ${{ matrix.browser }}
112112
cache-key: rb-remote-${{ matrix.browser }}-${{ matrix.os }}-test
113113
os: ${{ matrix.os }}
114-
java-version: 11
114+
java-version: 17
115115
run: >
116116
bazel test
117117
--keep_going

.github/workflows/pre-release.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,17 +97,19 @@ jobs:
9797
**Warning: Manually update the changelogs before merging**
9898
9999
This PR:
100-
* Updates Rust version for Selenium Manager release
101100
* Updates Pinned browser version to coincide with new CDP release
102101
* Adds support for new CDP version and removes old CDP version
103102
* Selenium Manager references the new Selenium Manager release
104103
* Updates Maven Dependencies
105104
* Adds new authors to authors file
106105
* Updates all versions for all bindings
107106
* Generates *rough* change logs for each bindings (please tidy them up before merging this)
107+
* Not all commits need to be in the change log — users do not need to see anything about building or testing Selenium
108+
* Remove references to updating versions including nightly
109+
* The code now outputs the complete body of the commit message; make sure the changelog message is complete and correct
108110
109-
- Auto-generated by [create-pull-request][1]
111+
- This PR was auto-generated by workflow run: [release-preparation][1]
110112
111-
[1]: https://github.com/peter-evans/create-pull-request
113+
[1]: https://github.com/SeleniumHQ/selenium/actions/runs/${{ github.run_id }}
112114
labels: C-build
113115
draft: true

.mailmap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ Brandon Walderman <[email protected]> <[email protected]>
1616
1717
1818
19+
1920
2021
2122
Daniel P. Purkhús <[email protected]>

MODULE.bazel

Lines changed: 43 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -172,62 +172,62 @@ maven.install(
172172
artifacts = [
173173
"com.beust:jcommander:1.82",
174174
"com.github.javaparser:javaparser-core:3.26.3",
175-
"com.github.spotbugs:spotbugs:4.9.1",
175+
"com.github.spotbugs:spotbugs:4.9.3",
176176
"com.github.stephenc.jcip:jcip-annotations:1.0-1",
177+
"com.google.code.findbugs:jsr305:3.0.2",
177178
"com.google.code.gson:gson:2.12.1",
178179
"com.google.guava:guava:33.4.0-jre",
179180
"com.google.auto:auto-common:1.2.2",
180181
"com.google.auto.service:auto-service:1.1.1",
181182
"com.google.auto.service:auto-service-annotations:1.1.1",
182-
"com.google.googlejavaformat:google-java-format:jar:1.25.2",
183+
"com.google.googlejavaformat:google-java-format:1.25.2",
183184
"com.graphql-java:graphql-java:22.3",
184185
"dev.failsafe:failsafe:3.3.2",
185-
"io.grpc:grpc-context:1.70.0",
186-
"io.lettuce:lettuce-core:6.5.3.RELEASE",
187-
"io.netty:netty-buffer",
188-
"io.netty:netty-codec-http",
189-
"io.netty:netty-codec-http2",
190-
"io.netty:netty-common",
191-
"io.netty:netty-handler",
192-
"io.netty:netty-handler-proxy",
193-
"io.netty:netty-transport",
194-
"io.opentelemetry:opentelemetry-api",
195-
"io.opentelemetry:opentelemetry-context",
196-
"io.opentelemetry:opentelemetry-exporter-logging",
197-
"io.opentelemetry:opentelemetry-sdk",
198-
"io.opentelemetry:opentelemetry-sdk-common",
199-
"io.opentelemetry:opentelemetry-sdk-extension-autoconfigure",
200-
"io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi",
201-
"io.opentelemetry:opentelemetry-sdk-testing",
202-
"io.opentelemetry:opentelemetry-sdk-trace",
203-
"io.opentelemetry.semconv:opentelemetry-semconv:1.28.0-alpha",
186+
"io.grpc:grpc-context:1.71.0",
187+
"io.lettuce:lettuce-core:6.5.5.RELEASE",
188+
"io.netty:netty-buffer:4.1.119.Final",
189+
"io.netty:netty-codec-http:4.1.119.Final",
190+
"io.netty:netty-codec-http2:4.1.119.Final",
191+
"io.netty:netty-common:4.1.119.Final",
192+
"io.netty:netty-handler:4.1.119.Final",
193+
"io.netty:netty-handler-proxy:4.1.119.Final",
194+
"io.netty:netty-transport:4.1.119.Final",
195+
"io.opentelemetry:opentelemetry-api:1.48.0",
196+
"io.opentelemetry:opentelemetry-context:1.48.0",
197+
"io.opentelemetry:opentelemetry-exporter-logging:1.48.0",
198+
"io.opentelemetry:opentelemetry-sdk:1.48.0",
199+
"io.opentelemetry:opentelemetry-sdk-common:1.48.0",
200+
"io.opentelemetry:opentelemetry-sdk-extension-autoconfigure:1.48.0",
201+
"io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi:1.48.0",
202+
"io.opentelemetry:opentelemetry-sdk-testing:1.48.0",
203+
"io.opentelemetry:opentelemetry-sdk-trace:1.48.0",
204204
"it.ozimov:embedded-redis:0.7.3",
205-
"net.bytebuddy:byte-buddy:1.15.11",
206-
"org.htmlunit:htmlunit-core-js:4.7.0",
205+
"net.bytebuddy:byte-buddy:1.17.2",
206+
"org.htmlunit:htmlunit-core-js:4.10.0",
207207
"org.apache.commons:commons-exec:1.4.0",
208208
"org.apache.logging.log4j:log4j-core:2.24.3",
209-
"org.assertj:assertj-core:3.27.2",
210-
"org.bouncycastle:bcpkix-jdk18on:1.79",
209+
"org.assertj:assertj-core:3.27.3",
210+
"org.bouncycastle:bcpkix-jdk18on:1.80",
211211
"org.eclipse.mylyn.github:org.eclipse.egit.github.core:2.1.5",
212212
"org.hsqldb:hsqldb:2.7.4",
213213
"org.jspecify:jspecify:1.0.0",
214-
"org.junit.jupiter:junit-jupiter-api",
215-
"org.junit.jupiter:junit-jupiter-engine",
216-
"org.junit.jupiter:junit-jupiter-params",
217-
"org.junit.platform:junit-platform-launcher",
218-
"org.junit.platform:junit-platform-reporting",
219-
"org.junit.platform:junit-platform-commons",
220-
"org.junit.platform:junit-platform-engine",
221-
"org.mockito:mockito-core:5.15.2",
222-
"org.redisson:redisson:3.41.0",
223-
"org.slf4j:slf4j-api:2.0.16",
224-
"org.slf4j:slf4j-jdk14:2.0.16",
214+
"org.junit.jupiter:junit-jupiter-api:5.12.1",
215+
"org.junit.jupiter:junit-jupiter-engine:5.12.1",
216+
"org.junit.jupiter:junit-jupiter-params:5.12.1",
217+
"org.junit.platform:junit-platform-launcher:1.12.1",
218+
"org.junit.platform:junit-platform-reporting:1.12.1",
219+
"org.junit.platform:junit-platform-commons:1.12.1",
220+
"org.junit.platform:junit-platform-engine:1.12.1",
221+
"org.mockito:mockito-core:5.16.1",
222+
"org.redisson:redisson:3.45.0",
223+
"org.slf4j:slf4j-api:2.0.17",
224+
"org.slf4j:slf4j-jdk14:2.0.17",
225225
"org.tomlj:tomlj:1.1.1",
226226
"org.zeromq:jeromq:0.6.0",
227227
],
228228
boms = [
229229
"io.opentelemetry:opentelemetry-bom:1.46.0",
230-
"io.netty:netty-bom:4.1.117.Final",
230+
"io.netty:netty-bom:4.1.118.Final",
231231
"org.junit:junit-bom:5.11.4",
232232
],
233233
excluded_artifacts = [
@@ -276,7 +276,7 @@ ruby.bundle_fetch(
276276
"connection_pool-2.5.0": "233b92f8d38e038c1349ccea65dd3772727d669d6d2e71f9897c8bf5cd53ebfc",
277277
"crack-1.0.0": "c83aefdb428cdc7b66c7f287e488c796f055c0839e6e545fec2c7047743c4a49",
278278
"csv-3.3.2": "6ff0c135e65e485d1864dde6c1703b60d34cc9e19bed8452834a0b28a519bd4e",
279-
"curb-1.0.8": "e23ab9225fb2fc02c083e0588d5b918b5533f0d01cdd0aa70414829ba9e92962",
279+
"curb-1.0.9": "07e5b74a4836103ce186827528f76a22d3991a9b7c45f5c10ee18ee7b03feb0d",
280280
"date-3.4.1": "bf268e14ef7158009bfeaec40b5fa3c7271906e88b196d958a89d4b408abe64f",
281281
"date-3.4.1-java": "74740d914c65a922a15657c25ff0e203c16f1d0f7aa910a9ebed712afe9819c4",
282282
"debug-1.10.0": "11e28ca74875979e612444104f3972bd5ffb9e79179907d7ad46dba44bd2e7a4",
@@ -299,6 +299,7 @@ ruby.bundle_fetch(
299299
"json-2.10.1": "ddc88ad91a1baf3f0038c174f253af3b086d30dc74db17ca4259bbde982f94dc",
300300
"json-2.10.1-java": "de07233fb74113af2186eb9342f8207c9be0faf289a1e2623c9b0acb8b0b0ee1",
301301
"language_server-protocol-3.17.0.4": "c484626478664fd13482d8180947c50a8590484b1258b99b7aedb3b69df89669",
302+
"lint_roller-1.1.0": "2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87",
302303
"listen-3.9.0": "db9e4424e0e5834480385197c139cb6b0ae0ef28cc13310cfd1ca78377d59c67",
303304
"logger-1.6.6": "dd618d24e637715472732e7eed02e33cfbdf56deaad225edd0f1f89d38024017",
304305
"minitest-5.25.4": "9cf2cae25ac4dfc90c988ebc3b917f53c054978b673273da1bd20bcb0778f947",
@@ -321,25 +322,25 @@ ruby.bundle_fetch(
321322
"rdoc-6.12.0": "7d6f706e070bffa5d18a448f24076cbfb34923a99c1eab842aa18e6ca69f56e0",
322323
"regexp_parser-2.10.0": "cb6f0ddde88772cd64bff1dbbf68df66d376043fe2e66a9ef77fcb1b0c548c61",
323324
"reline-0.6.0": "57620375dcbe56ec09bac7192bfb7460c716bbf0054dc94345ecaa5438e539d2",
324-
"rexml-3.4.0": "efbea1efba7fa151158e0ee1e643525834da2d8eb4cf744aa68f6480bc9804b2",
325+
"rexml-3.4.1": "c74527a9a0a04b4ec31dbe0dc4ed6004b960af943d8db42e539edde3a871abca",
325326
"rspec-3.13.0": "d490914ac1d5a5a64a0e1400c1d54ddd2a501324d703b8cfe83f458337bab993",
326327
"rspec-core-3.13.3": "25136507f4f9cf2e8977a2851e64e438b4331646054e345998714108745cdfe4",
327328
"rspec-expectations-3.13.3": "0e6b5af59b900147698ea0ff80456c4f2e69cac4394fbd392fbd1ca561f66c58",
328329
"rspec-mocks-3.13.2": "2327335def0e1665325a9b617e3af9ae20272741d80ac550336309a7c59abdef",
329330
"rspec-support-3.13.2": "cea3a2463fd9b84b9dcc9685efd80ea701aa8f7b3decb3b3ce795ed67737dbec",
330-
"rubocop-1.71.2": "9a7b7501aac661a338ed7ff2a5eba78e581759e1f0d3c82362b2ca217ed3f97f",
331+
"rubocop-1.72.2": "0259a32d89fee60882bf4c4d8847e696357719c9db4971839da742bf053ae96b",
331332
"rubocop-ast-1.38.0": "4fdf6792fe443a9a18acb12dbc8225d0d64cd1654e41fedb30e79c18edbb26ae",
332333
"rubocop-capybara-2.21.0": "5d264efdd8b6c7081a3d4889decf1451a1cfaaec204d81534e236bc825b280ab",
333334
"rubocop-factory_bot-2.26.1": "8de13cd4edcee5ca800f255188167ecef8dbfc3d1fae9f15734e9d2e755392aa",
334-
"rubocop-performance-1.23.1": "f22f86a795f5e6a6180aac2c6fc172534b173a068d6ed3396d6460523e051b82",
335+
"rubocop-performance-1.24.0": "e5bd39ff3e368395b9af886927cc37f5892f43db4bd6c8526594352d5b4440b5",
335336
"rubocop-rake-0.6.0": "56b6f22189af4b33d4f4e490a555c09f1281b02f4d48c3a61f6e8fe5f401d8db",
336337
"rubocop-rspec-2.31.0": "2bae19388d78e1ceace44cd95fd34f3209f4ef20cac1b168d0a1325cbba3d672",
337338
"rubocop-rspec_rails-2.29.1": "4ae95abbe9ca5a9b6d8be14e50d230fb5b6ba033b05d4c0981b5b76fc44988e4",
338339
"ruby-progressbar-1.13.0": "80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33",
339340
"rubyzip-2.4.1": "8577c88edc1fde8935eb91064c5cb1aef9ad5494b940cf19c775ee833e075615",
340341
"securerandom-0.4.1": "cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1",
341342
"steep-1.5.3": "7c6302a4d5932d0a46176ebc79766e52b853c223a85525aa2f8911e345123b85",
342-
"stringio-3.1.2": "204f1828f85cdb39d57cac4abc6dc44b04505a223f131587f2e20ae3729ba131",
343+
"stringio-3.1.4": "7dd68f6f1a88610817c21f6d926dbf36e1fc585d3869fcd4a56c1f3210591d70",
343344
"strscan-3.1.2": "5529ff36c95fe752b8489f2e6c7f4f230fd9904e0b24fdc6e0833436c63ee2e3",
344345
"strscan-3.1.2-java": "4e9379df974b1af28d1bc1bc845ebb7e2bb21a7f9948ac99e1a8c5479881ecec",
345346
"terminal-table-3.0.2": "f951b6af5f3e00203fb290a669e0a85c5dd5b051b3b023392ccfd67ba5abae91",

README.md

Lines changed: 38 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ for Maven to use locally by deploying to your local maven repository (`~/.m2/rep
201201

202202
#### Updating Dependencies
203203

204-
Dependencies are defined in the file [maven_deps.bzl](https://github.com/SeleniumHQ/selenium/blob/trunk/java/maven_deps.bzl).
204+
Dependencies are defined in the file [MODULE.bazel](https://github.com/SeleniumHQ/selenium/blob/trunk/MODULE.bazel).
205205
To automatically update and pin new dependencies, run:
206206

207207
```shell
@@ -210,16 +210,47 @@ To automatically update and pin new dependencies, run:
210210

211211
### Python
212212

213-
You can run Python code locally by updating generated files in the python directory using:
213+
#### Linting
214+
215+
We follow the [PEP8 Style Guide for Python Code](https://peps.python.org/pep-0008) (except we use a 120 character line length).
216+
This is checked and enforced with several linting tools, including
217+
[black](https://pypi.org/project/black),
218+
[docformatter](https://pypi.org/project/docformatter),
219+
[flake8](https://flake8.pycqa.org),
220+
and [isort](https://pycqa.github.io/isort).
221+
222+
To run all of the linting tools:
223+
```shell
224+
./go py:lint
225+
```
226+
227+
You need `tox` installed to run the linting tools (`pip install tox`).
228+
229+
#### Local Installation
230+
231+
To run Python code locally without building/installing the package, you must first install the dependencies:
232+
```shell
233+
pip install -r py/requirements.txt
234+
```
235+
236+
Then, build the generated files and copy them into your local source tree:
214237
```shell
215-
./go py:update
238+
./go py:local_dev
216239
```
217240

218-
To install Selenium locally based on a specific commit, you can use:
241+
After that, you can import the selenium package directly from source from the `py` directory.
242+
243+
Instead of running from source, you can build and install the selenium package (wheel) locally:
219244
```shell
220245
./go py:install
221246
```
222247

248+
This will attempt to install into the global Python `site-packages` directory,
249+
which might not be writable. To avoid this, you should create and activate a
250+
[virtual environment](https://packaging.python.org/en/latest/tutorials/installing-packages/#creating-virtual-environments)
251+
before installing.
252+
253+
223254
### Ruby
224255

225256
Instead of using `irb`, you can create an interactive REPL with all gems loaded using: `bazel run //rb:console`
@@ -283,6 +314,9 @@ Tests can also be filtered by tag like:
283314
bazel test //<language>/... --test_tag_filters=this,-not-this
284315
```
285316

317+
If there are multiple `--test_tag_filters`, only the last one is considered,
318+
so be careful if also using an inherited config
319+
286320
### Java
287321

288322
<details>

0 commit comments

Comments
 (0)