# Choose Browser, Viewport, and Configuration

URL: https://docs.testvibe.com/run-tests/browser-viewport-configuration

Run configurations control how Playwright opens your application. They define settings such as browser, viewport, screenshots, video, traces, reporters, and other execution options.

You select at least one run configuration before starting a run.

![Playwright configurations in Settings](/assets/images/playwright-configurations-2d2fcb7699941edf17e7fa9f50592fa2.png)

## What a run configuration controls

Most teams use configurations to answer questions like:

| Question | Example | Which browser should run? | Chromium, Firefox, WebKit, or a named project. | What screen size should be used? | Desktop, tablet, mobile, or a custom viewport. | What evidence should be saved? | Screenshots, videos, traces, console logs, and network records. | How should tests report results? | HTML, JSON, JUnit, blob, or console output. 

The default TestVibe template usually starts with a desktop Chromium configuration and saves evidence on failure. Your project may have additional configurations such as cross-browser, responsive, staging, or smoke-test presets.

## Choose a configuration for a run

1. Open **Runs** .
2. Select **New Run** .
3. Choose the tests you want to execute.
4. Under **Environment** , pick a configured environment (or a Custom URL).
5. Under **Configurations** , select one or more **Run Configurations** — the selected tests run once in each one you check.
6. Optionally set **Execution** (see below) to control how many scenarios run at once.
7. Start the run.
Every configuration you select is attached to that run. When you re-run the same test later, confirm the configuration still matches the environment and browser coverage you want.

## Execution: how many scenarios run at once

The composer's **Execution** control decides how many scenarios TestVibe runs concurrently against the target site for that one run:

| Option | Behavior | Auto (recommended) | Uses the project's default concurrency (Settings → Playwright). | Sequential — one at a time | Runs one scenario at a time, useful when the target can't handle parallel traffic or you're debugging shared state. | Custom | Sets an explicit concurrency cap for this run only, without changing the project default. 

Leaving Execution untouched sends no override, so the project's configured default concurrency applies exactly as it would without picking anything.

## Browser and viewport strategy

Use a small set of clear configurations instead of many overlapping options.

| Configuration type | Use it for | Desktop default | Fast daily validation in the team's primary browser size. | Responsive | Mobile or tablet layouts where navigation and layout behavior changes. | Cross-browser | Compatibility checks across browser engines. | Debug | More evidence, lower parallelism, or settings that make failures easier to inspect. | Release | Broader coverage before a release or deployment. 

## Manage configurations

Configurations are managed from **Settings → Playwright** . From there, you can add, edit, or review the Playwright configuration files and browser projects TestVibe uses during runs, along with two project-wide defaults every run inherits unless a run overrides them: the default **Concurrent scenarios** (the Auto behavior above) and the **Expect timeout** — how long a web-first assertion ( `expect(locator)...` ) waits before failing. Expect timeout defaults to **30 seconds** and applies to every generated spec without hardcoding a value in the test itself; raise it in Settings → Playwright for apps whose post-action screens render through slow server round-trips.

For runner selection, see [Runners](/runners) .
