我有一个 Playwright 测试设置,可以使用不同的参数运行多次。
const chars = [
{name: "John"},
{name: "Jane"},
];
chars.forEach(async char => {
test(`Test for ${char.name}`, async ({ page }) => {
await runTest(page, char.name);
});
});
我有一个字符列表,对每个字符都运行测试。然而,这些测试是按顺序进行的,而不是并行进行的。它们都在一个文件中。
在每个项目(例如 chromium)的
playwright.config.js
fullyParallel: true,
中,它也在 defineConfig
中设置为 true。
如果您需要更多信息,请询问。我如何并行运行这些?
我会重写测试,如下所示,稍微扩展代码以说明完整的示例:
test.describe.configure({mode: 'parallel'})
const chars = [
{name: "John"},
{name: "Jane"},
];
chars.forEach(({char} => {
test(`Test for ${char.name}`, async ({ page }) => {
await page.goto('some-site');
await page.selectOption('select#firstName',char.name)
await page.click('button#search')
const result = await page.textcontent('div#result');
expect(result).toContain(char.name)
});
});