Согласно Документации по тестированию драматургов
Тестирование тегов выглядит следующим образом:
test('My test @foo', async ({ page }) => {
// ...
});
Но о мультитегировании не упоминается.
Я ищу что-то вроде:
test('My test @foo, bar', async ({ page }) => {});
or
test('My test @foo bar', async ({ page }) => {});



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я нашел решение, оно очень простое и понятное: просто разделяйте теги пробелом:
test('My test @foo @bar', async ({ page }) => {
// ...
});
Исполнение:
// foo OR bar
npx playwright test --grep "@foo|@bar"
// foo AND bar
npx playwright test --grep "(?=.*@foo)(?=.*@bar)"
@jonrsharpe вообще-то да, я все еще изучаю этот процесс, но спасибо за предложение.
Теперь это включено в документацию
Есть два способа использования нескольких тегов.
test.describe("Sample test group @smoke @integrations", () => {
test("Login Test case @regression", async ({
page,
}) => {
// Arrange
// Act
// Assert
}); // Test case closing
}); // Test.describe block closing
альтернативно, следующее
test("Login Test case @regression @smoke @integrations", async ({
page,
}) => {
// Arrange
// Act
// Assert
}); // Test case closing
а затем я использую скрипт для их запуска следующим образом в package.json
"smoke-tests": "npx playwright test --grep @smoke"
если вы не хотите запускать его через скрипты, вы можете использовать следующую команду в терминале
npx playwright test --grep @smoke
Обновление: Начиная с версии Playwright 1.42, теперь вы можете комментировать тесты, добавляя объект-тег в объявление теста, вставив из официальной документации:
test.describe('group', {
tag: ['@report'],
}, () => {
test('test full report', {
tag: ['@slow', '@vrt'],
}, async ({ page }) => {
// ...
});
});
Рассматривали ли вы предложение обновить документацию?