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

# Web regression testing

> Point a test plan at an environment URL and a device preset for each web application.

A web test plan runs the tests you selected against the environment configured for each application. Change the URL or the device without rewriting the tests.

## Environment URL

On the test plan, open **Parameters**. Each application that has tests in the plan has an **Environment**. That environment's URL is where those tests run.

Override the URL for one run from CI or the API. Pass `environment.url` for the application short ID. The override wins over the plan parameter, which wins over the project default.

```json theme={null}
{
  "testPlanShortId": "pln_abc123",
  "applications": [
    {
      "applicationShortId": "app_abc123",
      "environment": { "url": "https://staging.example.com" }
    }
  ]
}
```

See [Test plan parameters](/core-concepts/test-plans#test-plan-parameters) and [Start Run](/api-reference/runs/start-test-run).

## Device preset

The same Parameters card sets a **Device Preset** for that application, or **Default** to use the project default. A run can also pass `devicePresetShortId`.

Device presets cover viewport, user agent, and headers for the browser. See [Device Presets](/test-features/device-presets).

## Run it from CI

<CardGroup cols={2}>
  <Card title="GitHub" icon="github" href="/regression-testing/github">
    Test Run Action with a preview URL or environment override.
  </Card>

  <Card title="GitLab" icon="gitlab" href="/regression-testing/gitlab">
    `POST /v1/run` with the environment URL for that deploy.
  </Card>

  <Card title="Bitrise" icon="mobile" href="/regression-testing/bitrise#web-applications">
    One HTTP request with the test plan short ID.
  </Card>

  <Card title="API" icon="code" href="/regression-testing/api">
    Start the plan from any CI that can send an HTTPS request.
  </Card>
</CardGroup>
