From c9d5df85ed21558c3b2db65486579a0ae4cabec0 Mon Sep 17 00:00:00 2001 From: Navin Chandra Date: Tue, 12 Nov 2024 18:05:13 +0530 Subject: [PATCH] add chrome and edge set_permissions docs --- examples/python/tests/browsers/test_chrome.py | 21 +++++++++++++++++++ examples/python/tests/browsers/test_edge.py | 21 +++++++++++++++++++ .../webdriver/browsers/chrome.en.md | 6 +++--- .../webdriver/browsers/chrome.ja.md | 6 +++--- .../webdriver/browsers/chrome.pt-br.md | 6 +++--- .../webdriver/browsers/chrome.zh-cn.md | 6 +++--- .../webdriver/browsers/edge.en.md | 6 +++--- .../webdriver/browsers/edge.ja.md | 6 +++--- .../webdriver/browsers/edge.pt-br.md | 6 +++--- .../webdriver/browsers/edge.zh-cn.md | 6 +++--- 10 files changed, 66 insertions(+), 24 deletions(-) diff --git a/examples/python/tests/browsers/test_chrome.py b/examples/python/tests/browsers/test_chrome.py index 2fd6b653af79..e68daf326504 100644 --- a/examples/python/tests/browsers/test_chrome.py +++ b/examples/python/tests/browsers/test_chrome.py @@ -140,3 +140,24 @@ def test_set_network_conditions(): assert driver.get_network_conditions() == network_conditions driver.quit() + + +def test_set_permissions(): + driver = webdriver.Chrome() + driver.get('https://www.selenium.dev') + + driver.set_permissions('camera', 'denied') + + assert get_permission_state(driver, 'camera') == 'denied' + driver.quit() + + +def get_permission_state(driver, name): + """Helper function to query the permission state.""" + script = """ + const callback = arguments[arguments.length - 1]; + navigator.permissions.query({name: arguments[0]}).then(permissionStatus => { + callback(permissionStatus.state); + }); + """ + return driver.execute_async_script(script, name) diff --git a/examples/python/tests/browsers/test_edge.py b/examples/python/tests/browsers/test_edge.py index ff9018b0e903..d478f511166b 100644 --- a/examples/python/tests/browsers/test_edge.py +++ b/examples/python/tests/browsers/test_edge.py @@ -140,3 +140,24 @@ def test_set_network_conditions(): assert driver.get_network_conditions() == network_conditions driver.quit() + + +def test_set_permissions(): + driver = webdriver.Edge() + driver.get('https://www.selenium.dev') + + driver.set_permissions('camera', 'denied') + + assert get_permission_state(driver, 'camera') == 'denied' + driver.quit() + + +def get_permission_state(driver, name): + """Helper function to query the permission state.""" + script = """ + const callback = arguments[arguments.length - 1]; + navigator.permissions.query({name: arguments[0]}).then(permissionStatus => { + callback(permissionStatus.state); + }); + """ + return driver.execute_async_script(script, name) diff --git a/website_and_docs/content/documentation/webdriver/browsers/chrome.en.md b/website_and_docs/content/documentation/webdriver/browsers/chrome.en.md index cbdcda02391f..64ca84f8bb84 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/chrome.en.md +++ b/website_and_docs/content/documentation/webdriver/browsers/chrome.en.md @@ -444,9 +444,9 @@ You can simulate various network conditions. {{< tab header="Java" >}} {{< badge-code >}} {{< /tab >}} -{{% tab header="Python" %}} -{{< badge-code >}} -{{% /tab %}} +{{< tab header="Python" >}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L149" >}} +{{< /tab >}} {{< tab header="CSharp" >}} {{< badge-code >}} {{< /tab >}} diff --git a/website_and_docs/content/documentation/webdriver/browsers/chrome.ja.md b/website_and_docs/content/documentation/webdriver/browsers/chrome.ja.md index 8bceff728508..4bb00f9601d2 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/chrome.ja.md +++ b/website_and_docs/content/documentation/webdriver/browsers/chrome.ja.md @@ -438,9 +438,9 @@ Chrome Castデバイスを操作することができ、タブの共有も含ま {{< tab header="Java" >}} {{< badge-code >}} {{< /tab >}} -{{% tab header="Python" %}} -{{< badge-code >}} -{{% /tab %}} +{{< tab header="Python" >}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L149" >}} +{{< /tab >}} {{< tab header="CSharp" >}} {{< badge-code >}} {{< /tab >}} diff --git a/website_and_docs/content/documentation/webdriver/browsers/chrome.pt-br.md b/website_and_docs/content/documentation/webdriver/browsers/chrome.pt-br.md index 3350a07d5d26..0fc6df4a34dc 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/chrome.pt-br.md +++ b/website_and_docs/content/documentation/webdriver/browsers/chrome.pt-br.md @@ -447,9 +447,9 @@ please refer to the {{< tab header="Java" >}} {{< badge-code >}} {{< /tab >}} -{{% tab header="Python" %}} -{{< badge-code >}} -{{% /tab %}} +{{< tab header="Python" >}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L149" >}} +{{< /tab >}} {{< tab header="CSharp" >}} {{< badge-code >}} {{< /tab >}} diff --git a/website_and_docs/content/documentation/webdriver/browsers/chrome.zh-cn.md b/website_and_docs/content/documentation/webdriver/browsers/chrome.zh-cn.md index 943a971b4f30..ca9b273ed67b 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/chrome.zh-cn.md +++ b/website_and_docs/content/documentation/webdriver/browsers/chrome.zh-cn.md @@ -448,9 +448,9 @@ Chromedriver 和 Chrome 浏览器版本应该匹配, 如果它们不匹配, 驱 {{< tab header="Java" >}} {{< badge-code >}} {{< /tab >}} -{{% tab header="Python" %}} -{{< badge-code >}} -{{% /tab %}} +{{< tab header="Python" >}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L149" >}} +{{< /tab >}} {{< tab header="CSharp" >}} {{< badge-code >}} {{< /tab >}} diff --git a/website_and_docs/content/documentation/webdriver/browsers/edge.en.md b/website_and_docs/content/documentation/webdriver/browsers/edge.en.md index 5e9c71781fbb..cb2a9cd63bcb 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/edge.en.md +++ b/website_and_docs/content/documentation/webdriver/browsers/edge.en.md @@ -444,9 +444,9 @@ You can simulate various network conditions. {{< tab header="Java" >}} {{< badge-code >}} {{< /tab >}} -{{% tab header="Python" %}} -{{< badge-code >}} -{{% /tab %}} +{{< tab header="Python" >}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_edge.py#L149" >}} +{{< /tab >}} {{< tab header="CSharp" >}} {{< badge-code >}} {{< /tab >}} diff --git a/website_and_docs/content/documentation/webdriver/browsers/edge.ja.md b/website_and_docs/content/documentation/webdriver/browsers/edge.ja.md index 712e3c2ec8c8..857d2052449f 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/edge.ja.md +++ b/website_and_docs/content/documentation/webdriver/browsers/edge.ja.md @@ -430,9 +430,9 @@ Edge を使用して Chrome Cast デバイスを操作し、タブを共有す {{< tab header="Java" >}} {{< badge-code >}} {{< /tab >}} -{{% tab header="Python" %}} -{{< badge-code >}} -{{% /tab %}} +{{< tab header="Python" >}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_edge.py#L149" >}} +{{< /tab >}} {{< tab header="CSharp" >}} {{< badge-code >}} {{< /tab >}} diff --git a/website_and_docs/content/documentation/webdriver/browsers/edge.pt-br.md b/website_and_docs/content/documentation/webdriver/browsers/edge.pt-br.md index 9f6b27b7c733..058ed2a451eb 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/edge.pt-br.md +++ b/website_and_docs/content/documentation/webdriver/browsers/edge.pt-br.md @@ -446,9 +446,9 @@ You can simulate various network conditions. {{< tab header="Java" >}} {{< badge-code >}} {{< /tab >}} -{{% tab header="Python" %}} -{{< badge-code >}} -{{% /tab %}} +{{< tab header="Python" >}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_edge.py#L149" >}} +{{< /tab >}} {{< tab header="CSharp" >}} {{< badge-code >}} {{< /tab >}} diff --git a/website_and_docs/content/documentation/webdriver/browsers/edge.zh-cn.md b/website_and_docs/content/documentation/webdriver/browsers/edge.zh-cn.md index 94db1a3ccb32..f2a2d6cc1b54 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/edge.zh-cn.md +++ b/website_and_docs/content/documentation/webdriver/browsers/edge.zh-cn.md @@ -446,9 +446,9 @@ You can simulate various network conditions. {{< tab header="Java" >}} {{< badge-code >}} {{< /tab >}} -{{% tab header="Python" %}} -{{< badge-code >}} -{{% /tab %}} +{{< tab header="Python" >}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_edge.py#L149" >}} +{{< /tab >}} {{< tab header="CSharp" >}} {{< badge-code >}} {{< /tab >}}