diff --git a/.github/workflows/python-examples.yml b/.github/workflows/python-examples.yml index e7d432cab113..6238c88ef60d 100644 --- a/.github/workflows/python-examples.yml +++ b/.github/workflows/python-examples.yml @@ -25,8 +25,25 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu, windows, macos ] - release: [ stable, nightly ] + include: + - os: ubuntu + release: stable + python: '3.8' + - os: ubuntu + release: nightly + python: '3.11' + - os: windows + release: stable + python: '3.9' + - os: windows + release: nightly + python: '3.12' + - os: macos + release: stable + python: '3.10' + - os: macos + release: nightly + python: '3.13' runs-on: ${{ format('{0}-latest', matrix.os) }} steps: - name: Checkout GitHub repo @@ -47,7 +64,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: 3.8 + python-version: ${{ matrix.python }} - name: Install dependencies nightly non-Windows if: matrix.release == 'nightly' && matrix.os != 'windows' run: | @@ -80,8 +97,8 @@ jobs: - name: Run tests uses: nick-invision/retry@v3.0.0 with: - timeout_minutes: 40 + timeout_minutes: 60 max_attempts: 3 command: | cd examples/python - pytest + pytest --reruns 3 diff --git a/examples/java/gradle/wrapper/gradle-wrapper.properties b/examples/java/gradle/wrapper/gradle-wrapper.properties index 94113f200e61..e2847c820046 100644 --- a/examples/java/gradle/wrapper/gradle-wrapper.properties +++ b/examples/java/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/examples/java/pom.xml b/examples/java/pom.xml index 5483e72d16f8..25f69e090a8a 100644 --- a/examples/java/pom.xml +++ b/examples/java/pom.xml @@ -10,8 +10,8 @@ 1 - 11 - 11 + 17 + 17 UTF-8 4.26.0 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 a7a6e55ef7b7..24e97185336a 100644 --- a/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java +++ b/examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java @@ -19,12 +19,12 @@ import org.openqa.selenium.chrome.ChromeDriverService; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.chromium.ChromiumDriverLogLevel; +import org.openqa.selenium.chromium.ChromiumNetworkConditions; import org.openqa.selenium.logging.LogEntries; import org.openqa.selenium.logging.LogType; import org.openqa.selenium.logging.LoggingPreferences; import org.openqa.selenium.remote.service.DriverFinder; - public class ChromeTest extends BaseTest { @AfterEach public void clearProperties() { @@ -180,4 +180,46 @@ private File getChromeLocation() { DriverFinder finder = new DriverFinder(ChromeDriverService.createDefaultService(), options); return new File(finder.getBrowserPath()); } + + @Test + public void setPermission() { + ChromeDriver driver = new ChromeDriver(); + driver.get("https://www.selenium.dev"); + + driver.setPermission("camera", "denied"); + + // Verify the permission state is 'denied' + String script = "return navigator.permissions.query({ name: 'camera' })" + + " .then(permissionStatus => permissionStatus.state);"; + String permissionState = (String) driver.executeScript(script); + + Assertions.assertEquals("denied", permissionState); + driver.quit(); + } + + @Test + public void setNetworkConditions() { + driver = new ChromeDriver(); + + ChromiumNetworkConditions networkConditions = new ChromiumNetworkConditions(); + networkConditions.setOffline(false); + networkConditions.setLatency(java.time.Duration.ofMillis(20)); // 20 ms of latency + networkConditions.setDownloadThroughput(2000 * 1024 / 8); // 2000 kbps + networkConditions.setUploadThroughput(2000 * 1024 / 8); // 2000 kbps + + ((ChromeDriver) driver).setNetworkConditions(networkConditions); + + driver.get("https://www.selenium.dev"); + + // Assert the network conditions are set as expected + ChromiumNetworkConditions actualConditions = ((ChromeDriver) driver).getNetworkConditions(); + Assertions.assertAll( + () -> Assertions.assertEquals(networkConditions.getOffline(), actualConditions.getOffline()), + () -> Assertions.assertEquals(networkConditions.getLatency(), actualConditions.getLatency()), + () -> Assertions.assertEquals(networkConditions.getDownloadThroughput(), actualConditions.getDownloadThroughput()), + () -> Assertions.assertEquals(networkConditions.getUploadThroughput(), actualConditions.getUploadThroughput()) + ); + ((ChromeDriver) driver).deleteNetworkConditions(); + driver.quit(); + } } diff --git a/examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java b/examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java index 0711b26292cb..11aa4f13f1e1 100644 --- a/examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java +++ b/examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java @@ -15,7 +15,9 @@ import org.junit.jupiter.api.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; +import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chromium.ChromiumDriverLogLevel; +import org.openqa.selenium.chromium.ChromiumNetworkConditions; import org.openqa.selenium.edge.EdgeDriver; import org.openqa.selenium.edge.EdgeDriverService; import org.openqa.selenium.edge.EdgeOptions; @@ -24,7 +26,6 @@ import org.openqa.selenium.logging.LoggingPreferences; import org.openqa.selenium.remote.service.DriverFinder; - public class EdgeTest extends BaseTest { @AfterEach public void clearProperties() { @@ -174,4 +175,46 @@ private File getEdgeLocation() { DriverFinder finder = new DriverFinder(EdgeDriverService.createDefaultService(), options); return new File(finder.getBrowserPath()); } + + @Test + public void setPermissions() { + EdgeDriver driver = new EdgeDriver(); + driver.get("https://www.selenium.dev"); + + driver.setPermission("camera", "denied"); + + // Verify the permission state is 'denied' + String script = "return navigator.permissions.query({ name: 'camera' })" + + " .then(permissionStatus => permissionStatus.state);"; + String permissionState = (String) driver.executeScript(script); + + Assertions.assertEquals("denied", permissionState); + driver.quit(); + } + + @Test + public void setNetworkConditions() { + driver = new EdgeDriver(); + + ChromiumNetworkConditions networkConditions = new ChromiumNetworkConditions(); + networkConditions.setOffline(false); + networkConditions.setLatency(java.time.Duration.ofMillis(20)); // 20 ms of latency + networkConditions.setDownloadThroughput(2000 * 1024 / 8); // 2000 kbps + networkConditions.setUploadThroughput(2000 * 1024 / 8); // 2000 kbps + + ((EdgeDriver) driver).setNetworkConditions(networkConditions); + + driver.get("https://www.selenium.dev"); + + // Assert the network conditions are set as expected + ChromiumNetworkConditions actualConditions = ((EdgeDriver) driver).getNetworkConditions(); + Assertions.assertAll( + () -> Assertions.assertEquals(networkConditions.getOffline(), actualConditions.getOffline()), + () -> Assertions.assertEquals(networkConditions.getLatency(), actualConditions.getLatency()), + () -> Assertions.assertEquals(networkConditions.getDownloadThroughput(), actualConditions.getDownloadThroughput()), + () -> Assertions.assertEquals(networkConditions.getUploadThroughput(), actualConditions.getUploadThroughput()) + ); + ((EdgeDriver) driver).deleteNetworkConditions(); + driver.quit(); + } } diff --git a/examples/java/src/test/java/dev/selenium/browsers/FirefoxTest.java b/examples/java/src/test/java/dev/selenium/browsers/FirefoxTest.java index e763cd7824e1..70ea5c18240e 100644 --- a/examples/java/src/test/java/dev/selenium/browsers/FirefoxTest.java +++ b/examples/java/src/test/java/dev/selenium/browsers/FirefoxTest.java @@ -13,14 +13,14 @@ import org.junit.jupiter.api.condition.DisabledOnOs; import org.junit.jupiter.api.condition.OS; import org.openqa.selenium.By; +import org.openqa.selenium.OutputType; import org.openqa.selenium.WebElement; -import org.openqa.selenium.firefox.FirefoxDriver; -import org.openqa.selenium.firefox.FirefoxDriverLogLevel; -import org.openqa.selenium.firefox.FirefoxDriverService; -import org.openqa.selenium.firefox.FirefoxOptions; -import org.openqa.selenium.firefox.GeckoDriverService; +import org.openqa.selenium.firefox.*; import org.openqa.selenium.remote.service.DriverFinder; -import org.junit.jupiter.api.Disabled; + + + + public class FirefoxTest extends BaseTest { private FirefoxDriver driver; @@ -124,8 +124,8 @@ public void setProfileLocation() { Assertions.assertTrue(location.contains(profileDirectory.getAbsolutePath())); } + @Test - @Disabled("Skipping tests until Firefox 127 is released") public void installAddon() { driver = startFirefoxDriver(); Path xpiPath = Paths.get("src/test/resources/extensions/selenium-example.xpi"); @@ -138,8 +138,8 @@ public void installAddon() { "Content injected by webextensions-selenium-example", injected.getText()); } + @Test - @Disabled("Skipping tests until Firefox 127 is released") public void uninstallAddon() { driver = startFirefoxDriver(); Path xpiPath = Paths.get("src/test/resources/extensions/selenium-example.xpi"); @@ -151,8 +151,8 @@ public void uninstallAddon() { Assertions.assertEquals(driver.findElements(By.id("webextensions-selenium-example")).size(), 0); } + @Test - @Disabled("Skipping tests until Firefox 127 is released") public void installUnsignedAddonPath() { driver = startFirefoxDriver(); Path path = Paths.get("src/test/resources/extensions/selenium-example"); @@ -171,4 +171,38 @@ private Path getFirefoxLocation() { DriverFinder finder = new DriverFinder(GeckoDriverService.createDefaultService(), options); return Path.of(finder.getBrowserPath()); } + + @Test + public void fullPageScreenshot() throws Exception { + driver = startFirefoxDriver(); + + driver.get("https://www.selenium.dev"); + + File screenshot = driver.getFullPageScreenshotAs(OutputType.FILE); + + File targetFile = new File("full_page_screenshot.png"); + Files.move(screenshot.toPath(), targetFile.toPath()); + + // Verify the screenshot file exists + Assertions.assertTrue(targetFile.exists(), "The full page screenshot file should exist"); + Files.deleteIfExists(targetFile.toPath()); + + driver.quit(); + } + + @Test + public void setContext() { + driver = startFirefoxDriver(); + + ((HasContext) driver).setContext(FirefoxCommandContext.CHROME); + driver.executeScript("console.log('Inside Chrome context');"); + + // Verify the context is back to "content" + Assertions.assertEquals( + FirefoxCommandContext.CHROME, ((HasContext) driver).getContext(), + "The context should be 'chrome'" + ); + + driver.quit(); + } } diff --git a/examples/java/src/test/java/dev/selenium/browsers/SafariTest.java b/examples/java/src/test/java/dev/selenium/browsers/SafariTest.java index 7e12aa362699..a579b2170e44 100644 --- a/examples/java/src/test/java/dev/selenium/browsers/SafariTest.java +++ b/examples/java/src/test/java/dev/selenium/browsers/SafariTest.java @@ -33,4 +33,10 @@ public void enableLogs() { driver = new SafariDriver(service); } + + public void safariTechnologyPreview() { + SafariOptions options = new SafariOptions(); + options.setUseTechnologyPreview(true); + driver = new SafariDriver(options); + } } diff --git a/examples/javascript/test/browser/chromeSpecificCaps.spec.js b/examples/javascript/test/browser/chromeSpecificCaps.spec.js index 813636cb15a2..04175656d870 100644 --- a/examples/javascript/test/browser/chromeSpecificCaps.spec.js +++ b/examples/javascript/test/browser/chromeSpecificCaps.spec.js @@ -2,6 +2,8 @@ const Chrome = require('selenium-webdriver/chrome'); const { Browser, Builder } = require("selenium-webdriver"); const options = new Chrome.Options(); + + describe('Should be able to Test Command line arguments', function () { it('headless', async function () { let driver = new Builder() diff --git a/examples/javascript/test/browser/edgeSpecificCaps.spec.js b/examples/javascript/test/browser/edgeSpecificCaps.spec.js index 23fad7888f19..4f059f5c79a5 100644 --- a/examples/javascript/test/browser/edgeSpecificCaps.spec.js +++ b/examples/javascript/test/browser/edgeSpecificCaps.spec.js @@ -4,6 +4,7 @@ const options = new edge.Options(); const assert = require("assert"); + describe('Should be able to Test Command line arguments', function () { it('headless', async function () { let driver = new Builder() diff --git a/examples/javascript/test/getting_started/openEdgeTest.spec.js b/examples/javascript/test/getting_started/openEdgeTest.spec.js index f7cc5078924d..001337c356ec 100644 --- a/examples/javascript/test/getting_started/openEdgeTest.spec.js +++ b/examples/javascript/test/getting_started/openEdgeTest.spec.js @@ -5,6 +5,8 @@ const edge = require('selenium-webdriver/edge'); describe('Open Edge', function () { let driver; + + before(async function () { let options = new edge.Options(); driver = new Builder() diff --git a/examples/python/requirements.txt b/examples/python/requirements.txt index aba556812b9c..1aeaa1a03aa1 100644 --- a/examples/python/requirements.txt +++ b/examples/python/requirements.txt @@ -2,5 +2,6 @@ selenium==4.26.1 pytest trio pytest-trio +pytest-rerunfailures flake8 requests diff --git a/examples/python/tests/browsers/test_chrome.py b/examples/python/tests/browsers/test_chrome.py index 2fd6b653af79..55667f514652 100644 --- a/examples/python/tests/browsers/test_chrome.py +++ b/examples/python/tests/browsers/test_chrome.py @@ -1,7 +1,7 @@ import os import re import subprocess - +import pytest from selenium import webdriver @@ -140,3 +140,39 @@ 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) + + +def test_cast_features(): + driver = webdriver.Chrome() + + try: + sinks = driver.get_sinks() + if sinks: + sink_name = sinks[0]['name'] + driver.start_tab_mirroring(sink_name) + driver.stop_casting(sink_name) + else: + pytest.skip("No available Cast sinks to test with.") + finally: + driver.quit() diff --git a/examples/python/tests/browsers/test_edge.py b/examples/python/tests/browsers/test_edge.py index ff9018b0e903..363b15ea49f8 100644 --- a/examples/python/tests/browsers/test_edge.py +++ b/examples/python/tests/browsers/test_edge.py @@ -1,7 +1,7 @@ import os import re import subprocess - +import pytest from selenium import webdriver @@ -140,3 +140,39 @@ 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) + + +def test_cast_features(): + driver = webdriver.Edge() + + try: + sinks = driver.get_sinks() + if sinks: + sink_name = sinks[0]['name'] + driver.start_tab_mirroring(sink_name) + driver.stop_casting(sink_name) + else: + pytest.skip("No available Cast sinks to test with.") + finally: + driver.quit() diff --git a/scripts/latest-python-nightly-version.py b/scripts/latest-python-nightly-version.py index 4c232f63c74e..fb1f18e812fa 100755 --- a/scripts/latest-python-nightly-version.py +++ b/scripts/latest-python-nightly-version.py @@ -1,12 +1,12 @@ import requests import json -import re response = requests.get("https://test.pypi.org/pypi/selenium/json") data = response.json() -versions = data['releases'].keys() -sorted_versions = sorted(versions, key=lambda s: [int(part) if part.isdigit() else part for part in re.split(r'(\d+)', s)]) -latest_version = sorted_versions[-1] +# Extract versions and their upload times +versions = data['releases'] +sorted_versions = sorted(versions.items(), key=lambda item: item[1][0]['upload_time'], reverse=True) +latest_version = sorted_versions[0][0] print(latest_version) \ 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 cbdcda02391f..6e4f28c6a718 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/chrome.en.md +++ b/website_and_docs/content/documentation/webdriver/browsers/chrome.en.md @@ -372,9 +372,9 @@ You can drive Chrome Cast devices, including sharing tabs {{< 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#L170-L174" >}} +{{< /tab >}} {{< tab header="CSharp" >}} {{< badge-code >}} {{< /tab >}} @@ -396,7 +396,7 @@ You can simulate various network conditions. {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L204-L210" >}} {{< /tab >}} {{< tab header="Python" >}} {{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L129-L135" >}} @@ -442,11 +442,11 @@ You can simulate various network conditions. {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L189" >}} +{{< /tab >}} +{{< tab header="Python" >}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L149" >}} {{< /tab >}} -{{% tab header="Python" %}} -{{< badge-code >}} -{{% /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..241fbb3162bc 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/chrome.ja.md +++ b/website_and_docs/content/documentation/webdriver/browsers/chrome.ja.md @@ -365,9 +365,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#L170-L174" >}} +{{< /tab >}} {{< tab header="CSharp" >}} {{< badge-code >}} {{< /tab >}} @@ -390,7 +390,7 @@ Chrome Castデバイスを操作することができ、タブの共有も含ま {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L204-L210" >}} {{< /tab >}} {{< tab header="Python" >}} {{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L129-L135" >}} @@ -436,11 +436,11 @@ Chrome Castデバイスを操作することができ、タブの共有も含ま {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L189" >}} +{{< /tab >}} +{{< tab header="Python" >}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L149" >}} {{< /tab >}} -{{% tab header="Python" %}} -{{< badge-code >}} -{{% /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..e273d7f813a9 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 @@ -372,9 +372,9 @@ Pode comandar dispositivos Chrome Cast, incluindo partilhar abas {{< 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#L170-L174" >}} +{{< /tab >}} {{< tab header="CSharp" >}} {{< badge-code >}} {{< /tab >}} @@ -399,7 +399,7 @@ please refer to the {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L204-L210" >}} {{< /tab >}} {{< tab header="Python" >}} {{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L129-L135" >}} @@ -445,11 +445,11 @@ please refer to the {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L189" >}} +{{< /tab >}} +{{< tab header="Python" >}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L149" >}} {{< /tab >}} -{{% tab header="Python" %}} -{{< badge-code >}} -{{% /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..cf2dde607193 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 @@ -373,10 +373,9 @@ Chromedriver 和 Chrome 浏览器版本应该匹配, 如果它们不匹配, 驱 {{< tab header="Java" >}} {{< badge-code >}} {{< /tab >}} -{{% tab header="Python" %}} -{{< badge-code >}} -{{% /tab %}} -{{< tab header="CSharp" >}} +{{< tab header="Python" >}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L170-L174" >}} +{{< /tab >}}{{< tab header="CSharp" >}} {{< badge-code >}} {{< /tab >}} {{< tab header="Ruby" >}} @@ -400,7 +399,7 @@ Chromedriver 和 Chrome 浏览器版本应该匹配, 如果它们不匹配, 驱 {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L204-L210" >}} {{< /tab >}} {{< tab header="Python" >}} {{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L129-L135" >}} @@ -446,11 +445,11 @@ Chromedriver 和 Chrome 浏览器版本应该匹配, 如果它们不匹配, 驱 {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java#L189" >}} +{{< /tab >}} +{{< tab header="Python" >}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_chrome.py#L149" >}} {{< /tab >}} -{{% tab header="Python" %}} -{{< badge-code >}} -{{% /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..2bcae96e363d 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/edge.en.md +++ b/website_and_docs/content/documentation/webdriver/browsers/edge.en.md @@ -178,7 +178,7 @@ Set excluded arguments on options: {{< gh-codeblock path="/examples/ruby/spec/browsers/edge_spec.rb#L53" >}} {{< /tab >}} {{< tab header="JavaScript" >}} -{{< gh-codeblock path="/examples/javascript/test/getting_started/openEdgeTest.spec.js#L20-L23">}} +{{< gh-codeblock path="/examples/javascript/test/browser/edgeSpecificCaps.spec.js#L22">}} {{< /tab >}} {{< tab header="Kotlin" >}} {{< badge-code >}} @@ -239,7 +239,8 @@ Property key: `EdgeDriverService.EDGE_DRIVER_LOG_PROPERTY`\ Property value: `DriverService.LOG_STDOUT` or `DriverService.LOG_STDERR` {{% /tab %}} {{< tab header="Python" >}} -{{< badge-implementation >}} +{{< badge-version version="4.11" >}} +{{< gh-codeblock path="examples/python/tests/browsers/test_edge.py#L82" >}} {{< /tab >}} {{< tab header="CSharp" >}} {{< badge-implementation >}} @@ -373,9 +374,9 @@ You can drive Chrome Cast devices with Edge, including sharing tabs {{< 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#L170-L174" >}} +{{< /tab >}} {{< tab header="CSharp" >}} {{< badge-code >}} {{< /tab >}} @@ -396,7 +397,7 @@ You can simulate various network conditions. {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java#L198-L204" >}} {{< /tab >}} {{< tab header="Python" >}} {{< gh-codeblock path="/examples/python/tests/browsers/test_edge.py#L129-L135" >}} @@ -442,11 +443,11 @@ You can simulate various network conditions. {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java#L183" >}} +{{< /tab >}} +{{< tab header="Python" >}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_edge.py#L149" >}} {{< /tab >}} -{{% tab header="Python" %}} -{{< badge-code >}} -{{% /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..cf8098c55813 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/edge.ja.md +++ b/website_and_docs/content/documentation/webdriver/browsers/edge.ja.md @@ -170,7 +170,7 @@ MSEdgedriverには、ブラウザを起動するために使用されるいく {{< gh-codeblock path="/examples/ruby/spec/browsers/edge_spec.rb#L53" >}} {{< /tab >}} {{< tab header="JavaScript" >}} -{{< gh-codeblock path="/examples/javascript/test/getting_started/openEdgeTest.spec.js#L20-L23">}} +{{< gh-codeblock path="/examples/javascript/test/browser/edgeSpecificCaps.spec.js#L22">}} {{< /tab >}} {{< tab header="Kotlin" >}} {{< badge-code >}} @@ -229,7 +229,8 @@ MSEdgedriverには、ブラウザを起動するために使用されるいく プロパティ値:`DriverService.LOG_STDOUT` または `DriverService.LOG_STDERR` {{% /tab %}} {{< tab header="Python" >}} -{{< badge-implementation >}} +{{< badge-version version="4.11" >}} +{{< gh-codeblock path="examples/python/tests/browsers/test_edge.py#L82" >}} {{< /tab >}} {{< tab header="CSharp" >}} {{< badge-implementation >}} @@ -359,9 +360,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#L170-L174" >}} +{{< /tab >}} {{< tab header="CSharp" >}} {{< badge-code >}} {{< /tab >}} @@ -382,7 +383,7 @@ Edge を使用して Chrome Cast デバイスを操作し、タブを共有す {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java#L198-L204" >}} {{< /tab >}} {{< tab header="Python" >}} {{< gh-codeblock path="/examples/python/tests/browsers/test_edge.py#L129-L135" >}} @@ -428,11 +429,11 @@ Edge を使用して Chrome Cast デバイスを操作し、タブを共有す {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java#L183" >}} +{{< /tab >}} +{{< tab header="Python" >}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_edge.py#L149" >}} {{< /tab >}} -{{% tab header="Python" %}} -{{< badge-code >}} -{{% /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..23e7599d04d6 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 @@ -180,7 +180,7 @@ Set excluded arguments on options: {{< gh-codeblock path="/examples/ruby/spec/browsers/edge_spec.rb#L53" >}} {{< /tab >}} {{< tab header="JavaScript" >}} -{{< gh-codeblock path="/examples/javascript/test/getting_started/openEdgeTest.spec.js#L20-L23">}} +{{< gh-codeblock path="/examples/javascript/test/browser/edgeSpecificCaps.spec.js#L22">}} {{< /tab >}} {{< tab header="Kotlin" >}} {{< badge-code >}} @@ -241,7 +241,8 @@ Property key: `EdgeDriverService.EDGE_DRIVER_LOG_PROPERTY`\ Property value: `DriverService.LOG_STDOUT` or `DriverService.LOG_STDERR` {{% /tab %}} {{< tab header="Python" >}} -{{< badge-implementation >}} +{{< badge-version version="4.11" >}} +{{< gh-codeblock path="examples/python/tests/browsers/test_edge.py#L82" >}} {{< /tab >}} {{< tab header="CSharp" >}} {{< badge-implementation >}} @@ -375,9 +376,9 @@ You can drive Chrome Cast devices with Edge, including sharing tabs {{< 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#L170-L174" >}} +{{< /tab >}} {{< tab header="CSharp" >}} {{< badge-code >}} {{< /tab >}} @@ -398,7 +399,7 @@ You can simulate various network conditions. {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java#L198-L204" >}} {{< /tab >}} {{< tab header="Python" >}} {{< gh-codeblock path="/examples/python/tests/browsers/test_edge.py#L129-L135" >}} @@ -444,11 +445,11 @@ You can simulate various network conditions. {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java#L183" >}} +{{< /tab >}} +{{< tab header="Python" >}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_edge.py#L149" >}} {{< /tab >}} -{{% tab header="Python" %}} -{{< badge-code >}} -{{% /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..cce5a9e4e36e 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 @@ -180,7 +180,7 @@ Set excluded arguments on options: {{< gh-codeblock path="/examples/ruby/spec/browsers/edge_spec.rb#L53" >}} {{< /tab >}} {{< tab header="JavaScript" >}} -{{< gh-codeblock path="/examples/javascript/test/getting_started/openEdgeTest.spec.js#L20-L23">}} +{{< gh-codeblock path="/examples/javascript/test/browser/edgeSpecificCaps.spec.js#L22">}} {{< /tab >}} {{< tab header="Kotlin" >}} {{< badge-code >}} @@ -241,7 +241,8 @@ Property key: `EdgeDriverService.EDGE_DRIVER_LOG_PROPERTY`\ Property value: `DriverService.LOG_STDOUT` or `DriverService.LOG_STDERR` {{% /tab %}} {{< tab header="Python" >}} -{{< badge-implementation >}} +{{< badge-version version="4.11" >}} +{{< gh-codeblock path="examples/python/tests/browsers/test_edge.py#L82" >}} {{< /tab >}} {{< tab header="CSharp" >}} {{< badge-implementation >}} @@ -375,9 +376,9 @@ You can drive Chrome Cast devices with Edge, including sharing tabs {{< 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#L170-L174" >}} +{{< /tab >}} {{< tab header="CSharp" >}} {{< badge-code >}} {{< /tab >}} @@ -398,7 +399,7 @@ You can simulate various network conditions. {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java#L198-L204" >}} {{< /tab >}} {{< tab header="Python" >}} {{< gh-codeblock path="/examples/python/tests/browsers/test_edge.py#L129-L135" >}} @@ -444,11 +445,11 @@ You can simulate various network conditions. {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java#L183" >}} +{{< /tab >}} +{{< tab header="Python" >}} +{{< gh-codeblock path="/examples/python/tests/browsers/test_edge.py#L149" >}} {{< /tab >}} -{{% tab header="Python" %}} -{{< badge-code >}} -{{% /tab %}} {{< tab header="CSharp" >}} {{< badge-code >}} {{< /tab >}} diff --git a/website_and_docs/content/documentation/webdriver/browsers/firefox.en.md b/website_and_docs/content/documentation/webdriver/browsers/firefox.en.md index bf5e46ce2a43..f2eac7c6b549 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/firefox.en.md +++ b/website_and_docs/content/documentation/webdriver/browsers/firefox.en.md @@ -61,7 +61,7 @@ Add an argument to options: {{< gh-codeblock path="/examples/ruby/spec/browsers/firefox_spec.rb#L17" >}} {{< /tab >}} {{< tab header="JavaScript" >}} -{{< gh-codeblock path="/examples/javascript/test/browser/firefoxSpecificFunctionalities.spec.js#L12-L14">}} +{{< gh-codeblock path="/examples/javascript/test/browser/firefoxSpecificFunctionalities.spec.js#L12">}} {{< /tab >}} {{< tab header="Kotlin" >}} {{< badge-code >}} @@ -414,7 +414,7 @@ please refer to the {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/FirefoxTest.java#L181" >}} {{< /tab >}} {{< tab header="Python" >}} {{< gh-codeblock path="/examples/python/tests/browsers/test_firefox.py#L139" >}} @@ -441,7 +441,7 @@ please refer to the {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/FirefoxTest.java#L197-L198" >}} {{< /tab >}} {{< tab header="Python" >}} {{< gh-codeblock path="/examples/python/tests/browsers/test_firefox.py#L149-L150" >}} diff --git a/website_and_docs/content/documentation/webdriver/browsers/firefox.ja.md b/website_and_docs/content/documentation/webdriver/browsers/firefox.ja.md index dc97ef6e6d25..126638d5acb8 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/firefox.ja.md +++ b/website_and_docs/content/documentation/webdriver/browsers/firefox.ja.md @@ -64,7 +64,7 @@ Firefox に固有のCapabilityは、Mozilla のページの [firefoxOptions](htt {{< gh-codeblock path="/examples/ruby/spec/browsers/firefox_spec.rb#L17" >}} {{< /tab >}} {{< tab header="JavaScript" >}} -{{< gh-codeblock path="/examples/javascript/test/browser/firefoxSpecificFunctionalities.spec.js#L12-L14">}} +{{< gh-codeblock path="/examples/javascript/test/browser/firefoxSpecificFunctionalities.spec.js#L12">}} {{< /tab >}} {{< tab header="Kotlin" >}} {{< badge-code >}} @@ -412,7 +412,7 @@ IDはアドオンインストール時の戻り値から取得できます。 {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/FirefoxTest.java#L181" >}} {{< /tab >}} {{< tab header="Python" >}} {{< gh-codeblock path="/examples/python/tests/browsers/test_firefox.py#L139" >}} @@ -437,7 +437,7 @@ IDはアドオンインストール時の戻り値から取得できます。 {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/FirefoxTest.java#L197-L198" >}} {{< /tab >}} {{< tab header="Python" >}} {{< gh-codeblock path="/examples/python/tests/browsers/test_firefox.py#L149-L150" >}} diff --git a/website_and_docs/content/documentation/webdriver/browsers/firefox.pt-br.md b/website_and_docs/content/documentation/webdriver/browsers/firefox.pt-br.md index 52964b50e405..f36890f487da 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/firefox.pt-br.md +++ b/website_and_docs/content/documentation/webdriver/browsers/firefox.pt-br.md @@ -63,7 +63,7 @@ Adicione uma opção: {{< gh-codeblock path="/examples/ruby/spec/browsers/firefox_spec.rb#L17" >}} {{< /tab >}} {{< tab header="JavaScript" >}} -{{< gh-codeblock path="/examples/javascript/test/browser/firefoxSpecificFunctionalities.spec.js#L12-L14">}} +{{< gh-codeblock path="/examples/javascript/test/browser/firefoxSpecificFunctionalities.spec.js#L12">}} {{< /tab >}} {{< tab header="Kotlin" >}} {{< badge-code >}} @@ -419,7 +419,7 @@ please refer to the {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/FirefoxTest.java#L181" >}} {{< /tab >}} {{< tab header="Python" >}} {{< gh-codeblock path="/examples/python/tests/browsers/test_firefox.py#L139" >}} @@ -446,7 +446,7 @@ please refer to the {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/FirefoxTest.java#L197-L198" >}} {{< /tab >}} {{< tab header="Python" >}} {{< gh-codeblock path="/examples/python/tests/browsers/test_firefox.py#L149-L150" >}} diff --git a/website_and_docs/content/documentation/webdriver/browsers/firefox.zh-cn.md b/website_and_docs/content/documentation/webdriver/browsers/firefox.zh-cn.md index 662d48020ebb..b56e5f62b742 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/firefox.zh-cn.md +++ b/website_and_docs/content/documentation/webdriver/browsers/firefox.zh-cn.md @@ -63,7 +63,7 @@ Add an argument to options: {{< gh-codeblock path="/examples/ruby/spec/browsers/firefox_spec.rb#L17" >}} {{< /tab >}} {{< tab header="JavaScript" >}} -{{< gh-codeblock path="/examples/javascript/test/browser/firefoxSpecificFunctionalities.spec.js#L12-L14">}} +{{< gh-codeblock path="/examples/javascript/test/browser/firefoxSpecificFunctionalities.spec.js#L12">}} {{< /tab >}} {{< tab header="Kotlin" >}} {{< badge-code >}} @@ -416,7 +416,7 @@ please refer to the {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/FirefoxTest.java#L181" >}} {{< /tab >}} {{< tab header="Python" >}} {{< gh-codeblock path="/examples/python/tests/browsers/test_firefox.py#L139" >}} @@ -443,7 +443,7 @@ please refer to the {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="/examples/java/src/test/java/dev/selenium/browsers/FirefoxTest.java#L197-L198" >}} {{< /tab >}} {{< tab header="Python" >}} {{< gh-codeblock path="/examples/python/tests/browsers/test_firefox.py#L149-L150" >}} diff --git a/website_and_docs/content/documentation/webdriver/browsers/safari.en.md b/website_and_docs/content/documentation/webdriver/browsers/safari.en.md index d54f928d2580..757b9cd1b066 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/safari.en.md +++ b/website_and_docs/content/documentation/webdriver/browsers/safari.en.md @@ -39,7 +39,7 @@ Starting a Safari session with basic defined options looks like this: {{< gh-codeblock path="/examples/ruby/spec/browsers/safari_spec.rb#L8-L9" >}} {{< /tab >}} {{< tab header="JavaScript" text=true >}} -{{< gh-codeblock path="/examples/javascript/test/browser/safariSpecificCap.spec.js#L10-L12" >}} +{{< gh-codeblock path="/examples/javascript/test/browser/safariSpecificCap.spec.js#L8-L11" >}} {{< /tab >}} {{< tab header="Kotlin" >}} val options = SafariOptions() @@ -93,7 +93,7 @@ Apple provides a development version of their browser — [Safari Technology Pre {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/SafariTest.java#L39-L40" >}} {{< /tab >}} {{% tab header="Python" %}} {{< gh-codeblock path="examples/python/tests/browsers/test_safari.py#L25-L30" >}} diff --git a/website_and_docs/content/documentation/webdriver/browsers/safari.ja.md b/website_and_docs/content/documentation/webdriver/browsers/safari.ja.md index 86a427ecbff6..a15036dab0b3 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/safari.ja.md +++ b/website_and_docs/content/documentation/webdriver/browsers/safari.ja.md @@ -38,7 +38,7 @@ Starting a Safari session with basic defined options looks like this: {{< gh-codeblock path="/examples/ruby/spec/browsers/safari_spec.rb#L8-L9" >}} {{< /tab >}} {{< tab header="JavaScript" text=true >}} -{{< gh-codeblock path="/examples/javascript/test/browser/safariSpecificCap.spec.js#L10-L12" >}} +{{< gh-codeblock path="/examples/javascript/test/browser/safariSpecificCap.spec.js#L8-L11" >}} {{< /tab >}} {{< tab header="Kotlin" >}} val options = SafariOptions() @@ -93,7 +93,7 @@ To use this version in your code: {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/SafariTest.java#L39-L40" >}} {{< /tab >}} {{% tab header="Python" %}} {{< gh-codeblock path="examples/python/tests/browsers/test_safari.py#L25-L30" >}} diff --git a/website_and_docs/content/documentation/webdriver/browsers/safari.pt-br.md b/website_and_docs/content/documentation/webdriver/browsers/safari.pt-br.md index 7def4aa1c493..0ef447205626 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/safari.pt-br.md +++ b/website_and_docs/content/documentation/webdriver/browsers/safari.pt-br.md @@ -38,7 +38,7 @@ Este é um exemplo de como iniciar uma sessão Safari com um conjunto de opçõe {{< gh-codeblock path="/examples/ruby/spec/browsers/safari_spec.rb#L8-L9" >}} {{< /tab >}} {{< tab header="JavaScript" text=true >}} -{{< gh-codeblock path="/examples/javascript/test/browser/safariSpecificCap.spec.js#L10-L12" >}} +{{< gh-codeblock path="/examples/javascript/test/browser/safariSpecificCap.spec.js#L8-L11" >}} {{< /tab >}} {{< tab header="Kotlin" >}} val options = SafariOptions() @@ -93,7 +93,7 @@ To use this version in your code: {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/SafariTest.java#L39-L40" >}} {{< /tab >}} {{% tab header="Python" %}} {{< gh-codeblock path="examples/python/tests/browsers/test_safari.py#L25-L30" >}} diff --git a/website_and_docs/content/documentation/webdriver/browsers/safari.zh-cn.md b/website_and_docs/content/documentation/webdriver/browsers/safari.zh-cn.md index 07b63b1543b4..d55da00b60b2 100644 --- a/website_and_docs/content/documentation/webdriver/browsers/safari.zh-cn.md +++ b/website_and_docs/content/documentation/webdriver/browsers/safari.zh-cn.md @@ -38,7 +38,7 @@ Safari独有的Capabilities可以在Apple的页面[关于Safari的WebDriver](htt {{< gh-codeblock path="/examples/ruby/spec/browsers/safari_spec.rb#L8-L9" >}} {{< /tab >}} {{< tab header="JavaScript" text=true >}} -{{< gh-codeblock path="/examples/javascript/test/browser/safariSpecificCap.spec.js#L10-L12" >}} +{{< gh-codeblock path="/examples/javascript/test/browser/safariSpecificCap.spec.js#L8-L11" >}} {{< /tab >}} {{< tab header="Kotlin" >}} val options = SafariOptions() @@ -97,7 +97,7 @@ Apple 提供了其浏览器的开发版本 — [Safari Technology Preview](https {{< tabpane text=true >}} {{< tab header="Java" >}} -{{< badge-code >}} +{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/browsers/SafariTest.java#L39-L40" >}} {{< /tab >}} {{% tab header="Python" %}} {{< gh-codeblock path="examples/python/tests/browsers/test_safari.py#L25-L30" >}} diff --git a/website_and_docs/content/project/structure/_index.html b/website_and_docs/content/project/structure/_index.html index f14d9ef9a940..0f97c7254178 100644 --- a/website_and_docs/content/project/structure/_index.html +++ b/website_and_docs/content/project/structure/_index.html @@ -41,6 +41,7 @@

Technical Leadership Committee

{{< gh-user "https://api.github.com/users/p0deje" >}} {{< gh-user "https://api.github.com/users/pujagani" >}} {{< gh-user "https://api.github.com/users/Harsha509" >}} + {{< gh-user "https://api.github.com/users/bonigarcia" >}}
diff --git a/website_and_docs/content/sponsors/_index.html b/website_and_docs/content/sponsors/_index.html index 2fcc33ca15ce..a19ec3257e97 100644 --- a/website_and_docs/content/sponsors/_index.html +++ b/website_and_docs/content/sponsors/_index.html @@ -15,7 +15,7 @@

Sponsors

The following companies have sponsored the Selenium project. We thank - each and every one of them for their generous support. + each one of them for their generous support.

-{{< /blocks/section >}} \ No newline at end of file +{{< /blocks/section >}} diff --git a/website_and_docs/layouts/partials/bronze-level-sponsors.html b/website_and_docs/layouts/partials/bronze-level-sponsors.html index 3b6d3ddbbf19..3b0b924c5811 100644 --- a/website_and_docs/layouts/partials/bronze-level-sponsors.html +++ b/website_and_docs/layouts/partials/bronze-level-sponsors.html @@ -1,6 +1,6 @@ {{ if .Data.sponsors.bronze.enable }}
-

Bronze Level Sponsors

+

Bronze Level Sponsors

{{ range .Data.sponsors.bronze.item }} diff --git a/website_and_docs/layouts/partials/development-level-sponsors.html b/website_and_docs/layouts/partials/development-level-sponsors.html index b30c73e60ebe..cb411082497f 100644 --- a/website_and_docs/layouts/partials/development-level-sponsors.html +++ b/website_and_docs/layouts/partials/development-level-sponsors.html @@ -1,6 +1,6 @@ {{ if .Data.sponsors.selenium.enable }}
-

Development Partners

+

Development Partners

{{ range .Data.sponsors.development.item }} diff --git a/website_and_docs/layouts/partials/gold-level-sponsors.html b/website_and_docs/layouts/partials/gold-level-sponsors.html index 968347f544d7..327308ed4d26 100644 --- a/website_and_docs/layouts/partials/gold-level-sponsors.html +++ b/website_and_docs/layouts/partials/gold-level-sponsors.html @@ -1,6 +1,6 @@ {{ if .Data.sponsors.gold.enable }}
-

Gold Level Sponsors

+

Gold Level Sponsors

{{ range .Data.sponsors.gold.item }} diff --git a/website_and_docs/layouts/partials/open-collective-level-sponsors.html b/website_and_docs/layouts/partials/open-collective-level-sponsors.html new file mode 100644 index 000000000000..ae0b7078916f --- /dev/null +++ b/website_and_docs/layouts/partials/open-collective-level-sponsors.html @@ -0,0 +1,7 @@ +
+

OpenCollective Sponsors

+
+ +
+ +
diff --git a/website_and_docs/layouts/partials/platinum-level-sponsors.html b/website_and_docs/layouts/partials/platinum-level-sponsors.html index 076f80473ab3..5ae5cf1f3c67 100644 --- a/website_and_docs/layouts/partials/platinum-level-sponsors.html +++ b/website_and_docs/layouts/partials/platinum-level-sponsors.html @@ -1,6 +1,6 @@ {{ if .Data.sponsors.platinum.enable }}
-

Platinum Level Sponsors

+

Platinum Level Sponsors

{{ range .Data.sponsors.platinum.item }} diff --git a/website_and_docs/layouts/partials/selenium-level-sponsors.html b/website_and_docs/layouts/partials/selenium-level-sponsors.html index 599d1a02acfa..25b71c321787 100644 --- a/website_and_docs/layouts/partials/selenium-level-sponsors.html +++ b/website_and_docs/layouts/partials/selenium-level-sponsors.html @@ -1,6 +1,6 @@ {{ if .Data.sponsors.selenium.enable }}
-

Selenium Level Sponsors

+

Selenium Level Sponsors

{{ range .Data.sponsors.selenium.item }} diff --git a/website_and_docs/layouts/partials/silver-level-sponsors.html b/website_and_docs/layouts/partials/silver-level-sponsors.html index 37bb402237de..011397353227 100644 --- a/website_and_docs/layouts/partials/silver-level-sponsors.html +++ b/website_and_docs/layouts/partials/silver-level-sponsors.html @@ -1,6 +1,6 @@ {{ if .Data.sponsors.silver.enable }}
-

Silver Level Sponsors

+

Silver Level Sponsors

{{ range .Data.sponsors.silver.item }} diff --git a/website_and_docs/layouts/sponsors/list.html b/website_and_docs/layouts/sponsors/list.html index 3aa700711bc5..022c25074770 100644 --- a/website_and_docs/layouts/sponsors/list.html +++ b/website_and_docs/layouts/sponsors/list.html @@ -11,6 +11,7 @@ {{ partial "gold-level-sponsors.html" (dict "Data" $.Site.Data) }} {{ partial "silver-level-sponsors.html" (dict "Data" $.Site.Data) }} {{ partial "bronze-level-sponsors.html" (dict "Data" $.Site.Data) }} +{{ partial "open-collective-level-sponsors.html" }}
@@ -24,4 +25,5 @@

Sponsoring

+ {{ end }} diff --git a/website_and_docs/package-lock.json b/website_and_docs/package-lock.json index 18a7da75d1b4..08529751ff8d 100644 --- a/website_and_docs/package-lock.json +++ b/website_and_docs/package-lock.json @@ -10,7 +10,7 @@ "license": "Apache-2.0", "dependencies": { "autoprefixer": "^10.4.20", - "postcss": "^8.4.48", + "postcss": "^8.4.49", "postcss-cli": "^11.0.0" } }, @@ -577,9 +577,9 @@ } }, "node_modules/postcss": { - "version": "8.4.48", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.48.tgz", - "integrity": "sha512-GCRK8F6+Dl7xYniR5a4FYbpBzU8XnZVeowqsQFYdcXuSbChgiks7qybSkbvnaeqv0G0B+dd9/jJgH8kkLDQeEA==", + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", "funding": [ { "type": "opencollective", @@ -1285,9 +1285,9 @@ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" }, "postcss": { - "version": "8.4.48", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.48.tgz", - "integrity": "sha512-GCRK8F6+Dl7xYniR5a4FYbpBzU8XnZVeowqsQFYdcXuSbChgiks7qybSkbvnaeqv0G0B+dd9/jJgH8kkLDQeEA==", + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", "requires": { "nanoid": "^3.3.7", "picocolors": "^1.1.1", diff --git a/website_and_docs/package.json b/website_and_docs/package.json index 0bae5f8b4fbb..aa478f4859f3 100644 --- a/website_and_docs/package.json +++ b/website_and_docs/package.json @@ -10,7 +10,7 @@ "license": "Apache-2.0", "dependencies": { "autoprefixer": "^10.4.20", - "postcss": "^8.4.48", + "postcss": "^8.4.49", "postcss-cli": "^11.0.0" } }