-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Expand file tree
/
Copy pathtest_network_commands.py
More file actions
67 lines (47 loc) · 2.12 KB
/
Copy pathtest_network_commands.py
File metadata and controls
67 lines (47 loc) · 2.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import pytest
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.wait import WebDriverWait
@pytest.mark.driver_type("bidi")
def test_add_intercept(driver):
requests = []
def capture_request(request):
requests.append(request.request_id)
request.continue_request()
callback_id = driver.network.add_request_handler("before_request", capture_request)
driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html")
WebDriverWait(driver, 5).until(lambda _: requests)
assert callback_id is not None
@pytest.mark.driver_type("bidi")
def test_remove_intercept(driver):
requests = []
def capture_request(request):
requests.append(request.request_id)
request.continue_request()
callback_id = driver.network.add_request_handler("before_request", capture_request)
driver.network.remove_request_handler("before_request", callback_id)
driver.get("https://www.selenium.dev/selenium/web/blank.html")
assert not requests
@pytest.mark.driver_type("bidi")
def test_fail_request(driver):
blocked_requests = []
def fail_request(request):
blocked_requests.append(request.request_id)
request.fail_request()
driver.network.add_request_handler("before_request", fail_request)
driver.set_page_load_timeout(5)
with pytest.raises(TimeoutException):
driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html")
WebDriverWait(driver, 5).until(lambda _: blocked_requests)
@pytest.mark.driver_type("bidi")
def test_add_and_remove_request_handler(driver):
requests = []
def capture_request(request):
requests.append(request.request_id)
request.continue_request()
callback_id = driver.network.add_request_handler("before_request", capture_request)
driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html")
WebDriverWait(driver, 5).until(lambda _: requests)
requests.clear()
driver.network.remove_request_handler("before_request", callback_id)
driver.get("https://www.selenium.dev/selenium/web/blank.html")
assert not requests