Skip to content

Commit c35bdc2

Browse files
committed
Merge remote-tracking branch 'origin/add_response_handler' into add_response_handler
2 parents 15ef477 + 71da231 commit c35bdc2

Some content is hidden

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

63 files changed

+775
-773
lines changed

.github/workflows/ci-python.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ jobs:
2020
steps:
2121
- name: Checkout source tree
2222
uses: actions/checkout@v4
23-
- name: Set up Python 3.8
23+
- name: Set up Python 3.9
2424
uses: actions/setup-python@v4
2525
with:
26-
python-version: 3.8
26+
python-version: 3.9
2727
- name: Install dependencies
2828
run: |
2929
python -m pip install --upgrade pip
@@ -40,10 +40,10 @@ jobs:
4040
steps:
4141
- name: Checkout source tree
4242
uses: actions/checkout@v4
43-
- name: Set up Python 3.8
43+
- name: Set up Python 3.9
4444
uses: actions/setup-python@v4
4545
with:
46-
python-version: 3.8
46+
python-version: 3.9
4747
- name: Install dependencies
4848
run: |
4949
python -m pip install --upgrade pip
@@ -62,10 +62,10 @@ jobs:
6262
steps:
6363
- name: Checkout source tree
6464
uses: actions/checkout@v4
65-
- name: Set up Python 3.8
65+
- name: Set up Python 3.9
6666
uses: actions/setup-python@v4
6767
with:
68-
python-version: 3.8
68+
python-version: 3.9
6969
- name: Install dependencies
7070
run: |
7171
python -m pip install --upgrade pip

.github/workflows/nightly.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ jobs:
172172
with:
173173
name: Nightly JavaScript Release
174174
cache-key: javascript-nightly
175-
node-version: '18.x'
175+
node-version: '22.x'
176176
run: |
177177
sed -i 's|https://registry.npmjs.org/|https://npm.pkg.github.com|g' javascript/node/selenium-webdriver/package.json
178178
sed -i 's|"name": "selenium-webdriver"|"name": "@seleniumhq/selenium-webdriver"|g' javascript/node/selenium-webdriver/package.json

.github/workflows/update-documentation.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,10 @@ jobs:
107107
run: |
108108
git config --local user.email "[email protected]"
109109
git config --local user.name "Selenium CI Bot"
110-
- name: Set up Python 3.8
110+
- name: Set up Python 3.9
111111
uses: actions/setup-python@v5
112112
with:
113-
python-version: 3.8
113+
python-version: 3.9
114114
- name: Install dependencies
115115
run: |
116116
python -m pip install --upgrade pip

MODULE.bazel

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,11 +111,11 @@ use_repo(oci, "chrome_standalone", "firefox_standalone", "java_image_base")
111111
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
112112
python.toolchain(
113113
is_default = True,
114-
python_version = "3.8",
114+
python_version = "3.9",
115115
)
116-
python.toolchain(python_version = "3.9")
117116
python.toolchain(python_version = "3.10")
118117
python.toolchain(python_version = "3.11")
118+
python.toolchain(python_version = "3.12")
119119
use_repo(python, "pythons_hub")
120120

121121
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
@@ -127,10 +127,10 @@ pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
127127
requirements_lock = "//py:requirements_lock.txt",
128128
)
129129
for version in [
130-
"3.8",
131130
"3.9",
132131
"3.10",
133132
"3.11",
133+
"3.12",
134134
]
135135
]
136136

@@ -216,7 +216,7 @@ maven.install(
216216
"org.junit.platform:junit-platform-reporting",
217217
"org.junit.platform:junit-platform-commons",
218218
"org.junit.platform:junit-platform-engine",
219-
"org.mockito:mockito-core:5.14.2",
219+
"org.mockito:mockito-core:5.15.2",
220220
"org.redisson:redisson:3.41.0",
221221
"org.slf4j:slf4j-api:2.0.16",
222222
"org.slf4j:slf4j-jdk14:2.0.16",

dotnet/src/webdriver/CookieJar.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,16 +74,16 @@ public void AddCookie(Cookie cookie)
7474
/// Delete the cookie by passing in the name of the cookie
7575
/// </summary>
7676
/// <param name="name">The name of the cookie that is in the browser</param>
77-
/// <exception cref="ArgumentNullException">If <paramref name="name"/> is <see langword="null"/>.</exception>
77+
/// <exception cref="ArgumentException">If <paramref name="name"/> is <see langword="null"/> or <see cref="string.Empty"/>.</exception>
7878
public void DeleteCookieNamed(string name)
7979
{
80-
if (name is null)
80+
if (string.IsNullOrWhiteSpace(name))
8181
{
82-
throw new ArgumentNullException(nameof(name));
82+
throw new ArgumentException("Cookie name cannot be null or empty", nameof(name));
8383
}
8484

85-
Dictionary<string, object> parameters = new Dictionary<string, object>();
86-
parameters.Add("name", name);
85+
Dictionary<string, object> parameters = new() { { "name", name } };
86+
8787
driver.InternalExecute(DriverCommand.DeleteCookie, parameters);
8888
}
8989

@@ -115,11 +115,12 @@ public void DeleteAllCookies()
115115
/// </summary>
116116
/// <param name="name">name of the cookie that needs to be returned</param>
117117
/// <returns>A Cookie from the name; or <see langword="null"/> if not found.</returns>
118+
/// <exception cref="ArgumentException">If <paramref name="name"/> is <see langword="null"/> or <see cref="string.Empty"/>.</exception>
118119
public Cookie? GetCookieNamed(string name)
119120
{
120121
if (string.IsNullOrWhiteSpace(name))
121122
{
122-
throw new ArgumentException("Cookie name cannot be empty", nameof(name));
123+
throw new ArgumentException("Cookie name cannot be null or empty", nameof(name));
123124
}
124125

125126
try

dotnet/src/webdriver/ICookieJar.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public interface ICookieJar
6161
/// Deletes the cookie with the specified name from the page.
6262
/// </summary>
6363
/// <param name="name">The name of the cookie to be deleted.</param>
64-
/// <exception cref="ArgumentNullException">If <paramref name="name"/> is <see langword="null"/>.</exception>
64+
/// <exception cref="ArgumentException">If <paramref name="name"/> is <see langword="null"/> or <see cref="string.Empty"/>.</exception>
6565
void DeleteCookieNamed(string name);
6666

6767
/// <summary>

dotnet/src/webdriver/Safari/SafariDriverService.cs

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -87,56 +87,6 @@ protected override bool HasShutdown
8787
get { return false; }
8888
}
8989

90-
/// <summary>
91-
/// Gets a value indicating whether the service is responding to HTTP requests.
92-
/// </summary>
93-
protected override bool IsInitialized
94-
{
95-
get
96-
{
97-
bool isInitialized = false;
98-
99-
Uri serviceHealthUri = new Uri(this.ServiceUrl, new Uri("/session/FakeSessionIdForPollingPurposes", UriKind.Relative));
100-
101-
// Since Firefox driver won't implement the /session end point (because
102-
// the W3C spec working group stupidly decided that it isn't necessary),
103-
// we'll attempt to poll for a different URL which has no side effects.
104-
// We've chosen to poll on the "quit" URL, passing in a nonexistent
105-
// session id.
106-
using (var httpClient = new HttpClient())
107-
{
108-
httpClient.DefaultRequestHeaders.ConnectionClose = true;
109-
httpClient.Timeout = TimeSpan.FromSeconds(5);
110-
111-
using (var httpRequest = new HttpRequestMessage(HttpMethod.Delete, serviceHealthUri))
112-
{
113-
try
114-
{
115-
using (var httpResponse = Task.Run(async () => await httpClient.SendAsync(httpRequest)).GetAwaiter().GetResult())
116-
{
117-
isInitialized = (httpResponse.StatusCode == HttpStatusCode.OK
118-
|| httpResponse.StatusCode == HttpStatusCode.InternalServerError
119-
|| httpResponse.StatusCode == HttpStatusCode.NotFound)
120-
&& httpResponse.Content.Headers.ContentType.MediaType.StartsWith("application/json", StringComparison.OrdinalIgnoreCase);
121-
}
122-
}
123-
124-
// Checking the response from deleting a nonexistent session. Note that we are simply
125-
// checking that the HTTP status returned is a 200 status, and that the resposne has
126-
// the correct Content-Type header. A more sophisticated check would parse the JSON
127-
// response and validate its values. At the moment we do not do this more sophisticated
128-
// check.
129-
catch (Exception ex) when (ex is HttpRequestException || ex is TaskCanceledException)
130-
{
131-
// Do nothing. The exception is expected, meaning driver service is not initialized.
132-
}
133-
}
134-
}
135-
136-
return isInitialized;
137-
}
138-
}
139-
14090
/// <summary>
14191
/// Creates a default instance of the SafariDriverService.
14292
/// </summary>

dotnet/src/webdriver/assets/README.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,11 @@ Selenium is a set of different software tools each with a different approach to
66
using OpenQA.Selenium.Chrome;
77
using OpenQA.Selenium;
88

9-
var driver = new ChromeDriver();
9+
using var driver = new ChromeDriver();
1010

1111
driver.Url = "https://www.google.com";
1212
driver.FindElement(By.Name("q")).SendKeys("webdriver" + Keys.Return);
1313
Console.WriteLine(driver.Title);
14-
15-
driver.Quit();
1614
```
1715

1816
# Contributing

dotnet/test/common/CookieImplementationTest.cs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -620,6 +620,28 @@ public void DeleteAllCookiesDifferentUrls()
620620
AssertCookieIsPresentWithName(cookie2.Name);
621621
}
622622

623+
[Test]
624+
[TestCase(null)]
625+
[TestCase("")]
626+
[TestCase(" ")]
627+
public void ShouldThrowWhenGetInvalidCookieByName(string cookieName)
628+
{
629+
var getCookieAction = () => driver.Manage().Cookies.GetCookieNamed(cookieName);
630+
631+
Assert.That(getCookieAction, Throws.ArgumentException);
632+
}
633+
634+
[Test]
635+
[TestCase(null)]
636+
[TestCase("")]
637+
[TestCase(" ")]
638+
public void ShouldThrowWhenDeleteInvalidCookieByName(string cookieName)
639+
{
640+
var deleteCookieAction = () => driver.Manage().Cookies.DeleteCookieNamed(cookieName);
641+
642+
Assert.That(deleteCookieAction, Throws.ArgumentException);
643+
}
644+
623645
//------------------------------------------------------------------
624646
// Tests below here are not included in the Java test suite
625647
//------------------------------------------------------------------

java/maven_install.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL",
3-
"__INPUT_ARTIFACTS_HASH": 1132645732,
4-
"__RESOLVED_ARTIFACTS_HASH": 1947623231,
3+
"__INPUT_ARTIFACTS_HASH": 1220324005,
4+
"__RESOLVED_ARTIFACTS_HASH": 1655871984,
55
"artifacts": {
66
"com.beust:jcommander": {
77
"shasums": {
@@ -459,10 +459,10 @@
459459
},
460460
"net.bytebuddy:byte-buddy-agent": {
461461
"shasums": {
462-
"jar": "1d76defd159a564b9cb7a968d0dea27367b8b70ebde75a968e7ef1921bc75ee4",
463-
"sources": "8a7e537a5c2a932a6d73dcec9aa8d5388d33ab3aa91ea410aeea5228dcfe9745"
462+
"jar": "316d2c0795c2a4d4c4756f2e6f9349837c7430ac34e0477ead874d05f5cc19e5",
463+
"sources": "a73d2869afd79b63396a0a07ac037bbfa184eb7306916343c030feb5335ac940"
464464
},
465-
"version": "1.15.4"
465+
"version": "1.15.11"
466466
},
467467
"net.sf.saxon:Saxon-HE": {
468468
"shasums": {
@@ -676,10 +676,10 @@
676676
},
677677
"org.mockito:mockito-core": {
678678
"shasums": {
679-
"jar": "2296141c1e1f2e1ae35c08d36a9ab4563ecd66e03533fe82630a764e7aa49182",
680-
"sources": "32f318184ab3795885743f23d8be0da7fe856e3e360b518083f8b366a44d2b33"
679+
"jar": "bf48b7372d9491d5ec8aebb4cdd187d15663931599c0fbe7410166ce0e1e58ff",
680+
"sources": "bc0ee4bc1d8d43a9bd5e5b49dc479566c28db0740284524140aa264e57e8e27e"
681681
},
682-
"version": "5.14.2"
682+
"version": "5.15.2"
683683
},
684684
"org.objenesis:objenesis": {
685685
"shasums": {

0 commit comments

Comments
 (0)