Skip to content

Commit fd4c65a

Browse files
fix tests and docs using them
1 parent 192c8f7 commit fd4c65a

18 files changed

Lines changed: 220 additions & 152 deletions

File tree

examples/dotnet/SeleniumDocs/BiDi/CDP/NetworkTest.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
using OpenQA.Selenium;
55
using OpenQA.Selenium.DevTools;
66
using System.Linq;
7-
using OpenQA.Selenium.DevTools.V145.Network;
8-
using OpenQA.Selenium.DevTools.V145.Performance;
7+
using OpenQA.Selenium.DevTools.V148.Network;
8+
using OpenQA.Selenium.DevTools.V148.Performance;
99

1010

1111
namespace SeleniumDocs.BiDi.CDP
@@ -109,9 +109,9 @@ public async Task PerformanceMetrics()
109109
driver.Url = "https://www.selenium.dev/selenium/web/frameset.html";
110110

111111
var session = ((IDevTools)driver).GetDevToolsSession();
112-
var domains = session.GetVersionSpecificDomains<OpenQA.Selenium.DevTools.V145.DevToolsSessionDomains>();
112+
var domains = session.GetVersionSpecificDomains<OpenQA.Selenium.DevTools.V148.DevToolsSessionDomains>();
113113

114-
await domains.Performance.Enable(new OpenQA.Selenium.DevTools.V145.Performance.EnableCommandSettings());
114+
await domains.Performance.Enable(new OpenQA.Selenium.DevTools.V148.Performance.EnableCommandSettings());
115115
var metricsResponse =
116116
await session.SendCommand<GetMetricsCommandSettings, GetMetricsCommandResponse>(
117117
new GetMetricsCommandSettings()
@@ -130,8 +130,8 @@ await session.SendCommand<GetMetricsCommandSettings, GetMetricsCommandResponse>(
130130
public async Task SetCookie()
131131
{
132132
var session = ((IDevTools)driver).GetDevToolsSession();
133-
var domains = session.GetVersionSpecificDomains<OpenQA.Selenium.DevTools.V145.DevToolsSessionDomains>();
134-
await domains.Network.Enable(new OpenQA.Selenium.DevTools.V145.Network.EnableCommandSettings());
133+
var domains = session.GetVersionSpecificDomains<OpenQA.Selenium.DevTools.V148.DevToolsSessionDomains>();
134+
await domains.Network.Enable(new OpenQA.Selenium.DevTools.V148.Network.EnableCommandSettings());
135135

136136
var cookieCommandSettings = new SetCookieCommandSettings
137137
{

examples/dotnet/SeleniumDocs/SeleniumDocs.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
<PackageReference Include="Microsoft.IdentityModel.Tokens" Version="7.7.1" />
1111
<PackageReference Include="MSTest.TestAdapter" Version="3.6.0" />
1212
<PackageReference Include="MSTest.TestFramework" Version="3.6.0" />
13-
<PackageReference Include="Selenium.Support" Version="4.41.0" />
14-
<PackageReference Include="Selenium.WebDriver" Version="4.41.0" />
13+
<PackageReference Include="Selenium.Support" Version="4.44.0" />
14+
<PackageReference Include="Selenium.WebDriver" Version="4.44.0" />
1515
</ItemGroup>
1616

1717
<ItemGroup>

examples/java/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<maven.compiler.source>17</maven.compiler.source>
1414
<maven.compiler.target>17</maven.compiler.target>
1515
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
16-
<selenium.version>4.41.0</selenium.version>
16+
<selenium.version>4.44.0</selenium.version>
1717
</properties>
1818

1919
<repositories>

examples/java/src/test/java/dev/selenium/bidi/cdp/CdpApiTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
import org.openqa.selenium.chrome.ChromeOptions;
1717
import org.openqa.selenium.devtools.DevTools;
1818
import org.openqa.selenium.devtools.HasDevTools;
19-
import org.openqa.selenium.devtools.v145.browser.Browser;
20-
import org.openqa.selenium.devtools.v145.network.Network;
21-
import org.openqa.selenium.devtools.v145.network.model.Headers;
19+
import org.openqa.selenium.devtools.v148.browser.Browser;
20+
import org.openqa.selenium.devtools.v148.network.Network;
21+
import org.openqa.selenium.devtools.v148.network.model.Headers;
2222
import org.openqa.selenium.support.ui.WebDriverWait;
2323

2424
public class CdpApiTest extends BaseTest {

examples/java/src/test/java/dev/selenium/bidi/cdp/NetworkTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@
2121
import org.openqa.selenium.devtools.DevTools;
2222
import org.openqa.selenium.devtools.HasDevTools;
2323
import org.openqa.selenium.devtools.NetworkInterceptor;
24-
import org.openqa.selenium.devtools.v145.browser.Browser;
25-
import org.openqa.selenium.devtools.v145.network.Network;
26-
import org.openqa.selenium.devtools.v145.performance.Performance;
27-
import org.openqa.selenium.devtools.v145.performance.model.Metric;
24+
import org.openqa.selenium.devtools.v148.browser.Browser;
25+
import org.openqa.selenium.devtools.v148.network.Network;
26+
import org.openqa.selenium.devtools.v148.performance.Performance;
27+
import org.openqa.selenium.devtools.v148.performance.model.Metric;
2828
import org.openqa.selenium.remote.http.*;
2929
import org.openqa.selenium.support.ui.WebDriverWait;
3030

examples/python/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
selenium==4.41.0
1+
selenium==4.44.0
22
pytest==9.0.3
33
trio==0.31.0
44
pytest-trio==0.8.0

examples/python/tests/bidi/cdp/test_network.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import pytest
44
from selenium.webdriver.common.by import By
5-
from selenium.webdriver.common.devtools.v145.network import Headers
5+
from selenium.webdriver.common.devtools.v148.network import Headers
66

77

88
@pytest.mark.trio

examples/python/tests/bidi/test_bidi_input.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
import pytest
2+
from selenium.webdriver.common.by import By
23
from selenium.webdriver.common.action_chains import ActionChains
34

45

56
@pytest.mark.driver_type("bidi")
67
def test_input_keyboard_actions(driver):
78
driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html")
89

9-
input_field = driver.find_element(id="textInput")
10+
input_field = driver.find_element(By.ID, "textInput")
1011
input_field.send_keys("Hello World")
1112

1213
assert input_field.get_attribute("value") == "Hello World"
@@ -16,7 +17,7 @@ def test_input_keyboard_actions(driver):
1617
def test_input_mouse_click(driver):
1718
driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html")
1819

19-
button = driver.find_element(id="consoleLog")
20+
button = driver.find_element(By.ID, "consoleLog")
2021
button.click()
2122

2223
# Verify click occurred
@@ -33,15 +34,15 @@ def test_dispatch_keyboard_events(driver):
3334
});
3435
""")
3536

36-
body = driver.find_element(tag_name="body")
37+
body = driver.find_element(By.TAG_NAME, "body")
3738
body.send_keys("a")
3839

3940

4041
@pytest.mark.driver_type("bidi")
4142
def test_dispatch_mouse_events(driver):
4243
driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html")
4344

44-
button = driver.find_element(id="consoleLog")
45+
button = driver.find_element(By.ID, "consoleLog")
4546

4647
driver.execute_script("""
4748
arguments[0].addEventListener('mouseover', function(e) {
@@ -57,7 +58,7 @@ def test_dispatch_mouse_events(driver):
5758
def test_double_click(driver):
5859
driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html")
5960

60-
element = driver.find_element(tag_name="body")
61+
element = driver.find_element(By.TAG_NAME, "body")
6162

6263
actions = ActionChains(driver)
6364
actions.double_click(element).perform()
@@ -67,7 +68,7 @@ def test_double_click(driver):
6768
def test_right_click(driver):
6869
driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html")
6970

70-
element = driver.find_element(tag_name="body")
71+
element = driver.find_element(By.TAG_NAME, "body")
7172

7273
actions = ActionChains(driver)
7374
actions.context_click(element).perform()
@@ -77,7 +78,7 @@ def test_right_click(driver):
7778
def test_drag_and_drop(driver):
7879
driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html")
7980

80-
element = driver.find_element(tag_name="body")
81+
element = driver.find_element(By.TAG_NAME, "body")
8182

8283
actions = ActionChains(driver)
8384
actions.drag_and_drop(element, element).perform()

examples/python/tests/bidi/test_bidi_network.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,10 @@ def on_request(request):
2424
def test_intercept_network_responses(driver):
2525
response_events = []
2626

27-
def on_response(request):
28-
response_events.append(request)
29-
request.continue_request()
27+
def on_response(event):
28+
response_events.append(event)
3029

31-
driver.network.add_request_handler('response_started', on_response)
30+
driver.network.add_event_handler('response_started', on_response)
3231

3332
driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html")
3433

@@ -41,26 +40,27 @@ def on_response(request):
4140
@pytest.mark.driver_type("bidi")
4241
def test_intercept_network_auth_required(driver):
4342
# This high-level API automatically handles auth
44-
driver.network.add_auth_handler("user", "pass")
43+
driver.network.add_auth_handler("admin", "admin")
4544

4645
# Navigate to a URL that requires authentication
47-
driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html")
46+
driver.get("https://the-internet.herokuapp.com/basic_auth")
4847

4948

5049
@pytest.mark.driver_type("bidi")
5150
def test_continue_response(driver):
52-
# This test demonstrates intercepting and continuing responses
51+
# This test demonstrates intercepting and continuing requests
5352
driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html")
5453

55-
def on_response(request):
54+
def on_request(request):
5655
# High level API handles continuation via continue_request
5756
request.continue_request()
5857

59-
driver.network.add_request_handler('response_started', on_response)
58+
driver.network.add_request_handler('before_request', on_request)
6059

6160
driver.get("https://www.selenium.dev/selenium/web/iframes.html")
6261

6362

63+
6464
@pytest.mark.driver_type("bidi")
6565
def test_continue_with_auth(driver):
6666
# High-level API version of adding auth handler

examples/python/tests/bidi/test_bidi_script.py

Lines changed: 39 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -11,32 +11,46 @@ def test_call_function(driver):
1111
# Using public names for documentation purposes
1212
result = driver.script.call_function(
1313
"function(a, b) { return a + b; }",
14-
arguments=[{"type": "number", "value": 2}, {"type": "number", "value": 3}]
14+
arguments=[{"type": "number", "value": 2}, {"type": "number", "value": 3}],
15+
await_promise=True,
16+
target={"context": driver.current_window_handle}
1517
)
1618

17-
assert result.result['type'] == "number"
18-
assert result.result['value'] == 5
19+
assert result['result']['type'] == "number"
20+
assert result['result']['value'] == 5
1921

2022

2123
@pytest.mark.driver_type("bidi")
2224
def test_evaluate_script(driver):
2325
driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html")
2426

25-
result = driver.script.evaluate("2 + 2")
27+
result = driver.script.evaluate(
28+
"2 + 2",
29+
await_promise=True,
30+
target={"context": driver.current_window_handle}
31+
)
2632

27-
assert result.result['type'] == "number"
28-
assert result.result['value'] == 4
33+
assert result['result']['type'] == "number"
34+
assert result['result']['value'] == 4
2935

3036

3137
@pytest.mark.driver_type("bidi")
3238
def test_disown_value(driver):
3339
driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html")
3440

35-
result = driver.script.evaluate("({x: 1})")
36-
handle = result.result['handle']
41+
result = driver.script.evaluate(
42+
"({x: 1})",
43+
await_promise=True,
44+
target={"context": driver.current_window_handle},
45+
result_ownership="root"
46+
)
47+
handle = result['result']['handle']
3748

3849
# Disown the value
39-
driver.script.disown(handles=[handle])
50+
driver.script.disown(
51+
handles=[handle],
52+
target={"context": driver.current_window_handle}
53+
)
4054
# If no exception is raised, disown was successful
4155

4256

@@ -48,27 +62,34 @@ def test_call_function_with_element_args(driver):
4862

4963
result = driver.script.call_function(
5064
"function(elem) { return elem.tagName; }",
51-
arguments=[{"type": "node", "sharedId": element.id}]
65+
arguments=[{"type": "node", "sharedId": element.id}],
66+
await_promise=True,
67+
target={"context": driver.current_window_handle}
5268
)
5369

54-
assert result.result['value'] == "BUTTON"
70+
assert result['result']['value'] == "BUTTON"
5571

5672

5773
@pytest.mark.driver_type("bidi")
5874
def test_evaluate_with_realm(driver):
5975
driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html")
6076

6177
# Get realms
62-
realms = driver.script.get_realms()
78+
realms_result = driver.script.get_realms()
79+
realms = realms_result['realms']
6380

6481
assert len(realms) > 0
65-
realm_id = realms[0].realm
82+
realm_id = realms[0]['realm']
6683

6784
# Evaluate in specific realm
68-
result = driver.script.evaluate("1 + 1", realm=realm_id)
85+
result = driver.script.evaluate(
86+
"1 + 1",
87+
await_promise=True,
88+
target={"realm": realm_id}
89+
)
6990

70-
assert result.result['type'] == "number"
71-
assert result.result['value'] == 2
91+
assert result['result']['type'] == "number"
92+
assert result['result']['value'] == 2
7293

7394

7495
@pytest.mark.driver_type("bidi")
@@ -81,10 +102,9 @@ def on_mutation(event):
81102
driver.script.add_dom_mutation_handler(on_mutation)
82103
driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html")
83104

105+
# Mutate an attribute to trigger the handler
84106
script = """
85-
const div = document.createElement('div');
86-
div.textContent = 'Hello';
87-
document.body.appendChild(div);
107+
document.getElementById('consoleLog').setAttribute('data-test', 'value');
88108
"""
89109
driver.execute_script(script)
90110

0 commit comments

Comments
 (0)