-2. Search for **Sauce Labs**, then select the [**Sauce Labs**](https://www.okta.com/integrations/sauce-labs-0/) app.
+2. Search for **Sauce Labs**, then select the [**Sauce Labs**](https://www.okta.com/integrations/sauce-labs/) app.
:::caution
Ensure that you install the new Sauce Labs app featuring the green logo. The app with the previous red logo is considered a legacy version and should not be used for new SSO integrations. It is integrated with the deprecated SSO implementation.
:::
diff --git a/docs/basics/test-config-annotation/test-config.md b/docs/basics/test-config-annotation/test-config.md
index 7f40c47b47..2c85183340 100644
--- a/docs/basics/test-config-annotation/test-config.md
+++ b/docs/basics/test-config-annotation/test-config.md
@@ -180,7 +180,7 @@ name:'S5 real device google.com'
### Examples for Mobile Native Application Tests
-This following includes tips and examples of how to configure your mobile native app tests with Appium. For more detailed descriptions about the capabilities of Appium tests, check out the [Server Capabilities](http://appium.io/slate/en/master/?python#appium-server-capabilities) section of the official Appium website. All examples are for Java, but you can use the [Platform Configurator](https://saucelabs.com/platform/platform-configurator#/) to set the capabilities in the language of your choice.
+This following includes tips and examples of how to configure your mobile native app tests with Appium. For more detailed descriptions about the capabilities of Appium tests, check out the [Server Capabilities](https://appium.io/docs/en/latest/guides/caps/) section of the official Appium website. All examples are for Java, but you can use the [Platform Configurator](https://saucelabs.com/platform/platform-configurator/) to set the capabilities in the language of your choice.
### Mobile Native Application Test Configuration Tips
diff --git a/docs/dev/api/connect.md b/docs/dev/api/connect.md
index 6e9ce74207..e7434da261 100644
--- a/docs/dev/api/connect.md
+++ b/docs/dev/api/connect.md
@@ -360,7 +360,7 @@ curl -u "$SAUCE_USERNAME:$SAUCE_ACCESS_KEY" --location \
"sha1" : "
diff --git a/docs/dev/cli/saucectl/usage/ide/vscode.md b/docs/dev/cli/saucectl/usage/ide/vscode.md
index 6a64e39017..8e5d269d13 100644
--- a/docs/dev/cli/saucectl/usage/ide/vscode.md
+++ b/docs/dev/cli/saucectl/usage/ide/vscode.md
@@ -17,7 +17,7 @@ Visual Studio Code can help you edit the `saucectl` configuration files by provi
## JSON Schema Validation
-Our JSON schema is published to the [JSON Schema Store](https://www.schemastore.org/json/), which is made available to Visual Studio Code.
+Our JSON schema is published to the [JSON Schema Store](https://www.schemastore.org/), which is made available to Visual Studio Code.
:::caution Default Limitations
By default, JSON Schema validation _only_ works with JSON files, not YAML. So make sure to have the YAML extension installed or this will not work.
diff --git a/docs/dev/cli/saucectl/usage/ide/zed.md b/docs/dev/cli/saucectl/usage/ide/zed.md
index 01f95372fc..443e3b9431 100644
--- a/docs/dev/cli/saucectl/usage/ide/zed.md
+++ b/docs/dev/cli/saucectl/usage/ide/zed.md
@@ -16,7 +16,7 @@ Zed can help you edit the `saucectl` configuration files by providing helpful su
## JSON Schema Validation
-Our JSON schema is published to the [JSON Schema Store](https://www.schemastore.org/json/), which is made available to Zed.
+Our JSON schema is published to the [JSON Schema Store](https://www.schemastore.org/), which is made available to Zed.
If your `saucectl` config YAML is stored in a `.sauce/` folder, Zed will automatically apply the schema to all YAML files contained in that folder and no further action is required.
diff --git a/docs/dev/test-configuration-options.md b/docs/dev/test-configuration-options.md
index 91827b94e6..952401b0cb 100644
--- a/docs/dev/test-configuration-options.md
+++ b/docs/dev/test-configuration-options.md
@@ -183,7 +183,7 @@ Describes the current session’s user prompt handler. The default value is `"di
| BOOLEAN | Desktop Only | BETA |
-Enables [W3C WebDriver BiDi](https://w3c.github.io/webdriver-bidi/) support. This allows Selenium 4 clients to use [Bi-Directional functionality](https://www.selenium.dev/documentation/webdriver/bidirectional/). It also enables BiDi for other test frameworks, like [WebDriverIO](https://webdriver.io/docs/api/webdriverBidi/). In particular, this capability exposes the WebSocket endpoint which is available under `webSocketUrl` field in session startup response body. This endpoint can be used to issue WebDriver BiDi commands as described by the [specification](https://w3c.github.io/webdriver-bidi/). The default value is `false`. +Enables [W3C WebDriver BiDi](https://w3c.github.io/webdriver-bidi/) support. This allows Selenium 4 clients to use [Bi-Directional functionality](https://www.selenium.dev/documentation/webdriver/bidi/). It also enables BiDi for other test frameworks, like [WebDriverIO](https://webdriver.io/docs/api/webdriverBidi/). In particular, this capability exposes the WebSocket endpoint which is available under `webSocketUrl` field in session startup response body. This endpoint can be used to issue WebDriver BiDi commands as described by the [specification](https://w3c.github.io/webdriver-bidi/). The default value is `false`. The `webSocketUrl` capability is **not compatible** with [`extendedDebugging`](#extendeddebugging) capability. @@ -370,7 +370,7 @@ Sets idle test timeout in seconds. As a safety measure to prevent tests from run| OPTIONAL | BOOLEAN | Desktop Only | BETA |
-Enables [Chrome DevTools Protocol](https://chromedevtools.github.io/devtools-protocol/) support, which is disabled by default on Sauce Labs platform. This allows Selenium 4 clients to use [Bi-Directional functionality](https://www.selenium.dev/documentation/webdriver/bidirectional/). In particular, this capability exposes the WebSocket endpoint which is available under `se:cdp` field in session startup response body. This endpoint can be used to issue Chrome DevTools Protocol commands as described by the [specification](https://chromedevtools.github.io/devtools-protocol/). The default value is `false`. +Enables [Chrome DevTools Protocol](https://chromedevtools.github.io/devtools-protocol/) support, which is disabled by default on Sauce Labs platform. This allows Selenium 4 clients to use [Bi-Directional functionality](https://www.selenium.dev/documentation/webdriver/bidi/). In particular, this capability exposes the WebSocket endpoint which is available under `se:cdp` field in session startup response body. This endpoint can be used to issue Chrome DevTools Protocol commands as described by the [specification](https://chromedevtools.github.io/devtools-protocol/). The default value is `false`. The `devTools` capability is **not compatible** with [`extendedDebugging`](#extendeddebugging) capability. @@ -650,7 +650,7 @@ If neither [`appium:app`](#appiumapp), [`browserName`](#browsername-1) or `appiu ::: :::tip -You can get the current activity by using the Appium [`currentActivity`](https://appium.io/docs/en/commands/device/activity/current-activity/) command. This is the Appium 1 command, but will also work with Appium 2. +You can get the current activity by using the Appium [`currentActivity`](https://appium.io/docs/en/latest/) command. This is the Appium 1 command, but will also work with Appium 2. ::: ```java @@ -894,8 +894,8 @@ Using Appium 2? Prevent `appium:`-prefix repetitiveness and start using [`appium As with Selenium Tests, Appium also supports different types of timeouts like: -- [Implicit Wait Timeout](https://appium.io/docs/en/commands/session/timeouts/implicit-wait/#set-implicit-wait-timeout): Set the amount of time the driver should wait when searching for elements -- [Script Timeouts](https://appium.io/docs/en/commands/session/timeouts/async-script/index.html): Sets the amount of time, in milliseconds, that asynchronous scripts executed by [execute async](https://appium.io/docs/en/commands/web/execute-async/index.html) are permitted to run before they are cancelled (Web context only) +- [Implicit Wait Timeout](https://appium.io/docs/en/latest/): Set the amount of time the driver should wait when searching for elements +- [Script Timeouts](https://appium.io/docs/en/latest/): Sets the amount of time, in milliseconds, that asynchronous scripts executed by **[execute async](https://appium.io/docs/en/latest/)** are permitted to run before they are cancelled (Web context only) These timeouts can be controlled by the driver during the test session. There are timeouts that can be set as a capability for when you start the driver and can be driver specific. diff --git a/docs/error-reporting/advanced/client-tools-unix.md b/docs/error-reporting/advanced/client-tools-unix.md index 0cceedce89..90da65e528 100644 --- a/docs/error-reporting/advanced/client-tools-unix.md +++ b/docs/error-reporting/advanced/client-tools-unix.md @@ -89,4 +89,4 @@ $ yum install backtrace-hydra $ apt-get install backtrace-hydra ``` -Once installed, you may want to [configure Hydra](https://help.backtrace.io/advanced/component-hydra/hydra-setup). +Once installed, you may want to [configure Hydra](https://docs.saucelabs.com/error-reporting/advanced/hydra/setup/). diff --git a/docs/error-reporting/platform-integrations/unity/setup.md b/docs/error-reporting/platform-integrations/unity/setup.md index e41120d971..a991d199c1 100644 --- a/docs/error-reporting/platform-integrations/unity/setup.md +++ b/docs/error-reporting/platform-integrations/unity/setup.md @@ -47,7 +47,7 @@ Offline database capabilities are currently not supported for Nintendo Switch. ::: :::note -The iOS SDK contains a privacy manifest to declare the types of data accessed on the device. Please refer to this [source document](https://github.com/backtrace-labs/backtrace-unity/blob/master/iOS/PrivacyInfo.xcprivacy) for the specific types of data collected by the SDK. +The iOS SDK contains a privacy manifest to declare the types of data accessed on the device. Please refer to this [source document](https://github.com/backtrace-labs/backtrace-unity/blob/master/iOS/CrashReporter.xcframework/PrivacyInfo.xcprivacy) for the specific types of data collected by the SDK. ::: ## What You'll Need diff --git a/docs/insights/debug.md b/docs/insights/debug.md index 6e1df58e4a..f18ec1ae50 100644 --- a/docs/insights/debug.md +++ b/docs/insights/debug.md @@ -456,7 +456,7 @@ The JS console collects security errors, warnings, and messages that are explici ``` { - "http://webdriver.io/api/action/click.html":[ + "https://webdriver.io/docs/api/element/click":[ { "level":"error", "column":0, diff --git a/docs/mobile-apps/automated-testing/appium.md b/docs/mobile-apps/automated-testing/appium.md index 6e16808e6e..0fbc0dbe4e 100644 --- a/docs/mobile-apps/automated-testing/appium.md +++ b/docs/mobile-apps/automated-testing/appium.md @@ -40,7 +40,7 @@ npm install -g appium ### Installing a Client -The Appium client is the app in which you write your test scripts and instruct Appium how and where to run them. Appium provides [client libraries](http://appium.io/downloads) for a variety of programming languages, so choose your favorite and download it to start creating tests for your mobile app or mobile browser app. Many of the examples throughout this documentation use the [JavaScript WebDriverIO client](https://webdriver.io/). +The Appium client is the app in which you write your test scripts and instruct Appium how and where to run them. Appium provides [client libraries](https://appium.io/docs/en/latest/quickstart/install/) for a variety of programming languages, so choose your favorite and download it to start creating tests for your mobile app or mobile browser app. Many of the examples throughout this documentation use the [JavaScript WebDriverIO client](https://webdriver.io/). :::tip Appium Doctor Use Appium's dependency validator CLI `appium-doctor` to ensure your installation is ready to go for your Android or iOS tests. diff --git a/docs/mobile-apps/automated-testing/appium/real-devices.md b/docs/mobile-apps/automated-testing/appium/real-devices.md index 7d21b4157d..12c1330ff5 100644 --- a/docs/mobile-apps/automated-testing/appium/real-devices.md +++ b/docs/mobile-apps/automated-testing/appium/real-devices.md @@ -123,7 +123,7 @@ values={[ :::note -You can avoid having to add the `appium:` prefix to Appium specific capabilities by upgrading your [Appium client library](http://appium.io/docs/en/about-appium/appium-clients/) to a version that automatically applies the prefix. +You can avoid having to add the `appium:` prefix to Appium specific capabilities by upgrading your **[Appium client library](https://appium.io/docs/en/latest/ecosystem/clients/)** to a version that automatically applies the prefix. ::: ## Configuring Appium Tests for Real Devices @@ -154,7 +154,7 @@ You can also install a dependent app or an app upgrade during a test by using th ```js title=Driver App Example driver.installApp( -'https://github.com/saucelabs/my-demo-app-rn/releases/download/v1.3.0/Android-MyDemoAppRN.apk' +'https://github.com/saucelabs/my-demo-app-rn/releases/download/v1.3.0/Android-MyDemoAppRN.1.3.0.build-244.apk' ) ``` @@ -167,7 +167,7 @@ driver.installApp( ::: -For more information about this command, see the [Appium documentation](http://appium.io/docs/en/commands/device/app/install-app/). +For more information about this command, see the [Appium documentation](https://appium.io/docs/en/latest/reference/api/appium/#installapp). ### Excluding the `browserName` diff --git a/docs/mobile-apps/automated-testing/appium/test-app-upgrades.md b/docs/mobile-apps/automated-testing/appium/test-app-upgrades.md index 29f4ed2bf6..fd54c90247 100644 --- a/docs/mobile-apps/automated-testing/appium/test-app-upgrades.md +++ b/docs/mobile-apps/automated-testing/appium/test-app-upgrades.md @@ -13,7 +13,7 @@ As app developers, we often release newer versions of our applications to custom But app upgrades aren't the only scenario where you might need to install apps during a running session. Sometimes, your app's functionality might rely on other dependent applications. In such cases, testing your app's interplay with these dependencies becomes essential. For instance, if your application pulls data from or interacts with another app, you'd want to ensure that this interaction remains smooth even after an upgrade. This makes the ability to install dependent apps during a run an invaluable feature for comprehensive testing. -There are scenarios where you might want to delete an app and reinstall it again during a running session. For example, if you want to test the app's behavior when a user deletes and reinstalls it, you can use the mid-session install feature to accomplish this task. (Deleting apps can be done for [Android](https://github.com/appium/appium-uiautomator2-driver#mobile-removeapp) and [iOS](https://appium.github.io/appium-xcuitest-driver/4.32/execute-methods/#mobile-removeapp) command.) +There are scenarios where you might want to delete an app and reinstall it again during a running session. For example, if you want to test the app's behavior when a user deletes and reinstalls it, you can use the mid-session install feature to accomplish this task. (Deleting apps can be done for [Android](https://github.com/appium/appium-uiautomator2-driver#mobile-removeapp) and [iOS](https://appium.github.io/appium-xcuitest-driver/latest/reference/execute-methods/#mobile-removeapp) command.) :::caution Important Installing apps mid-session from the Sauce Storage is only supported in our Real Device Cloud. diff --git a/docs/mobile-apps/automated-testing/espresso-xcuitest/xctest.md b/docs/mobile-apps/automated-testing/espresso-xcuitest/xctest.md index 99ea2c854b..cc7ec934f1 100644 --- a/docs/mobile-apps/automated-testing/espresso-xcuitest/xctest.md +++ b/docs/mobile-apps/automated-testing/espresso-xcuitest/xctest.md @@ -8,7 +8,7 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -Apple's native testing framework, [XCTest](https://developer.apple.com/documentation/xctest), supports creating unit, UI, and performance tests. In XCTest, [XCUITest](https://developer.apple.com/documentation/xctest/user-interface-tests) is specifically designed for UI testing. Additionally, Apple allows you to organize and configure your tests into [Test Plans](https://developer.apple.com/documentation/xcode/organizing-tests-to-improve-feedback), enabling you to bundle multiple test targets into a single test run. +Apple's native testing framework, [XCTest](https://developer.apple.com/documentation/xctest), supports creating unit, UI, and performance tests. In XCTest, [XCUITest](https://developer.apple.com/documentation/xcuiautomation) is specifically designed for UI testing. Additionally, Apple allows you to organize and configure your tests into [Test Plans](https://developer.apple.com/documentation/xcode/organizing-tests-to-improve-feedback), enabling you to bundle multiple test targets into a single test run. **To run your XCTest plan on Sauce Labs infrastructure, we require the following test artifacts from you:** 1. All iOS apps that are part of your XCTest plan as an `.app` or `.ipa` file. diff --git a/docs/mobile-apps/features/biometric-authentication.md b/docs/mobile-apps/features/biometric-authentication.md index 5a20ba9217..227db1cbf6 100644 --- a/docs/mobile-apps/features/biometric-authentication.md +++ b/docs/mobile-apps/features/biometric-authentication.md @@ -190,4 +190,4 @@ As with iOS, when testing on Android Emulators, you can first perform a check to - Test script to validate successful biometric login - Test script to validate failed biometric login - Test script to exit out of biometric auth modal -- [Appium Documentation for iOS Simulator Touch ID](https://github.com/appium/appium-xcuitest-driver/blob/master/docs/touch-id.md) +- [Appium Documentation for iOS Simulator Touch ID](https://github.com/appium/appium-xcuitest-driver/blob/master/docs/guides/biometric-auth.md) diff --git a/docs/mobile-apps/features/camera-image-injection.md b/docs/mobile-apps/features/camera-image-injection.md index 7c556a4f25..a6f2a8b437 100644 --- a/docs/mobile-apps/features/camera-image-injection.md +++ b/docs/mobile-apps/features/camera-image-injection.md @@ -31,7 +31,7 @@ Camera Image Injection is available for testing on all Sauce Labs Android and iO | | Supported | Not Supported | | :------------------------ | :---------: | :-----------: | -| **Device Type ** | | | +| **Device Type** | | | | Android real devices | ✓ | | | iOS real devices | ✓ | | | Android Emulators | | ✕ | @@ -250,5 +250,5 @@ This error is displayed due to one or more of these reasons: ## Additional Resources -- [Sauce Labs Image Injection code examples (GitHub)](https://github.com/saucelabs-training/demo-js/tree/master/webdriverio/appium-app/examples/image-injection). +- [Sauce Labs Image Injection code examples (GitHub)](https://github.com/saucelabs-training/demo-js/tree/main/webdriverio/mobile-app). - [Android Camera API | Google Developer Documentation](https://developer.android.com/guide/topics/media/camera). diff --git a/docs/secure-connections/sauce-connect-4/setup-configuration/docker.md b/docs/secure-connections/sauce-connect-4/setup-configuration/docker.md index d25beb32c1..d4f1519726 100644 --- a/docs/secure-connections/sauce-connect-4/setup-configuration/docker.md +++ b/docs/secure-connections/sauce-connect-4/setup-configuration/docker.md @@ -221,6 +221,6 @@ You can change the Nginx container name with [container_name](https://docs.docke ## Additional Resources - [Use host networking in Docker](https://docs.docker.com/network/host/) -- [Connect from a container to a service on the macOS host](https://docs.docker.com/desktop/mac/networking/#use-cases-and-workarounds) +- [Connect from a container to a service on the macOS host](https://docs.docker.com/desktop/features/networking/) - [Helm charts](https://helm.sh/docs/topics/charts/) - [Docker Compose File](https://docs.docker.com/compose/compose-file/compose-file-v3/) diff --git a/docs/secure-connections/sauce-connect-5/installation/docker.md b/docs/secure-connections/sauce-connect-5/installation/docker.md index 7ecd9db237..b9fac9d2c0 100644 --- a/docs/secure-connections/sauce-connect-5/installation/docker.md +++ b/docs/secure-connections/sauce-connect-5/installation/docker.md @@ -202,5 +202,5 @@ See [Sauce Connect Proxy Readiness Checks](/secure-connections/sauce-connect-5/g - [Sauce Connect Proxy Readiness Checks](/secure-connections/sauce-connect-5/guides/readiness-checks) - [Use host networking in Docker](https://docs.docker.com/network/host/) -- [Connect from a container to a service on the macOS host](https://docs.docker.com/desktop/mac/networking/#use-cases-and-workarounds) +- [Connect from a container to a service on the macOS host](https://docs.docker.com/desktop/features/networking/) - [Docker Compose File](https://docs.docker.com/compose/compose-file/compose-file-v3/) diff --git a/docs/testfairy/api-reference/upload-api.md b/docs/testfairy/api-reference/upload-api.md index ff0e90454e..724b72b21b 100644 --- a/docs/testfairy/api-reference/upload-api.md +++ b/docs/testfairy/api-reference/upload-api.md @@ -74,7 +74,7 @@ https://app.testfairy.com/api/upload/ [fastlane](https://docs.fastlane.tools/actions/testfairy/) -[CircleCI](https://circleci.com/docs/2.0/deploying-ios/#uploading-to-testfairy) +[CircleCI](https://circleci.com/docs/guides/deploy/deploy-ios-applications/#upload-to-testfairy) [Bitrise](https://www.bitrise.io/integrations/steps/testfairy-deploy) diff --git a/docs/web-apps/automated-testing/_partials/_advanced-cypress.md b/docs/web-apps/automated-testing/_partials/_advanced-cypress.md index dd7e338e5d..da23263bff 100644 --- a/docs/web-apps/automated-testing/_partials/_advanced-cypress.md +++ b/docs/web-apps/automated-testing/_partials/_advanced-cypress.md @@ -37,5 +37,5 @@ saucectl run --env CYPRESS_TAGS="(@smoke or @ui) and (not @slow)" ## Component Testing -[This example](https://github.com/saucelabs/saucectl-cypress-example/tree/main/v1/examples/component-testing-react-cra5) +[This example](https://github.com/saucelabs/saucectl-cypress-example/tree/main/v1/examples/component-testing-react-vite-ts) showcases how use Cypress' Compontent Testing with saucectl. diff --git a/docs/web-apps/automated-testing/playwright/yaml.md b/docs/web-apps/automated-testing/playwright/yaml.md index 25db74c123..1a234ab820 100644 --- a/docs/web-apps/automated-testing/playwright/yaml.md +++ b/docs/web-apps/automated-testing/playwright/yaml.md @@ -1144,7 +1144,7 @@ suites:| OPTIONAL | STRING |
-Allows you to apply the configurations from your [Playwright project](https://playwright.dev/docs/test-advanced/#projects) to the suite. +Allows you to apply the configurations from your [Playwright project](https://playwright.dev/docs/test-projects) to the suite. :::note `saucectl` browserName overrides the Playwright project browserName in the event of a conflict. diff --git a/docs/web-apps/automated-testing/selenium/selenium4.md b/docs/web-apps/automated-testing/selenium/selenium4.md index 4aaa78b32a..e0418a60ba 100644 --- a/docs/web-apps/automated-testing/selenium/selenium4.md +++ b/docs/web-apps/automated-testing/selenium/selenium4.md @@ -1068,7 +1068,7 @@ capabilities.setCapability("browserName", BrowserType.FIREFOX);C# only
-The [`AddAdditionalCapability` capability](https://www.selenium.dev/selenium/docs/api/dotnet/html/M_OpenQA_Selenium_DriverOptions_AddAdditionalCapability.htm) is deprecated in Selenium 4. Instead, we recommend using `AddAdditionalOption`. +The [`AddAdditionalCapability` capability](https://www.selenium.dev/selenium/docs/api/dotnet/webdriver/OpenQA.Selenium.DriverOptions.html) is deprecated in Selenium 4. Instead, we recommend using `AddAdditionalOption`.