每个测试都使用await expect(page).toHaveScreenshot();
。我不想在每个测试中重复。
test.afterEach(async ({ page }) => {
await expect(page).toHaveScreenshot({mask: [] as Locator[] || null});
});
有一个问题。一些测试有我需要隐藏的动态元素。我如何为{ mask }
提供一个参数/值来处理一些测试中的第一种情况?
我试着给予{ mask }
一个值,但没有用:
test('should open sender`s grid view', async ({ page }) => {
// some code
{mask: value }
});
2条答案
按热度按时间flmtquvp1#
一种可能的方法是使用不同的
describe
块来分组不同的掩码:如果你不想要describe块,在测试中有一个更简单的setting a shared variable模式:
mask = [];
行确保空掩码是默认值,如果测试没有覆盖它。请注意,即使数组为空,
[] || null
也不会计算为null
。如果要提供null
作为默认值,请将所有出现的let mask = []
和mask = []
替换为mask = null
。tmb3ates2#
可以使用Regex处理动态元素,以适应许多可能的场景:
//一些步骤
//使用屏蔽的屏幕截图Assert