Skip to content

Commit 1b35f1a

Browse files
committed
Update python docs/examples for browsers section
Moved or added examples in python docs for browsers (for all missing examples)
1 parent b8096f8 commit 1b35f1a

25 files changed

+267
-218
lines changed

examples/python/tests/browsers/test_chrome.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,3 +121,50 @@ def test_build_checks(capfd):
121121
assert expected in err
122122

123123
driver.quit()
124+
125+
def test_network_conditions():
126+
driver = webdriver.Chrome()
127+
128+
driver.set_network_conditions(offline=False, latency=250, throughput=500*1024)
129+
driver.get('http://selenium.dev')
130+
131+
driver.quit()
132+
133+
def test_logs():
134+
driver = webdriver.Chrome()
135+
136+
driver.get('https://www.selenium.dev/webs')
137+
browser_logs = driver.get_log('browser')
138+
139+
assert 'Failed to load' in browser_logs[0]['message']
140+
141+
driver.quit()
142+
143+
def test_permissions():
144+
driver = webdriver.Chrome()
145+
146+
driver.get('https://www.selenium.dev')
147+
148+
driver.set_permissions('geolocation', 'denied')
149+
150+
geolocation_permissions = driver.execute_script('return await navigator.permissions.query({name: \'geolocation\'})')
151+
assert geolocation_permissions['state'] == 'denied'
152+
153+
driver.quit()
154+
155+
def test_casting():
156+
157+
driver = webdriver.Chrome()
158+
159+
try:
160+
sinks = driver.get_sinks()
161+
if len(sinks) > 0:
162+
device_name = sinks[0]['name']
163+
driver.start_tab_mirroring(device_name)
164+
driver.stop_casting(device_name)
165+
except:
166+
assert False, 'Exception when starting or stopping casting'
167+
168+
driver.get('http://selenium.dev')
169+
170+
driver.quit()

examples/python/tests/browsers/test_edge.py

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,3 +122,47 @@ def test_build_checks(log_path):
122122

123123
driver.quit()
124124

125+
def test_network_conditions():
126+
driver = webdriver.Edge()
127+
128+
driver.set_network_conditions(offline=False, latency=250, throughput=500*1024)
129+
driver.get('http://selenium.dev')
130+
131+
driver.quit()
132+
133+
def test_logs():
134+
driver = webdriver.Edge()
135+
136+
driver.get('https://www.selenium.dev/webs')
137+
browser_logs = driver.get_log('browser')
138+
139+
assert 'Failed to load' in browser_logs[0]['message']
140+
driver.quit()
141+
142+
def test_permissions():
143+
driver = webdriver.Chrome()
144+
145+
driver.get('https://www.selenium.dev')
146+
driver.set_permissions('geolocation', 'denied')
147+
148+
geolocation_permissions = driver.execute_script('return await navigator.permissions.query({name: \'geolocation\'})')
149+
assert geolocation_permissions['state'] == 'denied'
150+
151+
driver.quit()
152+
153+
def test_casting():
154+
155+
driver = webdriver.Edge()
156+
157+
try:
158+
sinks = driver.get_sinks()
159+
if len(sinks) > 0:
160+
device_name = sinks[0]['name']
161+
driver.start_tab_mirroring(device_name)
162+
driver.stop_casting(device_name)
163+
except:
164+
assert False, 'Exception when starting or stopping casting'
165+
166+
driver.get('http://selenium.dev')
167+
168+
driver.quit()

examples/python/tests/browsers/test_firefox.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
import os
22
import subprocess
33
import sys
4+
import pathlib
45

56
import pytest
67
from selenium import webdriver
8+
# from selenium.webdriver.firefox.options import Options
9+
# from selenium.webdriver.firefox.firefox_profile import FirefoxProfile
710

811

912
def test_basic_options():
@@ -129,3 +132,31 @@ def test_install_unsigned_addon_directory_slash(firefox_driver, addon_path_dir_s
129132
injected = driver.find_element(webdriver.common.by.By.ID, "webextensions-selenium-example")
130133

131134
assert injected.text == "Content injected by webextensions-selenium-example"
135+
136+
def test_full_page_screenshots():
137+
driver = webdriver.Firefox()
138+
139+
driver.get("https://www.selenium.dev/")
140+
141+
path_for_screenshot = str(pathlib.Path().absolute()) + 'screenshot.png'
142+
driver.save_full_page_screenshot(path_for_screenshot)
143+
144+
driver.quit()
145+
146+
def test_context():
147+
driver = webdriver.Firefox()
148+
149+
driver.context = 'content'
150+
driver.get("https://www.selenium.dev/")
151+
152+
driver.quit()
153+
154+
def test_profiles():
155+
options = webdriver.FirefoxOptions()
156+
firefox_profile = webdriver.FirefoxProfile()
157+
firefox_profile.set_preference("javascript.enabled", False)
158+
options.profile = firefox_profile
159+
160+
driver = webdriver.Firefox(options)
161+
162+
driver.quit()

examples/python/tests/browsers/test_internet_explorer.py

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,81 @@ def test_supporting_files(temp_dir):
6767
driver = webdriver.Ie(service=service)
6868

6969
driver.quit()
70+
71+
@pytest.mark.skipif(sys.platform != "win32", reason="requires Windows")
72+
def test_file_upload_dialog_timeout():
73+
options = webdriver.IeOptions()
74+
75+
options.file_upload_dialog_timeout = 2000
76+
77+
driver = webdriver.Ie(options=options)
78+
driver.get('https://www.selenium.dev/')
79+
80+
driver.quit()
81+
82+
@pytest.mark.skipif(sys.platform != "win32", reason="requires Windows")
83+
def test_ensure_clean_session():
84+
options = webdriver.IeOptions()
85+
86+
options.ensure_clean_session = True
87+
88+
driver = webdriver.Ie(options=options)
89+
driver.get('https://www.selenium.dev/')
90+
91+
driver.quit()
92+
93+
@pytest.mark.skipif(sys.platform != "win32", reason="requires Windows")
94+
def test_ignore_zoom_setting():
95+
options = webdriver.IeOptions()
96+
97+
options.ignore_zoom_level = True
98+
99+
driver = webdriver.Ie(options=options)
100+
driver.get('https://www.selenium.dev/')
101+
102+
driver.quit()
103+
104+
@pytest.mark.skipif(sys.platform != "win32", reason="requires Windows")
105+
def test_protected_mode_settings():
106+
options = webdriver.IeOptions()
107+
108+
options.ignore_protected_mode_settings = True
109+
110+
driver = webdriver.Ie(options=options)
111+
driver.get('https://www.selenium.dev/')
112+
113+
driver.quit()
114+
115+
@pytest.mark.skipif(sys.platform != "win32", reason="requires Windows")
116+
def test_protected_mode_settings():
117+
options = webdriver.IeOptions()
118+
119+
options.set_capability('silent', True)
120+
121+
driver = webdriver.Ie(options=options)
122+
driver.get('https://www.selenium.dev/')
123+
124+
driver.quit()
125+
126+
@pytest.mark.skipif(sys.platform != "win32", reason="requires Windows")
127+
def test_command_line_options():
128+
options = webdriver.IeOptions()
129+
130+
options.add_argument('-private')
131+
options.force_create_process_api = True
132+
133+
driver = webdriver.Ie(options=options)
134+
driver.get('https://www.selenium.dev/')
135+
136+
driver.quit()
137+
138+
@pytest.mark.skipif(sys.platform != "win32", reason="requires Windows")
139+
def test_force_create_proces_api():
140+
options = webdriver.IeOptions()
141+
142+
options.force_create_process_api = True
143+
144+
driver = webdriver.Ie(options=options)
145+
driver.get('https://www.selenium.dev/')
146+
147+
driver.quit()

examples/python/tests/browsers/test_safari.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ def test_technology_preview():
2828
executable_path='/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver'
2929
)
3030
driver = webdriver.Safari(options=options, service=service)
31+
driver.get('http://selenium.dev')
3132

3233
driver.quit()
3334

website_and_docs/content/documentation/webdriver/browsers/chrome.en.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ You can drive Chrome Cast devices, including sharing tabs
373373
{{< badge-code >}}
374374
{{< /tab >}}
375375
{{% tab header="Python" %}}
376-
{{< badge-code >}}
376+
{{< gh-codeblock path="examples/python/tests/browsers/test_chrome.py#L160-164" >}}
377377
{{% /tab %}}
378378
{{< tab header="CSharp" >}}
379379
{{< badge-code >}}
@@ -399,7 +399,7 @@ You can simulate various network conditions.
399399
{{< badge-code >}}
400400
{{< /tab >}}
401401
{{% tab header="Python" %}}
402-
{{< badge-code >}}
402+
{{< gh-codeblock path="examples/python/tests/browsers/test_chrome.py#L128" >}}
403403
{{% /tab %}}
404404
{{< tab header="CSharp" >}}
405405
{{< badge-code >}}
@@ -422,7 +422,7 @@ You can simulate various network conditions.
422422
{{< badge-code >}}
423423
{{< /tab >}}
424424
{{% tab header="Python" %}}
425-
{{< badge-code >}}
425+
{{< gh-codeblock path="examples/python/tests/browsers/test_chrome.py#L137" >}}
426426
{{% /tab %}}
427427
{{< tab header="CSharp" >}}
428428
{{< badge-code >}}
@@ -445,7 +445,7 @@ You can simulate various network conditions.
445445
{{< badge-code >}}
446446
{{< /tab >}}
447447
{{% tab header="Python" %}}
448-
{{< badge-code >}}
448+
{{< gh-codeblock path="examples/python/tests/browsers/test_chrome.py#L148" >}}
449449
{{% /tab %}}
450450
{{< tab header="CSharp" >}}
451451
{{< badge-code >}}

website_and_docs/content/documentation/webdriver/browsers/chrome.ja.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,7 @@ Property value: `"true"` or `"false"`
376376
{{< badge-code >}}
377377
{{< /tab >}}
378378
{{% tab header="Python" %}}
379-
{{< badge-code >}}
379+
{{< gh-codeblock path="examples/python/tests/browsers/test_chrome.py#L160-164" >}}
380380
{{% /tab %}}
381381
{{< tab header="CSharp" >}}
382382
{{< badge-code >}}

website_and_docs/content/documentation/webdriver/browsers/chrome.pt-br.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ Pode comandar dispositivos Chrome Cast, incluindo partilhar abas
373373
{{< badge-code >}}
374374
{{< /tab >}}
375375
{{% tab header="Python" %}}
376-
{{< badge-code >}}
376+
{{< gh-codeblock path="examples/python/tests/browsers/test_chrome.py#L160-164" >}}
377377
{{% /tab %}}
378378
{{< tab header="CSharp" >}}
379379
{{< badge-code >}}

website_and_docs/content/documentation/webdriver/browsers/chrome.zh-cn.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,7 @@ Chromedriver 和 Chrome 浏览器版本应该匹配, 如果它们不匹配, 驱
374374
{{< badge-code >}}
375375
{{< /tab >}}
376376
{{% tab header="Python" %}}
377-
{{< badge-code >}}
377+
{{< gh-codeblock path="examples/python/tests/browsers/test_chrome.py#L160-164" >}}
378378
{{% /tab %}}
379379
{{< tab header="CSharp" >}}
380380
{{< badge-code >}}

website_and_docs/content/documentation/webdriver/browsers/edge.en.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,7 @@ You can drive Chrome Cast devices with Edge, including sharing tabs
374374
{{< badge-code >}}
375375
{{< /tab >}}
376376
{{% tab header="Python" %}}
377-
{{< badge-code >}}
377+
{{< gh-codeblock path="examples/python/tests/browsers/test_edge.py#L158-162" >}}
378378
{{% /tab %}}
379379
{{< tab header="CSharp" >}}
380380
{{< badge-code >}}
@@ -399,7 +399,7 @@ You can simulate various network conditions.
399399
{{< badge-code >}}
400400
{{< /tab >}}
401401
{{% tab header="Python" %}}
402-
{{< badge-code >}}
402+
{{< gh-codeblock path="examples/python/tests/browsers/test_edge.py#L128" >}}
403403
{{% /tab %}}
404404
{{< tab header="CSharp" >}}
405405
{{< badge-code >}}
@@ -422,7 +422,7 @@ You can simulate various network conditions.
422422
{{< badge-code >}}
423423
{{< /tab >}}
424424
{{% tab header="Python" %}}
425-
{{< badge-code >}}
425+
{{< gh-codeblock path="examples/python/tests/browsers/test_edge.py#L137" >}}
426426
{{% /tab %}}
427427
{{< tab header="CSharp" >}}
428428
{{< badge-code >}}
@@ -445,7 +445,7 @@ You can simulate various network conditions.
445445
{{< badge-code >}}
446446
{{< /tab >}}
447447
{{% tab header="Python" %}}
448-
{{< badge-code >}}
448+
{{< gh-codeblock path="examples/python/tests/browsers/test_edge.py#L146" >}}
449449
{{% /tab %}}
450450
{{< tab header="CSharp" >}}
451451
{{< badge-code >}}

0 commit comments

Comments
 (0)