From 3e7492f55458fc39ce9980281ef45cfa3dc3c023 Mon Sep 17 00:00:00 2001 From: Gayathri Rukmadhavan Date: Fri, 23 Jun 2023 17:48:06 +0530 Subject: [PATCH 01/10] Add sample code for extensions --- .../dev/selenium/browsers/ChromeTest.java | 7 +++++++ .../test/browser/chromeSpecificCaps.spec.js | 11 ++++++++++ examples/python/tests/browsers/test_chrome.py | 9 ++++++++ examples/ruby/spec/browsers/chrome_spec.rb | 7 +++++++ .../webdriver/browsers/chrome.en.md | 21 ++++++++++++++++++- 5 files changed, 54 insertions(+), 1 deletion(-) diff --git a/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java b/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java index 19b27b744fe9..eabab3f6b065 100644 --- a/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java +++ b/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java @@ -33,4 +33,11 @@ public void keepBrowserOpen() { driver = new ChromeDriver(options); } + @Test + public void extensionOptions() { + ChromeOptions options = new ChromeOptions(); + options.addExtensions(new File("/path/to/extension.crx")); + ChromeDriver driver = new ChromeDriver(options); + } + } diff --git a/examples/javascript/test/browser/chromeSpecificCaps.spec.js b/examples/javascript/test/browser/chromeSpecificCaps.spec.js index a1e793635405..0d09d451747a 100644 --- a/examples/javascript/test/browser/chromeSpecificCaps.spec.js +++ b/examples/javascript/test/browser/chromeSpecificCaps.spec.js @@ -47,6 +47,17 @@ suite(function (env) { await driver.quit(); }); + it('Add Extension', async function () { + const options = new Chrome.Options(); + let driver = await env + .builder() + .setChromeOptions(options.addExtensions(['/path/to/extension.crx'])) + .build(); + + await driver.get('https://www.google.com/'); + await driver.quit(); + }); + it('Basic Chrome test', async function () { const Options = new Chrome.Options(); let driver = await env diff --git a/examples/python/tests/browsers/test_chrome.py b/examples/python/tests/browsers/test_chrome.py index 3bd5ff64ccda..9e0145466347 100644 --- a/examples/python/tests/browsers/test_chrome.py +++ b/examples/python/tests/browsers/test_chrome.py @@ -33,4 +33,13 @@ def exclude_switches(): driver = webdriver.Chrome(options=chrome_options) driver.get('http://selenium.dev/') + driver.quit() + +def test_add_extension(): + chrome_options = ChromeOptions() + chrome_options.add_extension("/path/to/extension.crx") + + driver = webdriver.Chrome(options=chrome_options) + driver.get('http://selenium.dev/') + driver.quit() \ No newline at end of file diff --git a/examples/ruby/spec/browsers/chrome_spec.rb b/examples/ruby/spec/browsers/chrome_spec.rb index 5f4ce0bdfe8a..bbedf78f87e1 100644 --- a/examples/ruby/spec/browsers/chrome_spec.rb +++ b/examples/ruby/spec/browsers/chrome_spec.rb @@ -30,4 +30,11 @@ @driver = Selenium::WebDriver.for :chrome, options: options @driver.get('https://www.google.com/') end + + it 'Add extensions' do + options = Selenium::WebDriver::Options.chrome(add_extension: ['/path/to/extension.crx']) + + @driver = Selenium::WebDriver.for :chrome, options: options + @driver.get('https://www.google.com/') + end end 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 9a70b62c50be..d3784dd55ba7 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/chrome.en.md +++ b/website_and_docs/content/documentation/webdriver/browsers/chrome.en.md @@ -108,7 +108,26 @@ please use the `load-extension` argument instead, as mentioned in Add an extension to options: -{{< alert-code />}} +{{< tabpane text=true langEqualsHeader=true >}} +{{< tab header="Java" >}} +{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L38-L40" >}} +{{< /tab >}} +{{% tab header="Python" %}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L39-L40">}} +{{% /tab %}} +{{< tab header="CSharp" >}} +{{< badge-code >}} +{{< /tab >}} +{{< tab header="Ruby" >}} +{{< gh-codeblock path="/examples/ruby/spec/browsers/chrome_spec.rb#L35" >}} +{{< /tab >}} +{{< tab header="JavaScript" >}} +{{< gh-codeblock path="/examples/javascript/test/browser/chromeSpecificCaps.spec.js#L51-L55">}} +{{< /tab >}} +{{< tab header="Kotlin" >}} +{{< badge-code >}} +{{< /tab >}} +{{< /tabpane >}} ### Keeping browser open From ca10093c0ab5851bda19c137b2139b225f876d44 Mon Sep 17 00:00:00 2001 From: Gayathri Rukmadhavan Date: Mon, 26 Jun 2023 13:56:24 +0530 Subject: [PATCH 02/10] Add samples for extensions in other languages --- .../webdriver/browsers/chrome.ja.md | 21 ++++++++++++++++++- .../webdriver/browsers/chrome.pt-br.md | 21 ++++++++++++++++++- .../webdriver/browsers/chrome.zh-cn.md | 21 ++++++++++++++++++- 3 files changed, 60 insertions(+), 3 deletions(-) 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 d52ae2fe185f..2b40961204aa 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/chrome.ja.md +++ b/website_and_docs/content/documentation/webdriver/browsers/chrome.ja.md @@ -109,7 +109,26 @@ please use the `load-extension` argument instead, as mentioned in オプションに拡張機能を追加します。 -{{< alert-code />}} +{{< tabpane text=true langEqualsHeader=true >}} +{{< tab header="Java" >}} +{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L38-L40" >}} +{{< /tab >}} +{{% tab header="Python" %}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L39-L40">}} +{{% /tab %}} +{{< tab header="CSharp" >}} +{{< badge-code >}} +{{< /tab >}} +{{< tab header="Ruby" >}} +{{< gh-codeblock path="/examples/ruby/spec/browsers/chrome_spec.rb#L35" >}} +{{< /tab >}} +{{< tab header="JavaScript" >}} +{{< gh-codeblock path="/examples/javascript/test/browser/chromeSpecificCaps.spec.js#L51-L55">}} +{{< /tab >}} +{{< tab header="Kotlin" >}} +{{< badge-code >}} +{{< /tab >}} +{{< /tabpane >}} ### ブラウザを開いたままにする 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 fc98638a0f41..bf0cca7693e2 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 @@ -105,7 +105,26 @@ please use the `load-extension` argument instead, as mentioned in Adicionar uma extensão: -{{< alert-code />}} +{{< tabpane text=true langEqualsHeader=true >}} +{{< tab header="Java" >}} +{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L38-L40" >}} +{{< /tab >}} +{{% tab header="Python" %}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L39-L40">}} +{{% /tab %}} +{{< tab header="CSharp" >}} +{{< badge-code >}} +{{< /tab >}} +{{< tab header="Ruby" >}} +{{< gh-codeblock path="/examples/ruby/spec/browsers/chrome_spec.rb#L35" >}} +{{< /tab >}} +{{< tab header="JavaScript" >}} +{{< gh-codeblock path="/examples/javascript/test/browser/chromeSpecificCaps.spec.js#L51-L55">}} +{{< /tab >}} +{{< tab header="Kotlin" >}} +{{< badge-code >}} +{{< /tab >}} +{{< /tabpane >}} ### Manter o navegador aberto 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 0813425c5f4b..07d59ea0a561 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 @@ -105,7 +105,26 @@ please use the `load-extension` argument instead, as mentioned in 添加一个扩展程序到选项中: -{{< alert-code />}} +{{< tabpane text=true langEqualsHeader=true >}} +{{< tab header="Java" >}} +{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L38-L40" >}} +{{< /tab >}} +{{% tab header="Python" %}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L39-L40">}} +{{% /tab %}} +{{< tab header="CSharp" >}} +{{< badge-code >}} +{{< /tab >}} +{{< tab header="Ruby" >}} +{{< gh-codeblock path="/examples/ruby/spec/browsers/chrome_spec.rb#L35" >}} +{{< /tab >}} +{{< tab header="JavaScript" >}} +{{< gh-codeblock path="/examples/javascript/test/browser/chromeSpecificCaps.spec.js#L51-L55">}} +{{< /tab >}} +{{< tab header="Kotlin" >}} +{{< badge-code >}} +{{< /tab >}} +{{< /tabpane >}} ### 保持浏览器的打开状态 From 7db609c1ff3403cec9216b2aa548fdebaac921df Mon Sep 17 00:00:00 2001 From: Gayathri Rukmadhavan Date: Mon, 26 Jun 2023 18:52:14 +0530 Subject: [PATCH 03/10] Review comments --- .../java/src/test/java/dev/selenium/browsers/ChromeTest.java | 2 ++ examples/javascript/test/browser/chromeSpecificCaps.spec.js | 4 ++-- examples/python/tests/browsers/test_chrome.py | 3 +++ examples/ruby/spec/browsers/chrome_spec.rb | 2 +- .../content/documentation/webdriver/browsers/chrome.en.md | 4 ++-- .../content/documentation/webdriver/browsers/chrome.ja.md | 4 ++-- .../content/documentation/webdriver/browsers/chrome.pt-br.md | 4 ++-- .../content/documentation/webdriver/browsers/chrome.zh-cn.md | 4 ++-- 8 files changed, 16 insertions(+), 11 deletions(-) diff --git a/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java b/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java index eabab3f6b065..0952cd6b9984 100644 --- a/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java +++ b/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java @@ -2,6 +2,7 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.Disabled; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; @@ -34,6 +35,7 @@ public void keepBrowserOpen() { } @Test + @Disabled("Skipping extension related test") public void extensionOptions() { ChromeOptions options = new ChromeOptions(); options.addExtensions(new File("/path/to/extension.crx")); diff --git a/examples/javascript/test/browser/chromeSpecificCaps.spec.js b/examples/javascript/test/browser/chromeSpecificCaps.spec.js index a4efa6441a01..296c96ab6ce8 100644 --- a/examples/javascript/test/browser/chromeSpecificCaps.spec.js +++ b/examples/javascript/test/browser/chromeSpecificCaps.spec.js @@ -47,14 +47,14 @@ suite(function (env) { await driver.quit(); }); - it('Add Extension', async function () { + xit('Add Extension', async function () { const options = new Chrome.Options(); let driver = await env .builder() .setChromeOptions(options.addExtensions(['/path/to/extension.crx'])) .build(); - await driver.get('https://www.google.com/'); + await driver.get('https://www.selenium.dev/selenium/web/blank.html'); await driver.quit(); }); diff --git a/examples/python/tests/browsers/test_chrome.py b/examples/python/tests/browsers/test_chrome.py index 9e0145466347..1398583ccc27 100644 --- a/examples/python/tests/browsers/test_chrome.py +++ b/examples/python/tests/browsers/test_chrome.py @@ -1,3 +1,5 @@ +import pytest + from selenium import webdriver from selenium.webdriver.chrome.options import Options as ChromeOptions @@ -35,6 +37,7 @@ def exclude_switches(): driver.quit() +@pytest.mark.skip(reason="Skipping extension related test") def test_add_extension(): chrome_options = ChromeOptions() chrome_options.add_extension("/path/to/extension.crx") diff --git a/examples/ruby/spec/browsers/chrome_spec.rb b/examples/ruby/spec/browsers/chrome_spec.rb index bbedf78f87e1..ae09e0c4fa3f 100644 --- a/examples/ruby/spec/browsers/chrome_spec.rb +++ b/examples/ruby/spec/browsers/chrome_spec.rb @@ -31,7 +31,7 @@ @driver.get('https://www.google.com/') end - it 'Add extensions' do + xit 'Add extensions' do options = Selenium::WebDriver::Options.chrome(add_extension: ['/path/to/extension.crx']) @driver = Selenium::WebDriver.for :chrome, options: options 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 d3784dd55ba7..2e0aa06bfce9 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/chrome.en.md +++ b/website_and_docs/content/documentation/webdriver/browsers/chrome.en.md @@ -110,10 +110,10 @@ Add an extension to options: {{< tabpane text=true langEqualsHeader=true >}} {{< tab header="Java" >}} -{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L38-L40" >}} +{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L40-L42" >}} {{< /tab >}} {{% tab header="Python" %}} -{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L39-L40">}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L42-L43">}} {{% /tab %}} {{< tab header="CSharp" >}} {{< badge-code >}} 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 2b40961204aa..2193e8a70356 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/chrome.ja.md +++ b/website_and_docs/content/documentation/webdriver/browsers/chrome.ja.md @@ -111,10 +111,10 @@ please use the `load-extension` argument instead, as mentioned in {{< tabpane text=true langEqualsHeader=true >}} {{< tab header="Java" >}} -{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L38-L40" >}} +{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L40-L42" >}} {{< /tab >}} {{% tab header="Python" %}} -{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L39-L40">}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L42-L43">}} {{% /tab %}} {{< tab header="CSharp" >}} {{< badge-code >}} 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 bf0cca7693e2..3ee4d3af4afb 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 @@ -107,10 +107,10 @@ Adicionar uma extensão: {{< tabpane text=true langEqualsHeader=true >}} {{< tab header="Java" >}} -{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L38-L40" >}} +{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L40-L42" >}} {{< /tab >}} {{% tab header="Python" %}} -{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L39-L40">}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L42-L43">}} {{% /tab %}} {{< tab header="CSharp" >}} {{< badge-code >}} 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 07d59ea0a561..0773116e9480 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 @@ -107,10 +107,10 @@ please use the `load-extension` argument instead, as mentioned in {{< tabpane text=true langEqualsHeader=true >}} {{< tab header="Java" >}} -{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L38-L40" >}} +{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L40-L42" >}} {{< /tab >}} {{% tab header="Python" %}} -{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L39-L40">}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L42-L43">}} {{% /tab %}} {{< tab header="CSharp" >}} {{< badge-code >}} From f9bdfe5a7df9777c94ce64ba33c2fa592559713c Mon Sep 17 00:00:00 2001 From: Gayathri Rukmadhavan <85332623+by-gayathri@users.noreply.github.com> Date: Tue, 27 Jun 2023 12:15:34 +0530 Subject: [PATCH 04/10] add sample crx file and update tests --- .../java/dev/selenium/browsers/ChromeTest.java | 7 ++++--- .../webextensions-selenium-example.crx | Bin 0 -> 1192 bytes .../test/browser/chromeSpecificCaps.spec.js | 4 ++-- .../webextensions-selenium-example.crx | Bin 0 -> 1192 bytes examples/python/tests/browsers/test_chrome.py | 6 +++--- .../webextensions-selenium-example.crx | Bin 0 -> 1192 bytes examples/ruby/spec/browsers/chrome_spec.rb | 13 +++++++------ .../webextensions-selenium-example.crx | Bin 0 -> 1192 bytes 8 files changed, 16 insertions(+), 14 deletions(-) create mode 100644 examples/java/src/test/resources/extensions/webextensions-selenium-example.crx create mode 100644 examples/javascript/test/extensions/webextensions-selenium-example.crx create mode 100644 examples/python/tests/extensions/webextensions-selenium-example.crx create mode 100644 examples/ruby/spec/extensions/webextensions-selenium-example.crx diff --git a/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java b/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java index 0952cd6b9984..848afae26f9a 100644 --- a/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java +++ b/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java @@ -2,9 +2,10 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.Disabled; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; +import java.nio.file.Path; +import java.nio.file.Paths; public class ChromeTest { public ChromeDriver driver; @@ -35,10 +36,10 @@ public void keepBrowserOpen() { } @Test - @Disabled("Skipping extension related test") public void extensionOptions() { ChromeOptions options = new ChromeOptions(); - options.addExtensions(new File("/path/to/extension.crx")); + Path path = Paths.get("src/test/resources/extensions/webextensions-selenium-example.crx"); + options.addExtensions(new File(path)); ChromeDriver driver = new ChromeDriver(options); } diff --git a/examples/java/src/test/resources/extensions/webextensions-selenium-example.crx b/examples/java/src/test/resources/extensions/webextensions-selenium-example.crx new file mode 100644 index 0000000000000000000000000000000000000000..38b38003b7ec30d3c654745fa64909bd2899d9c7 GIT binary patch literal 1192 zcmZ=RGBROiU|?`%Vqg$j!@{+U$)Jf*$$*!QQ>)FR?K>|cBO@yVa}y&!15licsfm%1 zVb()Sy_mZZ&c@#qeC-St2ff^>nW5)1B|p9JbI$Cq+ZC4lHn(8vCnkuReWwi#*vljV< z6*SA|t^c-tO1}NG3kehW)r<^-Ow5WqGWNTyRP8ovRCJi3|4gf5;f>_~ZYLKR6i)c` z>gAs6to6HYT5rDNv7lG;cZ6X0^YU{GUKb=Su)7;*Z)ktG(pT_@RJ-sr&jKF@8r z|BKtwe65?tj)5$Xei@a2t|^M&v^DD8bQg3ZY^4|)~H6t=v!N%%YIRvZ>AcZpS?~CD!+R# z_E+tTq6O;$Ev-MhZgiD5OIB{EGCckCuwF&eM;0M2fkP+Lc+W`GFO2Q*Ss5h7+Zy1_ z%p$_Tz`?2JE-{*a z_%0*BZpgSjUSY0K#p1`8`=#8>=QQfte0Eqn`_=WW(uz0#yB**C%Fg}LxnpIPPZAW1 z-hY&SFe@u6ro_GTfZvh!*x3A6ywf<>CdA)+vV6^xEm5Ku?F@_8c($DSJ#TAN-Ug4! z{B;xTc1w57nEl`X*N%Nt%hXBv^6P)MQYQ)b<V zTxXhf7r9Pf73;QBQN*BB`mcRRZOr$G*k@}$9%gv>O-eZW>xCHq@4rvT#szpY0!s$m r5ejrZ12Ar(03~|SwW50)qz9r^6iC4XA;6oJ4J5?`ghfF5JXj3?S108f literal 0 HcmV?d00001 diff --git a/examples/javascript/test/browser/chromeSpecificCaps.spec.js b/examples/javascript/test/browser/chromeSpecificCaps.spec.js index 296c96ab6ce8..4e0bd3c7bb9c 100644 --- a/examples/javascript/test/browser/chromeSpecificCaps.spec.js +++ b/examples/javascript/test/browser/chromeSpecificCaps.spec.js @@ -47,11 +47,11 @@ suite(function (env) { await driver.quit(); }); - xit('Add Extension', async function () { + it('Add Extension', async function () { const options = new Chrome.Options(); let driver = await env .builder() - .setChromeOptions(options.addExtensions(['/path/to/extension.crx'])) + .setChromeOptions(options.addExtensions(['examples/javascript/test/extensions/webextensions-selenium-example.crx'])) .build(); await driver.get('https://www.selenium.dev/selenium/web/blank.html'); diff --git a/examples/javascript/test/extensions/webextensions-selenium-example.crx b/examples/javascript/test/extensions/webextensions-selenium-example.crx new file mode 100644 index 0000000000000000000000000000000000000000..38b38003b7ec30d3c654745fa64909bd2899d9c7 GIT binary patch literal 1192 zcmZ=RGBROiU|?`%Vqg$j!@{+U$)Jf*$$*!QQ>)FR?K>|cBO@yVa}y&!15licsfm%1 zVb()Sy_mZZ&c@#qeC-St2ff^>nW5)1B|p9JbI$Cq+ZC4lHn(8vCnkuReWwi#*vljV< z6*SA|t^c-tO1}NG3kehW)r<^-Ow5WqGWNTyRP8ovRCJi3|4gf5;f>_~ZYLKR6i)c` z>gAs6to6HYT5rDNv7lG;cZ6X0^YU{GUKb=Su)7;*Z)ktG(pT_@RJ-sr&jKF@8r z|BKtwe65?tj)5$Xei@a2t|^M&v^DD8bQg3ZY^4|)~H6t=v!N%%YIRvZ>AcZpS?~CD!+R# z_E+tTq6O;$Ev-MhZgiD5OIB{EGCckCuwF&eM;0M2fkP+Lc+W`GFO2Q*Ss5h7+Zy1_ z%p$_Tz`?2JE-{*a z_%0*BZpgSjUSY0K#p1`8`=#8>=QQfte0Eqn`_=WW(uz0#yB**C%Fg}LxnpIPPZAW1 z-hY&SFe@u6ro_GTfZvh!*x3A6ywf<>CdA)+vV6^xEm5Ku?F@_8c($DSJ#TAN-Ug4! z{B;xTc1w57nEl`X*N%Nt%hXBv^6P)MQYQ)b<V zTxXhf7r9Pf73;QBQN*BB`mcRRZOr$G*k@}$9%gv>O-eZW>xCHq@4rvT#szpY0!s$m r5ejrZ12Ar(03~|SwW50)qz9r^6iC4XA;6oJ4J5?`ghfF5JXj3?S108f literal 0 HcmV?d00001 diff --git a/examples/python/tests/browsers/test_chrome.py b/examples/python/tests/browsers/test_chrome.py index 1398583ccc27..0bee0fc7cd65 100644 --- a/examples/python/tests/browsers/test_chrome.py +++ b/examples/python/tests/browsers/test_chrome.py @@ -1,4 +1,4 @@ -import pytest +import os from selenium import webdriver from selenium.webdriver.chrome.options import Options as ChromeOptions @@ -37,10 +37,10 @@ def exclude_switches(): driver.quit() -@pytest.mark.skip(reason="Skipping extension related test") def test_add_extension(): chrome_options = ChromeOptions() - chrome_options.add_extension("/path/to/extension.crx") + path = os.path.abspath("examples/python/tests/extensions/webextensions-selenium-example.crx") + chrome_options.add_extension(path) driver = webdriver.Chrome(options=chrome_options) driver.get('http://selenium.dev/') diff --git a/examples/python/tests/extensions/webextensions-selenium-example.crx b/examples/python/tests/extensions/webextensions-selenium-example.crx new file mode 100644 index 0000000000000000000000000000000000000000..38b38003b7ec30d3c654745fa64909bd2899d9c7 GIT binary patch literal 1192 zcmZ=RGBROiU|?`%Vqg$j!@{+U$)Jf*$$*!QQ>)FR?K>|cBO@yVa}y&!15licsfm%1 zVb()Sy_mZZ&c@#qeC-St2ff^>nW5)1B|p9JbI$Cq+ZC4lHn(8vCnkuReWwi#*vljV< z6*SA|t^c-tO1}NG3kehW)r<^-Ow5WqGWNTyRP8ovRCJi3|4gf5;f>_~ZYLKR6i)c` z>gAs6to6HYT5rDNv7lG;cZ6X0^YU{GUKb=Su)7;*Z)ktG(pT_@RJ-sr&jKF@8r z|BKtwe65?tj)5$Xei@a2t|^M&v^DD8bQg3ZY^4|)~H6t=v!N%%YIRvZ>AcZpS?~CD!+R# z_E+tTq6O;$Ev-MhZgiD5OIB{EGCckCuwF&eM;0M2fkP+Lc+W`GFO2Q*Ss5h7+Zy1_ z%p$_Tz`?2JE-{*a z_%0*BZpgSjUSY0K#p1`8`=#8>=QQfte0Eqn`_=WW(uz0#yB**C%Fg}LxnpIPPZAW1 z-hY&SFe@u6ro_GTfZvh!*x3A6ywf<>CdA)+vV6^xEm5Ku?F@_8c($DSJ#TAN-Ug4! z{B;xTc1w57nEl`X*N%Nt%hXBv^6P)MQYQ)b<V zTxXhf7r9Pf73;QBQN*BB`mcRRZOr$G*k@}$9%gv>O-eZW>xCHq@4rvT#szpY0!s$m r5ejrZ12Ar(03~|SwW50)qz9r^6iC4XA;6oJ4J5?`ghfF5JXj3?S108f literal 0 HcmV?d00001 diff --git a/examples/ruby/spec/browsers/chrome_spec.rb b/examples/ruby/spec/browsers/chrome_spec.rb index ae09e0c4fa3f..12af69fcc273 100644 --- a/examples/ruby/spec/browsers/chrome_spec.rb +++ b/examples/ruby/spec/browsers/chrome_spec.rb @@ -14,27 +14,28 @@ options = Selenium::WebDriver::Options.chrome(args: ['--headless=new']) @driver = Selenium::WebDriver.for :chrome, options: options - @driver.get('https://www.google.com/') + @driver.get('https://www.selenium.dev/') end it 'Keep browser open' do options = Selenium::WebDriver::Options.chrome(detach: true) @driver = Selenium::WebDriver.for :chrome, options: options - @driver.get('https://www.google.com/') + @driver.get('https://www.selenium.dev/') end it 'Exclude switches' do options = Selenium::WebDriver::Options.chrome(exclude_switches: ['enable-automation']) @driver = Selenium::WebDriver.for :chrome, options: options - @driver.get('https://www.google.com/') + @driver.get('https://www.selenium.dev/') end - xit 'Add extensions' do - options = Selenium::WebDriver::Options.chrome(add_extension: ['/path/to/extension.crx']) + it 'Add extensions' do + extension_file_path = File.expand_path('../extensions/webextensions-selenium-example.crx', __dir__) + options = Selenium::WebDriver::Options.chrome(add_extension: [extension_file_path]) @driver = Selenium::WebDriver.for :chrome, options: options - @driver.get('https://www.google.com/') + @driver.get('https://www.selenium.dev/') end end diff --git a/examples/ruby/spec/extensions/webextensions-selenium-example.crx b/examples/ruby/spec/extensions/webextensions-selenium-example.crx new file mode 100644 index 0000000000000000000000000000000000000000..38b38003b7ec30d3c654745fa64909bd2899d9c7 GIT binary patch literal 1192 zcmZ=RGBROiU|?`%Vqg$j!@{+U$)Jf*$$*!QQ>)FR?K>|cBO@yVa}y&!15licsfm%1 zVb()Sy_mZZ&c@#qeC-St2ff^>nW5)1B|p9JbI$Cq+ZC4lHn(8vCnkuReWwi#*vljV< z6*SA|t^c-tO1}NG3kehW)r<^-Ow5WqGWNTyRP8ovRCJi3|4gf5;f>_~ZYLKR6i)c` z>gAs6to6HYT5rDNv7lG;cZ6X0^YU{GUKb=Su)7;*Z)ktG(pT_@RJ-sr&jKF@8r z|BKtwe65?tj)5$Xei@a2t|^M&v^DD8bQg3ZY^4|)~H6t=v!N%%YIRvZ>AcZpS?~CD!+R# z_E+tTq6O;$Ev-MhZgiD5OIB{EGCckCuwF&eM;0M2fkP+Lc+W`GFO2Q*Ss5h7+Zy1_ z%p$_Tz`?2JE-{*a z_%0*BZpgSjUSY0K#p1`8`=#8>=QQfte0Eqn`_=WW(uz0#yB**C%Fg}LxnpIPPZAW1 z-hY&SFe@u6ro_GTfZvh!*x3A6ywf<>CdA)+vV6^xEm5Ku?F@_8c($DSJ#TAN-Ug4! z{B;xTc1w57nEl`X*N%Nt%hXBv^6P)MQYQ)b<V zTxXhf7r9Pf73;QBQN*BB`mcRRZOr$G*k@}$9%gv>O-eZW>xCHq@4rvT#szpY0!s$m r5ejrZ12Ar(03~|SwW50)qz9r^6iC4XA;6oJ4J5?`ghfF5JXj3?S108f literal 0 HcmV?d00001 From 8e44ef943816bbe51bdfcbecdaaaa07544db3072 Mon Sep 17 00:00:00 2001 From: Gayathri Rukmadhavan <85332623+by-gayathri@users.noreply.github.com> Date: Tue, 27 Jun 2023 16:20:30 +0530 Subject: [PATCH 05/10] update sample code and assertions with crx file --- .../test/java/dev/selenium/browsers/ChromeTest.java | 11 +++++++++-- .../test/browser/chromeSpecificCaps.spec.js | 2 +- .../extensions/webextensions-selenium-example.crx | Bin examples/python/tests/browsers/test_chrome.py | 2 +- examples/ruby/spec/browsers/chrome_spec.rb | 7 +++++-- 5 files changed, 16 insertions(+), 6 deletions(-) rename examples/javascript/test/{ => resources}/extensions/webextensions-selenium-example.crx (100%) diff --git a/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java b/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java index 848afae26f9a..4951b7fe2320 100644 --- a/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java +++ b/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java @@ -2,8 +2,12 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.Assertions; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.By; +import java.io.File; import java.nio.file.Path; import java.nio.file.Paths; @@ -39,8 +43,11 @@ public void keepBrowserOpen() { public void extensionOptions() { ChromeOptions options = new ChromeOptions(); Path path = Paths.get("src/test/resources/extensions/webextensions-selenium-example.crx"); - options.addExtensions(new File(path)); - ChromeDriver driver = new ChromeDriver(options); + options.addExtensions(new File(path.toUri())); + driver = new ChromeDriver(options); + driver.get("https://www.selenium.dev/selenium/web/blank.html"); + WebElement injected = driver.findElement(By.id("webextensions-selenium-example")); + Assertions.assertEquals("Content injected by webextensions-selenium-example", injected.getText()); } } diff --git a/examples/javascript/test/browser/chromeSpecificCaps.spec.js b/examples/javascript/test/browser/chromeSpecificCaps.spec.js index 4e0bd3c7bb9c..0b1c3e42c38b 100644 --- a/examples/javascript/test/browser/chromeSpecificCaps.spec.js +++ b/examples/javascript/test/browser/chromeSpecificCaps.spec.js @@ -51,7 +51,7 @@ suite(function (env) { const options = new Chrome.Options(); let driver = await env .builder() - .setChromeOptions(options.addExtensions(['examples/javascript/test/extensions/webextensions-selenium-example.crx'])) + .setChromeOptions(options.addExtensions(['./test/resources/extensions/webextensions-selenium-example.crx'])) .build(); await driver.get('https://www.selenium.dev/selenium/web/blank.html'); diff --git a/examples/javascript/test/extensions/webextensions-selenium-example.crx b/examples/javascript/test/resources/extensions/webextensions-selenium-example.crx similarity index 100% rename from examples/javascript/test/extensions/webextensions-selenium-example.crx rename to examples/javascript/test/resources/extensions/webextensions-selenium-example.crx diff --git a/examples/python/tests/browsers/test_chrome.py b/examples/python/tests/browsers/test_chrome.py index 0bee0fc7cd65..171a993d3aca 100644 --- a/examples/python/tests/browsers/test_chrome.py +++ b/examples/python/tests/browsers/test_chrome.py @@ -39,7 +39,7 @@ def exclude_switches(): def test_add_extension(): chrome_options = ChromeOptions() - path = os.path.abspath("examples/python/tests/extensions/webextensions-selenium-example.crx") + path = os.path.abspath("tests/extensions/webextensions-selenium-example.crx") chrome_options.add_extension(path) driver = webdriver.Chrome(options=chrome_options) diff --git a/examples/ruby/spec/browsers/chrome_spec.rb b/examples/ruby/spec/browsers/chrome_spec.rb index 12af69fcc273..45127eb3a981 100644 --- a/examples/ruby/spec/browsers/chrome_spec.rb +++ b/examples/ruby/spec/browsers/chrome_spec.rb @@ -33,9 +33,12 @@ it 'Add extensions' do extension_file_path = File.expand_path('../extensions/webextensions-selenium-example.crx', __dir__) - options = Selenium::WebDriver::Options.chrome(add_extension: [extension_file_path]) + options = Selenium::WebDriver::Options.chrome + options.add_extension(extension_file_path) @driver = Selenium::WebDriver.for :chrome, options: options - @driver.get('https://www.selenium.dev/') + @driver.get("https://www.selenium.dev/selenium/web/blank.html"); + injected = @driver.find_element(:id, 'webextensions-selenium-example') + expect(injected.text).to eq 'Content injected by webextensions-selenium-example' end end From 64ddd6a9466a5c879165f44b8e204ec090af706c Mon Sep 17 00:00:00 2001 From: Gayathri Rukmadhavan <85332623+by-gayathri@users.noreply.github.com> Date: Tue, 27 Jun 2023 16:42:41 +0530 Subject: [PATCH 06/10] updated md wrt to new code changes --- examples/python/tests/browsers/test_chrome.py | 2 +- .../content/documentation/webdriver/browsers/chrome.en.md | 6 +++--- .../content/documentation/webdriver/browsers/chrome.ja.md | 6 +++--- .../documentation/webdriver/browsers/chrome.pt-br.md | 6 +++--- .../documentation/webdriver/browsers/chrome.zh-cn.md | 6 +++--- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/examples/python/tests/browsers/test_chrome.py b/examples/python/tests/browsers/test_chrome.py index 171a993d3aca..2c2378d929b2 100644 --- a/examples/python/tests/browsers/test_chrome.py +++ b/examples/python/tests/browsers/test_chrome.py @@ -43,6 +43,6 @@ def test_add_extension(): chrome_options.add_extension(path) driver = webdriver.Chrome(options=chrome_options) - driver.get('http://selenium.dev/') + driver.get("https://www.selenium.dev/selenium/web/blank.html"); driver.quit() \ No newline at end of file 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 2e0aa06bfce9..613139a13b21 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/chrome.en.md +++ b/website_and_docs/content/documentation/webdriver/browsers/chrome.en.md @@ -110,16 +110,16 @@ Add an extension to options: {{< tabpane text=true langEqualsHeader=true >}} {{< tab header="Java" >}} -{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L40-L42" >}} +{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L44-L47" >}} {{< /tab >}} {{% tab header="Python" %}} -{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L42-L43">}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L41-L43">}} {{% /tab %}} {{< tab header="CSharp" >}} {{< badge-code >}} {{< /tab >}} {{< tab header="Ruby" >}} -{{< gh-codeblock path="/examples/ruby/spec/browsers/chrome_spec.rb#L35" >}} +{{< gh-codeblock path="/examples/ruby/spec/browsers/chrome_spec.rb#L35-L37" >}} {{< /tab >}} {{< tab header="JavaScript" >}} {{< gh-codeblock path="/examples/javascript/test/browser/chromeSpecificCaps.spec.js#L51-L55">}} 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 2193e8a70356..b2298b208529 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/chrome.ja.md +++ b/website_and_docs/content/documentation/webdriver/browsers/chrome.ja.md @@ -111,16 +111,16 @@ please use the `load-extension` argument instead, as mentioned in {{< tabpane text=true langEqualsHeader=true >}} {{< tab header="Java" >}} -{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L40-L42" >}} +{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L44-L47" >}} {{< /tab >}} {{% tab header="Python" %}} -{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L42-L43">}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L41-L43">}} {{% /tab %}} {{< tab header="CSharp" >}} {{< badge-code >}} {{< /tab >}} {{< tab header="Ruby" >}} -{{< gh-codeblock path="/examples/ruby/spec/browsers/chrome_spec.rb#L35" >}} +{{< gh-codeblock path="/examples/ruby/spec/browsers/chrome_spec.rb#L35-L37" >}} {{< /tab >}} {{< tab header="JavaScript" >}} {{< gh-codeblock path="/examples/javascript/test/browser/chromeSpecificCaps.spec.js#L51-L55">}} 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 3ee4d3af4afb..b1a01fb4766b 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 @@ -107,16 +107,16 @@ Adicionar uma extensão: {{< tabpane text=true langEqualsHeader=true >}} {{< tab header="Java" >}} -{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L40-L42" >}} +{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L44-L47" >}} {{< /tab >}} {{% tab header="Python" %}} -{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L42-L43">}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L41-L43">}} {{% /tab %}} {{< tab header="CSharp" >}} {{< badge-code >}} {{< /tab >}} {{< tab header="Ruby" >}} -{{< gh-codeblock path="/examples/ruby/spec/browsers/chrome_spec.rb#L35" >}} +{{< gh-codeblock path="/examples/ruby/spec/browsers/chrome_spec.rb#L35-L37" >}} {{< /tab >}} {{< tab header="JavaScript" >}} {{< gh-codeblock path="/examples/javascript/test/browser/chromeSpecificCaps.spec.js#L51-L55">}} 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 0773116e9480..251fb9c9d57b 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 @@ -107,16 +107,16 @@ please use the `load-extension` argument instead, as mentioned in {{< tabpane text=true langEqualsHeader=true >}} {{< tab header="Java" >}} -{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L40-L42" >}} +{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L44-L47" >}} {{< /tab >}} {{% tab header="Python" %}} -{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L42-L43">}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L41-L43">}} {{% /tab %}} {{< tab header="CSharp" >}} {{< badge-code >}} {{< /tab >}} {{< tab header="Ruby" >}} -{{< gh-codeblock path="/examples/ruby/spec/browsers/chrome_spec.rb#L35" >}} +{{< gh-codeblock path="/examples/ruby/spec/browsers/chrome_spec.rb#L35-L37" >}} {{< /tab >}} {{< tab header="JavaScript" >}} {{< gh-codeblock path="/examples/javascript/test/browser/chromeSpecificCaps.spec.js#L51-L55">}} From 5fb5f30aa9d05c96361dbadfc15ccb6ab716b3f5 Mon Sep 17 00:00:00 2001 From: Gayathri Rukmadhavan <85332623+by-gayathri@users.noreply.github.com> Date: Tue, 27 Jun 2023 17:01:36 +0530 Subject: [PATCH 07/10] resolve merge conflicts --- .../documentation/webdriver/browsers/chrome.en.md | 15 +-------------- .../documentation/webdriver/browsers/chrome.ja.md | 15 +-------------- .../webdriver/browsers/chrome.pt-br.md | 15 +-------------- .../webdriver/browsers/chrome.zh-cn.md | 15 +-------------- 4 files changed, 4 insertions(+), 56 deletions(-) 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 d7ab47e77367..8798f44b7766 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/chrome.en.md +++ b/website_and_docs/content/documentation/webdriver/browsers/chrome.en.md @@ -118,26 +118,13 @@ Add an extension to options: {{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L41-L43">}} {{% /tab %}} {{< tab header="CSharp" >}} -{{< badge-code >}} +{{< gh-codeblock path="/examples/dotnet/SeleniumDocs/Browsers/ChromeTest.cs#L50" >}} {{< /tab >}} {{< tab header="Ruby" >}} {{< gh-codeblock path="/examples/ruby/spec/browsers/chrome_spec.rb#L35-L37" >}} {{< /tab >}} {{< tab header="JavaScript" >}} {{< gh-codeblock path="/examples/javascript/test/browser/chromeSpecificCaps.spec.js#L51-L55">}} -{{< badge-code >}} -{{< /tab >}} -{{% tab header="Python" %}} -{{< badge-code >}} -{{% /tab %}} -{{< tab header="CSharp" >}} -{{< gh-codeblock path="/examples/dotnet/SeleniumDocs/Browsers/ChromeTest.cs#L50" >}} -{{< /tab >}} -{{< tab header="Ruby" >}} -{{< badge-code >}} -{{< /tab >}} -{{< tab header="JavaScript" >}} -{{< badge-code >}} {{< /tab >}} {{< tab header="Kotlin" >}} {{< badge-code >}} 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 0c65244c29e3..2ea589791803 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/chrome.ja.md +++ b/website_and_docs/content/documentation/webdriver/browsers/chrome.ja.md @@ -121,26 +121,13 @@ please use the `load-extension` argument instead, as mentioned in {{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L41-L43">}} {{% /tab %}} {{< tab header="CSharp" >}} -{{< badge-code >}} +{{< gh-codeblock path="/examples/dotnet/SeleniumDocs/Browsers/ChromeTest.cs#L50" >}} {{< /tab >}} {{< tab header="Ruby" >}} {{< gh-codeblock path="/examples/ruby/spec/browsers/chrome_spec.rb#L35-L37" >}} {{< /tab >}} {{< tab header="JavaScript" >}} {{< gh-codeblock path="/examples/javascript/test/browser/chromeSpecificCaps.spec.js#L51-L55">}} -{{< badge-code >}} -{{< /tab >}} -{{% tab header="Python" %}} -{{< badge-code >}} -{{% /tab %}} -{{< tab header="CSharp" >}} -{{< gh-codeblock path="/examples/dotnet/SeleniumDocs/Browsers/ChromeTest.cs#L50" >}} -{{< /tab >}} -{{< tab header="Ruby" >}} -{{< badge-code >}} -{{< /tab >}} -{{< tab header="JavaScript" >}} -{{< badge-code >}} {{< /tab >}} {{< tab header="Kotlin" >}} {{< badge-code >}} 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 bd20e7999b5a..c669ef1caefb 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 @@ -117,26 +117,13 @@ Adicionar uma extensão: {{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L41-L43">}} {{% /tab %}} {{< tab header="CSharp" >}} -{{< badge-code >}} +{{< gh-codeblock path="/examples/dotnet/SeleniumDocs/Browsers/ChromeTest.cs#L50" >}} {{< /tab >}} {{< tab header="Ruby" >}} {{< gh-codeblock path="/examples/ruby/spec/browsers/chrome_spec.rb#L35-L37" >}} {{< /tab >}} {{< tab header="JavaScript" >}} {{< gh-codeblock path="/examples/javascript/test/browser/chromeSpecificCaps.spec.js#L51-L55">}} -{{< badge-code >}} -{{< /tab >}} -{{% tab header="Python" %}} -{{< badge-code >}} -{{% /tab %}} -{{< tab header="CSharp" >}} -{{< gh-codeblock path="/examples/dotnet/SeleniumDocs/Browsers/ChromeTest.cs#L50" >}} -{{< /tab >}} -{{< tab header="Ruby" >}} -{{< badge-code >}} -{{< /tab >}} -{{< tab header="JavaScript" >}} -{{< badge-code >}} {{< /tab >}} {{< tab header="Kotlin" >}} {{< badge-code >}} 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 7da081e8f249..bc0661d22244 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 @@ -117,26 +117,13 @@ please use the `load-extension` argument instead, as mentioned in {{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L41-L43">}} {{% /tab %}} {{< tab header="CSharp" >}} -{{< badge-code >}} +{{< gh-codeblock path="/examples/dotnet/SeleniumDocs/Browsers/ChromeTest.cs#L50" >}} {{< /tab >}} {{< tab header="Ruby" >}} {{< gh-codeblock path="/examples/ruby/spec/browsers/chrome_spec.rb#L35-L37" >}} {{< /tab >}} {{< tab header="JavaScript" >}} {{< gh-codeblock path="/examples/javascript/test/browser/chromeSpecificCaps.spec.js#L51-L55">}} -{{< badge-code >}} -{{< /tab >}} -{{% tab header="Python" %}} -{{< badge-code >}} -{{% /tab %}} -{{< tab header="CSharp" >}} -{{< gh-codeblock path="/examples/dotnet/SeleniumDocs/Browsers/ChromeTest.cs#L50" >}} -{{< /tab >}} -{{< tab header="Ruby" >}} -{{< badge-code >}} -{{< /tab >}} -{{< tab header="JavaScript" >}} -{{< badge-code >}} {{< /tab >}} {{< tab header="Kotlin" >}} {{< badge-code >}} From 25dd823180efa141755a4a20e625a4d2d63351a6 Mon Sep 17 00:00:00 2001 From: Gayathri Rukmadhavan <85332623+by-gayathri@users.noreply.github.com> Date: Tue, 27 Jun 2023 17:28:23 +0530 Subject: [PATCH 08/10] fix line numbers (merge-conflicts) --- .../dev/selenium/browsers/ChromeTest.java | 22 ++++++------- .../test/browser/chromeSpecificCaps.spec.js | 12 +++---- examples/ruby/spec/browsers/chrome_spec.rb | 31 +++++++------------ .../webdriver/browsers/chrome.en.md | 8 ++--- 4 files changed, 33 insertions(+), 40 deletions(-) diff --git a/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java b/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java index 522fd3cb2ed8..2a890a8907f8 100644 --- a/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java +++ b/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java @@ -55,17 +55,6 @@ public void excludeSwitches() { driver = new ChromeDriver(options); } - @Test - public void extensionOptions() { - ChromeOptions options = new ChromeOptions(); - Path path = Paths.get("src/test/resources/extensions/webextensions-selenium-example.crx"); - options.addExtensions(new File(path.toUri())); - driver = new ChromeDriver(options); - driver.get("https://www.selenium.dev/selenium/web/blank.html"); - WebElement injected = driver.findElement(By.id("webextensions-selenium-example")); - Assertions.assertEquals("Content injected by webextensions-selenium-example", injected.getText()); - } - public void logsToFile() throws IOException { ChromeDriverService service = new ChromeDriverService.Builder() .withLogFile(getLogLocation()) @@ -143,6 +132,17 @@ public void disableBuildChecks() throws IOException { Assertions.assertTrue(fileContent.contains(expected)); } + @Test + public void extensionOptions() { + ChromeOptions options = new ChromeOptions(); + Path path = Paths.get("src/test/resources/extensions/webextensions-selenium-example.crx"); + options.addExtensions(new File(path.toUri())); + driver = new ChromeDriver(options); + driver.get("https://www.selenium.dev/selenium/web/blank.html"); + WebElement injected = driver.findElement(By.id("webextensions-selenium-example")); + Assertions.assertEquals("Content injected by webextensions-selenium-example", injected.getText()); + } + private File getLogLocation() throws IOException { if (logLocation == null || !logLocation.exists()) { logLocation = File.createTempFile("chromedriver-", ".log"); diff --git a/examples/javascript/test/browser/chromeSpecificCaps.spec.js b/examples/javascript/test/browser/chromeSpecificCaps.spec.js index 0b1c3e42c38b..29ad798ed060 100644 --- a/examples/javascript/test/browser/chromeSpecificCaps.spec.js +++ b/examples/javascript/test/browser/chromeSpecificCaps.spec.js @@ -47,22 +47,22 @@ suite(function (env) { await driver.quit(); }); - it('Add Extension', async function () { - const options = new Chrome.Options(); + it('Basic Chrome test', async function () { + const Options = new Chrome.Options(); let driver = await env .builder() - .setChromeOptions(options.addExtensions(['./test/resources/extensions/webextensions-selenium-example.crx'])) + .setChromeOptions(Options) .build(); await driver.get('https://www.selenium.dev/selenium/web/blank.html'); await driver.quit(); }); - it('Basic Chrome test', async function () { - const Options = new Chrome.Options(); + it('Add Extension', async function () { + const options = new Chrome.Options(); let driver = await env .builder() - .setChromeOptions(Options) + .setChromeOptions(options.addExtensions(['./test/resources/extensions/webextensions-selenium-example.crx'])) .build(); await driver.get('https://www.selenium.dev/selenium/web/blank.html'); diff --git a/examples/ruby/spec/browsers/chrome_spec.rb b/examples/ruby/spec/browsers/chrome_spec.rb index 84e78890f554..0eeb982b69af 100644 --- a/examples/ruby/spec/browsers/chrome_spec.rb +++ b/examples/ruby/spec/browsers/chrome_spec.rb @@ -37,36 +37,17 @@ describe 'Service' do let(:file_name) { File.expand_path('chromedriver.log') } - @driver = Selenium::WebDriver.for :chrome, options: options - @driver.get('https://www.selenium.dev/') - end after { FileUtils.rm_f(file_name) } it 'logs to file' do service = Selenium::WebDriver::Service.chrome service.log = file_name - @driver = Selenium::WebDriver.for :chrome, options: options - @driver.get('https://www.selenium.dev/') - end @driver = Selenium::WebDriver.for :chrome, service: service expect(File.readlines(file_name).first).to include('Starting ChromeDriver') end - @driver = Selenium::WebDriver.for :chrome, options: options - @driver.get('https://www.selenium.dev/') - end - - it 'Add extensions' do - extension_file_path = File.expand_path('../extensions/webextensions-selenium-example.crx', __dir__) - options = Selenium::WebDriver::Options.chrome - options.add_extension(extension_file_path) - - @driver = Selenium::WebDriver.for :chrome, options: options - @driver.get("https://www.selenium.dev/selenium/web/blank.html"); - injected = @driver.find_element(:id, 'webextensions-selenium-example') - expect(injected.text).to eq 'Content injected by webextensions-selenium-example' it 'logs to console' do service = Selenium::WebDriver::Service.chrome service.log = $stdout @@ -108,5 +89,17 @@ warning = /\[WARNING\]: You are using an unsupported command-line switch: --disable-build-check/ expect(File.readlines(file_name).grep(warning).any?).to eq true end + + it 'Add extensions' do + extension_file_path = File.expand_path('../extensions/webextensions-selenium-example.crx', __dir__) + options = Selenium::WebDriver::Options.chrome + options.add_extension(extension_file_path) + + @driver = Selenium::WebDriver.for :chrome, options: options + @driver.get("https://www.selenium.dev/selenium/web/blank.html"); + injected = @driver.find_element(:id, 'webextensions-selenium-example') + expect(injected.text).to eq 'Content injected by webextensions-selenium-example' + end + end end 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 8798f44b7766..557edf981051 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/chrome.en.md +++ b/website_and_docs/content/documentation/webdriver/browsers/chrome.en.md @@ -112,19 +112,19 @@ Add an extension to options: {{< tabpane text=true langEqualsHeader=true >}} {{< tab header="Java" >}} -{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L44-L47" >}} +{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L137-L139" >}} {{< /tab >}} {{% tab header="Python" %}} -{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L41-L43">}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L105-L107">}} {{% /tab %}} {{< tab header="CSharp" >}} {{< gh-codeblock path="/examples/dotnet/SeleniumDocs/Browsers/ChromeTest.cs#L50" >}} {{< /tab >}} {{< tab header="Ruby" >}} -{{< gh-codeblock path="/examples/ruby/spec/browsers/chrome_spec.rb#L35-L37" >}} +{{< gh-codeblock path="/examples/ruby/spec/browsers/chrome_spec.rb#L94-L96" >}} {{< /tab >}} {{< tab header="JavaScript" >}} -{{< gh-codeblock path="/examples/javascript/test/browser/chromeSpecificCaps.spec.js#L51-L55">}} +{{< gh-codeblock path="/examples/javascript/test/browser/chromeSpecificCaps.spec.js#L62-L66">}} {{< /tab >}} {{< tab header="Kotlin" >}} {{< badge-code >}} From 22a31741ad2f228aa42ff1b250058aa322e3f727 Mon Sep 17 00:00:00 2001 From: Gayathri Rukmadhavan <85332623+by-gayathri@users.noreply.github.com> Date: Tue, 27 Jun 2023 18:39:52 +0530 Subject: [PATCH 09/10] typo fix --- examples/python/tests/browsers/test_chrome.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/python/tests/browsers/test_chrome.py b/examples/python/tests/browsers/test_chrome.py index 3ad5d1a67a5c..c12745ce49c9 100644 --- a/examples/python/tests/browsers/test_chrome.py +++ b/examples/python/tests/browsers/test_chrome.py @@ -102,7 +102,7 @@ def test_build_checks(log_path): driver.quit() def test_add_extension(): - chrome_options = ChromeOptions() + options = webdriver.ChromeOptions() path = os.path.abspath("tests/extensions/webextensions-selenium-example.crx") chrome_options.add_extension(path) From 1addcce24215120c834e33121ce281ec68ada01e Mon Sep 17 00:00:00 2001 From: Gayathri Rukmadhavan <85332623+by-gayathri@users.noreply.github.com> Date: Tue, 27 Jun 2023 18:41:05 +0530 Subject: [PATCH 10/10] fix typo --- examples/python/tests/browsers/test_chrome.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/python/tests/browsers/test_chrome.py b/examples/python/tests/browsers/test_chrome.py index c12745ce49c9..bd9234c8e6d0 100644 --- a/examples/python/tests/browsers/test_chrome.py +++ b/examples/python/tests/browsers/test_chrome.py @@ -102,7 +102,7 @@ def test_build_checks(log_path): driver.quit() def test_add_extension(): - options = webdriver.ChromeOptions() + chrome_options = webdriver.ChromeOptions() path = os.path.abspath("tests/extensions/webextensions-selenium-example.crx") chrome_options.add_extension(path)