Sure, you can run a single test from a group of functional tests in an e2e regression test with Playwright Test. You can do this by using test annotations and tags.
You can group tests together with test.describe
. This function gives your tests a logical name or scope. Inside the test.describe
block, you can define multiple tests using the test
function. Each test can have its own unique functionality.
test.describe('Login Tests', () => {
test('Login with valid credentials', async ({ page }) => {
// Test code here
});
test('Login with invalid credentials', async ({ page }) => {
// Test code here
});
});
You can tag your tests and selectively run them based on these tags. For example, you can tag a test as "@fast" or "@slow".
test('@fast Login with valid credentials', async ({ page }) => {
// Test code here
});
To run only tests with a certain tag, use the --grep
command line flag followed by the desired tag value.
npx playwright test --grep @fast
This will execute only those tests that are tagged as "@fast".
If you want to skip tests with a certain tag, you can use the --grep-invert
command line flag followed by the desired tag value.
npx playwright test --grep-invert @slow
This will skip all tests that are tagged as "@slow".
If you want to run tests containing either of multiple tags, you can use regex lookaheads with --grep
.
npx playwright test --grep "@fast|@slow"
This will execute all tests that are tagged either as "@fast" or "@slow".
If you want to run only those tests that contain both tags, again using regex lookaheads with --grep
.
npx playwright test --grep "(?=.*@fast)(?=.*@slow)"
This will execute only those tests that are tagged as both "@fast" and "@slow".
By using these test annotations and tags, you can selectively include or exclude specific tests from a group of functional tests in your e2e regression test. This provides flexibility in running targeted tests based on their characteristics or requirements.
For more information on organizing your Playwright tests using tags, 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].