我正在编写一个单击某些过滤器的测试,并且发现浏览器之间存在一些差异。例如,在主要的浏览器(Chrome,Firefox,Safari)上,完全按照以下格式显示了复选框:Checkers,Cheese,Salsa,Butter。当我在IE11上运行测试时,这些字符串是小写字母,并且因为它是小写字母,所以我的测试失败了。为了解决这个问题,我希望使用正则表达式。我用来单击这些复选框的功能是可重用的。
我很困惑,因为我试图在正则表达式中传递字符串,但是测试失败。然后,我继续创建模板文字,然后有人以这种方式在正则表达式中传递字符串,并且测试仍然失败。我的问题是,有没有更聪明的方法将字符串变量传递给正则表达式?
filterPage看起来像:
export default class OrderHistory {
constructor() {
this.filter = Selector(
".filterCheckbox"
}
async selectFilter(text) {
await t.click(this.filter.withText(`/${text}`/i));
}
测试页如下:
test(“click the cheese filter”, async t => {
const cheeseFilter = Cheese;
await filterPage.selectFilter(cheeseFilter);
});