问题描述
使用:Selector()。withText(text)->定位元素是一种很好的定位方式,如果我们没有其他与元素匹配的标记名,但是当应用程序支持多种语言时,例如超过一种语言,则文本字段将随选择的不同语言而变化。
可能没有什么建议可以遍历并从上一个元素或下一个元素中查找,但是例如让文本作为警告消息根据用户输入而有所不同,有时它可能是无效的用户名称,有时可能是未注册用户,如果没有确切的文字来定位它,则会导致测试失败。
是否有建议添加多个文本,例如xpath // * [text()='abc'|| testcafe中的text()='xyz']吗?
解决方法
您可以尝试使用正则表达式来处理场景,
Selector("element").withText(/text1|text2|text3/);
您还可以根据其属性选择元素。 https://devexpress.github.io/testcafe/documentation/reference/test-api/selector/withattribute.html