> ## 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.

# Scenario Tables

> Parameterize Spur tests with reusable scenario tables so one test runs across multiple data rows instead of duplicating nearly identical test cases.

## What are scenario tables?

Scenario Tables are a powerful feature in Spur that help you simplify and scale your test suites by using parameterized test data. Instead of creating multiple nearly identical tests with different inputs, you can write one test that dynamically runs through multiple scenarios defined in a table.

<Frame caption="Overview of Scenario Tables">
  <img src="https://mintcdn.com/spur/H3xqe3VyV7YeO-e5/images/Screenshot2026-02-05at2.58.27PM.png?fit=max&auto=format&n=H3xqe3VyV7YeO-e5&q=85&s=0d5ffa7bd263c8c58cff1a9f04a10794" alt="Screenshot 2026 02 05 At 2 58 27 PM" width="2178" height="1244" data-path="images/Screenshot2026-02-05at2.58.27PM.png" />
</Frame>

<Info>
  **Understanding the structure:**

  * Each **row** = one scenario (test variation)
  * Each **column** = one property (variable you'll use in tests)
</Info>

## How to set up scenario tables

### Step 1: Create your scenario table

Navigate to the **Scenario Tables** section in Spur and choose your preferred method:

<img src="https://mintcdn.com/spur/9IFtS_isfyhWoPyj/Screenshot2025-04-28at5.39.54PM.png?fit=max&auto=format&n=9IFtS_isfyhWoPyj&q=85&s=0e2ecefdabce617b0cedbcdf84743eb1" alt="Screenshot 2025-04-28 at 5.39.54 PM.png" width="646" height="132" data-path="Screenshot2025-04-28at5.39.54PM.png" />

<Tabs>
  <Tab title="Manual creation">
    <Note>
      Best for small datasets
    </Note>

    <Steps>
      <Step title="Click 'New Scenario'">
        Click the New Scenario button
      </Step>

      <Step title="Enter table details">
        * **Scenario Table Name**: Choose a descriptive name
        * **Description**: Explain what scenarios this table covers

                  <img src="https://mintcdn.com/spur/9IFtS_isfyhWoPyj/Screenshot2025-04-28at5.51.43PM.png?fit=max&auto=format&n=9IFtS_isfyhWoPyj&q=85&s=48c7e792d3dfc88752c1300d0bdc320b" alt="Screenshot 2025-04-28 at 5.51.43 PM.png" width="1092" height="976" data-path="Screenshot2025-04-28at5.51.43PM.png" />
      </Step>

      <Step title="Create your scenario">
        Click "Create Scenario"
      </Step>

      <Step title="Add your data">
        Add your data manually in the table editor
      </Step>

      <Step title="Save your changes">
        Click "Save Edits" when finished
      </Step>
    </Steps>

    <img src="https://mintcdn.com/spur/9IFtS_isfyhWoPyj/Screenshot2025-04-28at5.11.43PM.png?fit=max&auto=format&n=9IFtS_isfyhWoPyj&q=85&s=481913db4ee8b91c04347b95aa6e5159" alt="Screenshot 2025-04-28 at 5.11.43 PM.png" width="2554" height="790" data-path="Screenshot2025-04-28at5.11.43PM.png" />
  </Tab>

  <Tab title="Import via CSV">
    <Note>
      Recommended for bulk data
    </Note>

    <img src="https://mintcdn.com/spur/9IFtS_isfyhWoPyj/Screenshot2025-04-28at5.42.12PM.png?fit=max&auto=format&n=9IFtS_isfyhWoPyj&q=85&s=b7037994b924500ee552d9ca11204031" alt="Screenshot 2025-04-28 at 5.42.12 PM.png" width="1552" height="926" data-path="Screenshot2025-04-28at5.42.12PM.png" />

    <Steps>
      <Step title="Click 'Import via CSV'">
        Click the Import via CSV button in the Scenario Tables section
      </Step>

      <Step title="Prepare your CSV file">
        Follow this format:

        <img src="https://mintcdn.com/spur/M9lHLoA7TzDZQpbJ/images/image.png?fit=max&auto=format&n=M9lHLoA7TzDZQpbJ&q=85&s=43c513db07a46b16e55b110ef243b3b0" alt="image.png" width="2776" height="1410" data-path="images/image.png" />

        <Warning>
          **Important CSV requirements:**

          * First column must be "Scenario Name"
          * Property names cannot contain spaces
          * Each property name must be unique
          * Use underscores instead of spaces for column names (e.g., `user_email` instead of `user email`)
        </Warning>
      </Step>

      <Step title="Upload your CSV file">
        <img src="https://mintcdn.com/spur/9IFtS_isfyhWoPyj/Screenshot2025-04-28at5.47.37PM.png?fit=max&auto=format&n=9IFtS_isfyhWoPyj&q=85&s=9510be61a3ab69310e7c13d08a925fe6" alt="Screenshot 2025-04-28 at 5.47.37 PM.png" width="1538" height="878" data-path="Screenshot2025-04-28at5.47.37PM.png" />
      </Step>

      <Step title="Configure table details">
        * Enter **Scenario Table Name**
        * Add a clear **Description**
        * Review the preview to confirm correct import

                  <img src="https://mintcdn.com/spur/9IFtS_isfyhWoPyj/Screenshot2025-04-28at5.48.13PM.png?fit=max&auto=format&n=9IFtS_isfyhWoPyj&q=85&s=a5bf0464248683cbfed29471d15e7649" alt="Screenshot 2025-04-28 at 5.48.13 PM.png" width="1482" height="1120" data-path="Screenshot2025-04-28at5.48.13PM.png" />
      </Step>

      <Step title="Import your table">
        Click "Import" to create your table
      </Step>
    </Steps>
  </Tab>
</Tabs>

### Step 2: Connect your table to a test

<Warning>
  Scenario Tables must be connected to **Test Suites**, not individual tests. Once connected to a suite, all tests within that suite can use the scenario properties.
</Warning>

#### How it works

1. **Connect** the Scenario Table to a Test Suite
2. **Use** the properties `[property_name]` in any test within that suite
3. **Run** the suite to execute all scenarios across all tests

Now you'll connect your Scenario Table to a test suite. You can do this in two ways:

#### Option 1: Through the Test Suites menu

<Steps>
  <Step title="Go to Test Suites">
    Navigate to the Test Suites section
  </Step>

  <Step title="Select your test suite">
    Choose the test suite you want to connect to a scenario table
  </Step>

  <Step title="Access suite menu">
    Click the three-dot menu (⋯) next to your test suite
  </Step>

  <Step title="Connect scenario table">
    Select "Connect Scenario Table" from the dropdown menu
  </Step>

  <Step title="Choose your table">
    Select the scenario table you want to connect to this test suite
  </Step>
</Steps>

#### Option 2: Through the test editor

<Steps>
  <Step title="Create or edit a test">
    Open the test editor for your chosen test
  </Step>

  <Step title="Add scenario variables">
    In the test editor:

    * Type `[` to open the scenario variable menu
    * Select your Scenario Table (e.g., "Flight List Table")
    * Insert properties into test steps (e.g., "Type \[From\_city]")
  </Step>
</Steps>

<Tip>
  Property names will auto-complete as you type, making it easy to reference your scenario data.
</Tip>

<Card title="Learn more" icon="book">
  [Detailed guide for using Scenarios in Tests →](/authoring-tests/scenarios/scenarios)
</Card>

### Step 3: Run and monitor your tests

After saving your scenario-based test:

<Steps>
  <Step title="Execute your test">
    Click "Run" to execute all scenarios
  </Step>

  <Step title="View results">
    Check results in Run History, broken down by scenario:

    <img src="https://mintcdn.com/spur/9IFtS_isfyhWoPyj/Screenshot2025-04-28at6.05.04PM.png?fit=max&auto=format&n=9IFtS_isfyhWoPyj&q=85&s=2b595bec3a182125eb47a183de8bab57" alt="Screenshot 2025-04-28 at 6.05.04 PM.png" width="1288" height="728" data-path="Screenshot2025-04-28at6.05.04PM.png" />

    * Example: Separate results for DFZ scenario and LAX scenario
  </Step>

  <Step title="Inspect individual scenarios">
    Click each scenario to inspect individual steps and outcomes <img src="https://mintcdn.com/spur/9IFtS_isfyhWoPyj/clickonscenario.gif?s=b75f0ae96923efc6c9f567133b73e7ff" alt="clickonscenario.gif" width="756" height="480" data-path="clickonscenario.gif" />
  </Step>

  <Step title="Schedule recurring runs">
    Schedule recurring runs just like regular test suite <img src="https://mintcdn.com/spur/9IFtS_isfyhWoPyj/Screenshot2025-07-14at5.58.05PM.png?fit=max&auto=format&n=9IFtS_isfyhWoPyj&q=85&s=82153d600439dd19b1e55ae4c5dfd0dd" alt="Screenshot 2025-07-14 at 5.58.05 PM.png" width="1108" height="1110" data-path="Screenshot2025-07-14at5.58.05PM.png" />
  </Step>
</Steps>

***

## Searching scenarios

When selecting scenarios to run, you can search across **all property values** — not just the scenario name. Type any value that appears in your table and matching scenarios will be filtered and highlighted instantly.

<Tip>
  This is especially useful for large scenario tables where you need to quickly find a scenario by one of its data values — for example, searching by city name, email, or any other property.
</Tip>

## Managing scenarios

<AccordionGroup>
  <Accordion title="Enable/Disable scenarios">
    Use the toggle switch in the Status column to enable or disable specific scenarios without deleting them. Disabled scenarios won't run when you execute the test.
  </Accordion>

  <Accordion title="Edit scenarios">
    Click any cell in the scenario table to edit values directly. Changes save automatically.
  </Accordion>

  <Accordion title="Add new scenarios">
    Click **+ New Scenario** at the bottom of the table or press the keyboard shortcut to add additional scenario rows.
  </Accordion>

  <Accordion title="Delete scenarios">
    Select scenarios and use the delete option to remove them from your table.
  </Accordion>
</AccordionGroup>

## Best practices

* **Start simple**: Begin with 2-3 scenarios to validate your test logic before scaling up
* **Use descriptive scenario names**: Make it easy to identify which scenario failed in test results
* **Organize related scenarios together**: Group similar test variations in the same scenario table
* **Keep variables consistent**: Use the same variable names across related tests for easier management
* **Test with one scenario first**: Verify your test works correctly with a single scenario before adding more
* **Document edge cases**: Use scenario names to clearly indicate boundary conditions or special cases

## Key benefits

<Columns cols={2}>
  <Card title="Reduce redundancy">
    Write one test instead of many duplicate tests. A single parameterized test can handle dozens of scenarios without duplicating test logic.
  </Card>

  <Card title="Easier maintenance">
    Update inputs in one central location. When test data needs to change, modify the scenario table rather than updating multiple individual tests.
  </Card>
</Columns>

<Columns cols={2}>
  <Card title="Better test coverage">
    Easily test variations and edge cases. Add new scenarios to your table without modifying test logic, enabling comprehensive coverage of input combinations.
  </Card>

  <Card title="Scalability">
    Easily test variations and edge cases. Add new scenarios to your table without modifying test logic, enabling comprehensive coverage of input combinations.
  </Card>
</Columns>

***


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.