> For the complete documentation index, see [llms.txt](https://docs.qyrus.com/web-testing/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.qyrus.com/web-testing/run/testlabrun.md).

# Test Lab

Test Lab is where you run tests without the ceremony of a sprint. Build a suite, pull scripts into it, run it. There are no dates, no start or finish, and no days-remaining counter.

Test Lab is also the only place you can **schedule** a run.

Use [Sprints](/web-testing/run/sprintrun.md) instead when your testing follows a release cycle and you want the progress tracking that comes with it.

In this guide:

* [Opening Test Lab](#opening-test-lab)
* [Creating a test suite](#creating-a-test-suite)
* [Adding test scripts](#adding-test-scripts)
* [Running your tests](#running-your-tests)
* [Scheduling a run](#scheduling-a-run)
* [Managing scheduled runs](#managing-scheduled-runs)

## Prerequisites

* A project. See [Creating a Project](/web-testing/project-creation/create-project.md).
* At least one test script. See [Test Scripts](/web-testing/build/creatingscript.md).

***

## Opening Test Lab

1. Open your project and click the **Test Lab** tile. You can also use **Build** → **Test Lab** in the top bar.

   ![Test Lab tile](/files/TLSXocaOoFMUU9dgybsB)
2. Test Lab opens. Suites are listed down the left, the selected suite's scripts in the middle.

   ![Test Lab](/files/6m5Vokkf3CkvGwuNkvY8)

The breadcrumb reads **\<project> / Test Lab**. That is how you tell this screen apart from a sprint — the layout is otherwise the same.

***

## Creating a test suite

A test suite is a named group of test scripts. The scripts inside run one after another, in the same browser window.

1. Click **New Test Suite**. If the lab already has suites, use the folder button next to the **Test Suites** count instead.

   ![Suite menu](/files/jawTmygaTTCzxF4ZAYHa)

   | Option                    | What it does                                    |
   | ------------------------- | ----------------------------------------------- |
   | **Create New Test Suite** | Builds a suite from scratch.                    |
   | **Import From Sprint**    | Copies a suite that already exists in a sprint. |
2. Fill in the **Create Test Suite** window.

   ![Create Test Suite window](/files/mcPrXbfplgbz6sxVom4a)

   | Field                               | What to enter                                                                                           |
   | ----------------------------------- | ------------------------------------------------------------------------------------------------------- |
   | **Suite Name**                      | Up to 60 characters.                                                                                    |
   | **Suite Description**               | Up to 255 characters.                                                                                   |
   | **Auto add test scripts from tags** | Tick this to pull in every script carrying a tag you choose. Leave it clear to build the suite by hand. |
3. Click **Create Test Suite**.

### Editing or deleting a suite

Click the ⋮ button on the suite card for **Edit** and **Delete**. **Edit** reopens the suite window with its current values; change them and click **Update Suite**. **Delete** asks you to confirm before removing the suite.

***

## Adding test scripts

1. Click **Import Scripts**.
2. Click a module on the left to see its scripts.
3. Tick the scripts you want, or tick **Select all Test Scripts**. You can also drag a script across or use the **+** button on it.
4. Click **Push to Suite**, then **Save to Suite**.

This is the same screen as in a sprint. See [Adding test scripts](/web-testing/run/sprintrun.md#adding-test-scripts) for the full walkthrough.

***

## Running your tests

1. Tick the checkbox next to a suite or a script. **Execute** stays greyed out until you do.
2. Click **Execute** and choose the kind of run.

   ![Execute menu](/files/o4MtebZYgmuJpZNKykdm)

   | Option           | What it is                                                                                   |
   | ---------------- | -------------------------------------------------------------------------------------------- |
   | **Dry Run**      | A quick check that the test works. Fewer options. See [Dry Run](/web-testing/run/dryrun.md). |
   | **Execute Test** | A full run, with everything below available.                                                 |
3. The run screen opens with seven tabs down the left.

   ![Test Lab run screen](/files/QWYxaVVwvnmw2Ttr9g6m)

   | Tab                | What it is for                                                                   |
   | ------------------ | -------------------------------------------------------------------------------- |
   | **Select Browser** | Where the test runs — **Dedicated**, **Shared Pool** or **Local Run**. Required. |
   | **Visual Testing** | Compares layout and content against a baseline. Carries a **Beta** badge.        |
   | **Schedule Test**  | Run later instead of now. See [Scheduling a run](#scheduling-a-run).             |
   | **Database Query** | Pick a saved database connection, if your steps read from one.                   |
   | **Notify Me**      | Email the result to yourself or to others.                                       |
   | **Healer AI**      | Repairs locators that have changed.                                              |
   | **Verify OTP**     | Turn on if the script has to handle a one-time password.                         |

   This is one tab more than a sprint run offers. **Schedule Test** is Test Lab only.
4. Check the **Summary** panel on the right, then click **Run Test**.

### Visual Testing

Visual testing checks the look of your application, not just its behaviour.

![Visual Testing tab](/files/j2C7jH2RLn7PEEwe0dRy)

Turn on **Enable visual testing**. One limit to know about: a visual comparison runs against a single script at a time, so pick the one script you want compared before you start the run.

See [Visual Testing](/web-testing/advanced-features/visualtesting.md).

### Healer AI

![Healer AI tab](/files/CdigBjdrsmPWukeBmnPr)

**Run With Healer** is **on by default**. Leave it on and Qyrus will try to find a new locator when an element on the page has changed, instead of failing the step. The summary panel shows **Executing with Healer** whenever it is on.

Turning it on means accepting the notice on the screen: "By enabling 'Healer AI', you consent to the Qyrus AI terms of use. Note that our AI is secure and operates without internet connectivity, ensuring all your data is private."

See [Healer AI](/web-testing/advanced-features/healer.md).

### Notify Me

![Notify Me tab](/files/XZXkOHEJa4z6qA5yeViA)

Turn on **Notify me about Result** to be emailed when the run finishes, and **Share Test result with others** to add more addresses.

***

## Scheduling a run

Scheduling lets you set a test running at a chosen date and time instead of straight away. It is available in Test Lab only — a sprint run has no **Schedule Test** tab.

1. Set up the run as normal, choosing a browser first.
2. Open the **Schedule Test** tab. **Run Test** in the summary panel changes to **Schedule Test**.
3. Choose **Schedule Once** to run one time, or **Schedule Repeat** to run on a cycle.

**Schedule Once** — pick a **Choose Date**, a **Time** and a **Timezone**.

![Schedule Once](/files/fkfMRn4e5HVIDbFXuPAh)

Dates before today are greyed out.

**Schedule Repeat** — choose **Weekly**, **Daily** or **Hourly**, then set when it stops.

**Weekly** runs on the days you tick, **SUN** to **SAT**.

![Schedule Repeat, weekly](/files/5vev9wQFytQH5dKY3Tsr)

**Daily** runs once a day at the **Time** you set, until the end date.

![Schedule Repeat, daily](/files/8lEGT9teZ5oWiFGyiEW7)

**Hourly** runs every hour on the chosen date, stopping at the **End Time**.

![Schedule Repeat, hourly](/files/dVRz4tIlvGna7pthFjdF)

All three take a **Choose Date** for when the schedule stops, and a **Timezone**.

4. Click **Schedule Test**.

***

## Managing scheduled runs

To see what is queued, go to **Reports** → **Scheduled Runs**, or use the **Scheduled Runs** button under **Analyze** on the project home page.

![Scheduled Runs](/files/woj1UYVEYT1jvomAULr9)

Each row shows the schedule type, the time, the test, the date it next runs, and the platform and browser it will use. On each row there is an info button, an **Edit scheduled once** button, and a ⋮ menu offering **Pause** and **Delete**. To clear several at once, tick them and use **Delete Scheduled Runs** at the top.

When there is nothing queued the screen reads "Currently there is no test scheduled."

Once a scheduled run has executed, its result appears on **Test Lab Reports** under the **Scheduled Tests** tab.

## Where to go next

* [Dry Run](/web-testing/run/dryrun.md)
* [Sprints](/web-testing/run/sprintrun.md)
* [Test Lab Reports](/web-testing/analyze/testlab.md)
