如何解决如何使用可变文本内容进行断言
await t.expect(Selector('#elementId').innerText)
.eql('discounted 20% with your subscription');
这里是文字 - discounted 20% with your membership
20% 不是常数,可能会变成 15% 或 19%
我如何“断言”这一点?
我试过了
await t.expect(Selector('#elementId').innerText)
.eql('discounted' + 'with your subscription');
但不起作用
解决方法
您可以使用正则表达式。
const regexp = new RegExp (your regular expression);
await t.expect(Selector('#elementId').innerText).match(regexp);
有关详细信息,请参阅此文档文章:https://devexpress.github.io/testcafe/documentation/reference/test-api/testcontroller/expect/match.html
,这可能不是解决这个问题的最优雅的方法,但我能想到的一个解决方案如下:
const myDiscountList = ["20","19","15"];
const innerTextOfMyElement = await Selector('#elementId').textContent;
await t.expect(myDiscountList.some(discount => innerTextOfMyElement === ("Discounted " + discount + " with your membership"))).ok("At least one of the expected discounts should match!");
解决这个问题的更优雅的方法可能是使用正则表达式。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。