In @playwright/test, you can group your tests using test.describe()
. This function takes a title and a callback function containing your tests. Here's an example:
test.describe('two tests', () => {
test('one', async ({ page }) => {
// ...
});
test('two', async ({ page }) => {
// ...
});
});
You can also configure your tests to run in parallel or serially. To run all tests in parallel, use test.describe.configure({ mode: 'parallel' });
before declaring any groups or tests.
test.describe.configure({ mode: 'parallel' });
If you want your tests to run serially, use test.describe.serial()
. For parallel execution, use test.describe.parallel.only()
.
test.describe.serial('serial tests', () => {
// ...
});
test.describe.parallel.only('parallel tests', () => {
// ...
});
Remember, running tests serially isn't recommended as it's better to have isolated tests. Parallel execution might cause inter-dependency issues.
You can also configure retries and timeouts for each test case using retries
and timeout
properties in the options object.
test.describe.configure({ retries: 2, timeout: 5000 });
For more tips on efficient test writing, check out this blog post.
If you still have questions, please ask a question and I will try to answer it.
Rayrun is a community for QA engineers. I am constantly looking for new ways to add value to people learning Playwright and other browser automation frameworks. If you have feedback, email [email protected].