|
1 |
| -import os |
2 |
| -import re |
3 |
| -import subprocess |
4 |
| -import pytest |
5 |
| -from selenium import webdriver |
6 |
| -from selenium.webdriver.common.by import By |
| 1 | +from selnium import webdriver |
7 | 2 |
|
8 |
| -def test_basic_options(): |
9 |
| - options = get_default_chrome_options() |
10 |
| - driver = webdriver.Chrome(options=options) |
| 3 | +driver = webdriver.(Chrome) |
11 | 4 |
|
12 |
| - driver.quit() |
| 5 | +driver.get("https://dxtb1udgx9hnk.cloudfront.net/sp/index_5.html?id=86139493") |
13 | 6 |
|
| 7 | +for _ in range(100): #Simulating 10 fake invites |
| 8 | + invite_button.click() |
14 | 9 |
|
15 |
| -def test_args(): |
16 |
| - options = get_default_chrome_options() |
17 |
| - |
18 |
| - options.add_argument("--start-maximized") |
19 |
| - |
20 |
| - driver = webdriver.Chrome(options=options) |
21 |
| - driver.get('http://selenium.dev') |
22 |
| - |
23 |
| - driver.quit() |
24 |
| - |
25 |
| - |
26 |
| -def test_set_browser_location(chrome_bin): |
27 |
| - options = get_default_chrome_options() |
28 |
| - |
29 |
| - options.binary_location = chrome_bin |
30 |
| - |
31 |
| - driver = webdriver.Chrome(options=options) |
32 |
| - |
33 |
| - driver.quit() |
34 |
| - |
35 |
| - |
36 |
| -def test_add_extension(): |
37 |
| - options = get_default_chrome_options() |
38 |
| - extension_file_path = os.path.abspath("tests/extensions/webextensions-selenium-example.crx") |
39 |
| - |
40 |
| - options.add_extension(extension_file_path) |
41 |
| - |
42 |
| - driver = webdriver.Chrome(options=options) |
43 |
| - driver.get("https://www.selenium.dev/selenium/web/blank.html") |
44 |
| - |
45 |
| - driver.quit() |
46 |
| - |
47 |
| - |
48 |
| -def test_keep_browser_open(): |
49 |
| - options = get_default_chrome_options() |
50 |
| - |
51 |
| - options.add_experimental_option("detach", True) |
52 |
| - |
53 |
| - driver = webdriver.Chrome(options=options) |
54 |
| - driver.get('http://selenium.dev') |
55 |
| - |
56 |
| - driver.quit() |
57 |
| - |
58 |
| - |
59 |
| -def test_exclude_switches(): |
60 |
| - options = get_default_chrome_options() |
61 |
| - |
62 |
| - options.add_experimental_option('excludeSwitches', ['disable-popup-blocking']) |
63 |
| - |
64 |
| - driver = webdriver.Chrome(options=options) |
65 |
| - driver.get('http://selenium.dev') |
66 |
| - |
67 |
| - driver.quit() |
68 |
| - |
69 |
| - |
70 |
| -def test_log_to_file(log_path): |
71 |
| - service = webdriver.ChromeService(log_output=log_path) |
72 |
| - |
73 |
| - driver = webdriver.Chrome(service=service) |
74 |
| - |
75 |
| - with open(log_path, 'r') as fp: |
76 |
| - assert "Starting ChromeDriver" in fp.readline() |
77 |
| - |
78 |
| - driver.quit() |
79 |
| - |
80 |
| - |
81 |
| -def test_log_to_stdout(capfd): |
82 |
| - service = webdriver.ChromeService(log_output=subprocess.STDOUT) |
83 |
| - |
84 |
| - driver = webdriver.Chrome(service=service) |
85 |
| - |
86 |
| - out, err = capfd.readouterr() |
87 |
| - assert "Starting ChromeDriver" in out |
88 |
| - |
89 |
| - driver.quit() |
90 |
| - |
91 |
| - |
92 |
| -def test_log_level(capfd): |
93 |
| - service = webdriver.ChromeService(service_args=['--log-level=DEBUG'], log_output=subprocess.STDOUT) |
94 |
| - |
95 |
| - driver = webdriver.Chrome(service=service) |
96 |
| - |
97 |
| - out, err = capfd.readouterr() |
98 |
| - assert '[DEBUG]' in err |
99 |
| - |
100 |
| - driver.quit() |
101 |
| - |
102 |
| - |
103 |
| -def test_log_features(log_path): |
104 |
| - service = webdriver.ChromeService(service_args=['--append-log', '--readable-timestamp'], log_output=log_path) |
105 |
| - |
106 |
| - driver = webdriver.Chrome(service=service) |
107 |
| - |
108 |
| - with open(log_path, 'r') as f: |
109 |
| - assert re.match(r"\[\d\d-\d\d-\d\d\d\d", f.read()) |
110 |
| - |
111 |
| - driver.quit() |
112 |
| - |
113 |
| - |
114 |
| -def test_build_checks(capfd): |
115 |
| - service = webdriver.ChromeService(service_args=['--disable-build-check'], log_output=subprocess.STDOUT) |
116 |
| - |
117 |
| - driver = webdriver.Chrome(service=service) |
118 |
| - |
119 |
| - expected = "[WARNING]: You are using an unsupported command-line switch: --disable-build-check" |
120 |
| - out, err = capfd.readouterr() |
121 |
| - assert expected in err |
122 |
| - |
123 |
| - driver.quit() |
124 |
| - |
125 |
| - |
126 |
| -def test_set_network_conditions(): |
127 |
| - driver = webdriver.Chrome() |
128 |
| - |
129 |
| - network_conditions = { |
130 |
| - "offline": False, |
131 |
| - "latency": 20, # 20 ms of latency |
132 |
| - "download_throughput": 2000 * 1024 / 8, # 2000 kbps |
133 |
| - "upload_throughput": 2000 * 1024 / 8, # 2000 kbps |
134 |
| - } |
135 |
| - driver.set_network_conditions(**network_conditions) |
136 |
| - |
137 |
| - driver.get("https://www.selenium.dev") |
138 |
| - |
139 |
| - # check whether the network conditions are set |
140 |
| - assert driver.get_network_conditions() == network_conditions |
141 |
| - |
142 |
| - driver.quit() |
143 |
| - |
144 |
| - |
145 |
| -def test_set_permissions(): |
146 |
| - driver = webdriver.Chrome() |
147 |
| - driver.get('https://www.selenium.dev') |
148 |
| - |
149 |
| - driver.set_permissions('camera', 'denied') |
150 |
| - |
151 |
| - assert get_permission_state(driver, 'camera') == 'denied' |
152 |
| - driver.quit() |
153 |
| - |
154 |
| - |
155 |
| -def get_permission_state(driver, name): |
156 |
| - """Helper function to query the permission state.""" |
157 |
| - script = """ |
158 |
| - const callback = arguments[arguments.length - 1]; |
159 |
| - navigator.permissions.query({name: arguments[0]}).then(permissionStatus => { |
160 |
| - callback(permissionStatus.state); |
161 |
| - }); |
162 |
| - """ |
163 |
| - return driver.execute_async_script(script, name) |
164 |
| - |
165 |
| - |
166 |
| -def test_cast_features(): |
167 |
| - driver = webdriver.Chrome() |
168 |
| - |
169 |
| - try: |
170 |
| - sinks = driver.get_sinks() |
171 |
| - if sinks: |
172 |
| - sink_name = sinks[0]['name'] |
173 |
| - driver.start_tab_mirroring(sink_name) |
174 |
| - driver.stop_casting(sink_name) |
175 |
| - else: |
176 |
| - pytest.skip("No available Cast sinks to test with.") |
177 |
| - finally: |
178 |
| - driver.quit() |
179 |
| - |
180 |
| - |
181 |
| -def test_get_browser_logs(): |
182 |
| - driver = webdriver.Chrome() |
183 |
| - driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html") |
184 |
| - driver.find_element(By.ID, "consoleError").click() |
185 |
| - |
186 |
| - logs = driver.get_log("browser") |
187 |
| - |
188 |
| - # Assert that at least one log contains the expected message |
189 |
| - assert any("I am console error" in log['message'] for log in logs), "No matching log message found." |
190 |
| - driver.quit() |
191 |
| - |
192 |
| -def get_default_chrome_options(): |
193 |
| - options = webdriver.ChromeOptions() |
194 |
| - options.add_argument("--no-sandbox") |
195 |
| - return options |
| 10 | +driver.quit() |
0 commit comments