如何在Playwright中检查字符串是否匹配多个目标字符串之一
在Playwright中检查字符串匹配两个目标中的任意一个
完全匹配任意目标的情况
如果需要字符串s完全等于"Test String 1"或"Test String 2"其中之一,直接使用toBeOneOf断言即可,这是Playwright专门用来校验值是否在指定数组中的方法:
expect.soft(s).toBeOneOf(['Test String 1', 'Test String 2']);
部分匹配任意目标的情况
如果需求是s包含两个目标字符串中的任意一段(和你原来用toMatch的逻辑一致),可以用正则表达式作为toMatch的参数,利用正则的|运算符实现“或”匹配:
expect.soft(s).toMatch(/Test String 1|Test String 2/);
要是目标字符串里有正则特殊字符(比如.、+这类),记得用反斜杠\转义,比如目标是"Test.String 1"的话,正则要写成/Test\.String 1|Test String 2/。
补充说明
你之前尝试传数组给toMatch失败是因为这个方法只接受字符串或正则表达式,不支持数组参数。如果是完全匹配场景,toBeOneOf是更合适的选择;如果是部分匹配,正则的方式就能满足需求。
内容的提问来源于stack exchange,提问作者rahul nadeem
相关产品推荐
相关产品推荐

