Skip to main content

Running and debugging tests

Introduction​

You can run a single test, a set of tests or all tests. Tests can be run on different browsers. By default, tests are run in a headless manner, meaning no browser window will be opened while running the tests and results will be seen in the terminal. If you prefer, you can run your tests in headed mode by using the headless test run parameter.

You will learn

Running tests​

Run all tests​

Use the following command to run all tests.

dotnet test

Run tests in headed mode​

Use the following command to run your tests in headed mode opening a browser window for each test.

HEADED=1 dotnet test
set HEADED=1
dotnet test
$env:HEADED="1"
dotnet test

Run tests on different browsers: Browser env​

Specify which browser you would like to run your tests on via the BROWSER environment variable.

BROWSER=webkit dotnet test
set BROWSER=webkit
dotnet test
$env:BROWSER="webkit"
dotnet test

Run tests on different browsers: launch configuration​

Specify which browser you would like to run your tests on by adjusting the launch configuration options:

dotnet test -- copilotbrowser.BrowserName=webkit

To run your test on multiple browsers or configurations, you need to invoke the dotnet test command multiple times. There you can then either specify the BROWSER environment variable or set the copilotbrowser.BrowserName via the runsettings file:

dotnet test --settings:chromium.runsettings
dotnet test --settings:firefox.runsettings
dotnet test --settings:webkit.runsettings
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<copilotbrowser>
<BrowserName>chromium</BrowserName>
</copilotbrowser>
</RunSettings>

For more information see selective unit tests in the Microsoft docs.

Run specific tests​

To run a single test file, use the filter flag followed by the class name of the test you want to run.

dotnet test --filter "ExampleTest"

To run a set of test files, use the filter flag followed by the class names of the tests you want to run.

dotnet test --filter "ExampleTest1|ExampleTest2"

To run a test with a specific title use the filter flag followed by Name~ and the title of the test.

dotnet test --filter "Name~GetStartedLink"

Run tests with multiple workers:​

dotnet test -- NUnit.NumberOfTestWorkers=5
dotnet test -- MSTest.Parallelize.Workers=5
dotnet test -- xUnit.MaxParallelThreads=5

See here for more information to run tests in parallel with xUnit.

note

We recommend xUnit 2.8+ which uses the conservative parallelism algorithm by default.

dotnet test -- xUnit.MaxParallelThreads=5

See here for more information to run tests in parallel with xUnit v3.

note

xUnit v3 uses the conservative parallelism algorithm by default.

Debugging Tests​

Since copilotbrowser runs in .NET, you can debug it with your debugger of choice in e.g. Visual Studio Code or Visual Studio. copilotbrowser comes with the copilotbrowser Inspector which allows you to step through copilotbrowser API calls, see their debug logs and explore locators.

PWDEBUG=1 dotnet test
set PWDEBUG=1
dotnet test
$env:PWDEBUG=1
dotnet test

debugging tests with copilotbrowser inspector

Check out our debugging guide to learn more about the copilotbrowser Inspector as well as debugging with Browser Developer tools.

What's Next​