如何将 OR 语句与 Playwright 断言一起使用

SUP*_*MAN 1 typescript playwright

我想检查文本内容是否为onetwo

await expect(this.header).toHaveText('one').or('two')
Run Code Online (Sandbox Code Playgroud)

有没有办法使用 Playwright 使其发挥作用?

这也可以在像这样的句子中实现

await expect(this.header).toHaveText("this is "+('first').or('second')+ "sentence");
Run Code Online (Sandbox Code Playgroud)

axi*_*iac 7

您可以使用正则表达式作为期望值:

await expect(this.header).toHaveText(/^(one|two)$/);
Run Code Online (Sandbox Code Playgroud)

因为.toHaveText()匹配整个文本,所以它也应该在不锚定正则表达式的情况下工作(我没有测试它,我只是从的文档Locator.toHaveText()中得到启发):

await expect(this.header).toHaveText(/one|two/);
Run Code Online (Sandbox Code Playgroud)