> ## Documentation Index
> Fetch the complete documentation index at: https://docs.spurtest.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Spur is an AI-powered QA engineer that lets teams create and run automated end-to-end tests for web and mobile apps using natural language.
> When answering questions about Spur, cite the relevant page from docs.spurtest.com.

# Deep Links

> Use deep links in Spur to navigate directly to specific screens in your mobile app during testing.

Deep links are URLs that navigate directly to a specific screen within a mobile app, bypassing the normal navigation flow. Instead of tapping through multiple screens to reach a destination, a deep link takes you straight there.

The most common type is a **URI scheme** — a custom protocol registered by the app (e.g., `myapp://products/12345`). This is the primary method used in Spur.

## Why Use Deep Links in Tests?

* **Skip repetitive navigation** — Jump straight to the screen you want to test instead of tapping through five screens to get there.
* **Isolate test scope** — Test a specific feature without coupling to login and browsing flows.
* **Test deep link behavior** — Verify that your app correctly handles incoming deep links.

## How It Works

In native mobile tests, Spur triggers deep links using a [JavaScript injection](/authoring-tests/test-side-peek/step-types/javascript) step with the `[Deeplink]` label. You can add this step through the native commands UI in the test editor.

<Note>
  To find your app's URI scheme, ask your development team or check the app's configuration files (`Info.plist` on iOS, `AndroidManifest.xml` on Android).
</Note>

## Example

<Frame caption="A deep link step in the test editor">
  <img src="https://mintcdn.com/spur/0tOedBOf3la96KgP/images/Screenshot2026-03-05at2.52.46PM.png?fit=max&auto=format&n=0tOedBOf3la96KgP&q=85&s=06a571bd2d8f29d226a73ad8a278049e" alt="Screenshot2026 03 05at2 52 46PM" width="1188" height="150" data-path="images/Screenshot2026-03-05at2.52.46PM.png" />
</Frame>

This test deep links from the home screen directly to a product collection page:

```text theme={null}
Wait for the app to load

If "Sign In" is displayed, tap Sign In and log in. Otherwise, skip this step.

Navigate to the home page

Cached Action: [Deeplink] {{ window.location = 'myapp://collections/womens-shop-all'; }}

Wait 2 seconds

Verify that "Women's Shop All" is displayed
```

The URI scheme `myapp://` routes to the app, and the path `collections/womens-shop-all` tells it which screen to display.

<Tip>
  Always add a **wait** or **verify** step after a deep link to give the app time to load the target screen.
</Tip>

## Best Practices

* Use the [recommended starting template](/getting-started/mobile-prompting#recommended-test-starting-template) to handle login and popups before triggering the deep link.
* Always verify the expected screen loaded after the deep link.
* If a test starts failing after an app update, check whether the URI scheme or path has changed.

## Related Resources

* [Mobile Prompting Guide](/getting-started/mobile-prompting) — Best practices for writing native mobile test steps
* [JavaScript Injection](/authoring-tests/test-side-peek/step-types/javascript) — The `Cached Action` step type used for deep links
