Javascript TestCafe触发的“测试”;断言错误";虽然断言是正确的

Javascript TestCafe触发的“测试”;断言错误";虽然断言是正确的,javascript,node.js,testing,testcafe,end-to-end,Javascript,Node.js,Testing,Testcafe,End To End,我目前正在使用Testcafe进行en-to-end测试,我需要断言文本是否正确显示。代码编写如下所示: 等待t .expect(选择器('div:nth child(5)>div>table:nth child(3)>tbody>tr:nth child(1) td:n第n个子(1)'.filtervible().innerText).contains('FOR LEASE') .expect(选择器('div:nth child(5)>div>table:nth child(5)>tbody

我目前正在使用
Testcafe
进行
en-to-end
测试,我需要断言文本是否正确显示。代码编写如下所示:

等待t
.expect(选择器('div:nth child(5)>div>table:nth child(3)>tbody>tr:nth child(1)
td:n第n个子(1)'.filtervible().innerText).contains('FOR LEASE')
.expect(选择器('div:nth child(5)>div>table:nth child(5)>tbody>tr:nth child(1)>
td:n第n个子(1)'.filtervible().innerText).contains('200 Granville Street'))
但令我惊讶的是,我在控制台上发现了以下错误:


在彻底调试了这个问题之后,我发现

编辑文档时,网站在保存之前对
字符串进行
编码(同时将其转换为
PDF
)。因此,当我试图在保存文本后断言更改时,它失败了(尽管这些词在视觉上看起来很相似)。这个错误尤其是由于空间编码

完成的工作是断言字符串中没有空格的部分

现在的问题是:在类似这样的未来场景中,如何在断言之前规范化编码空间,这样我就不会像上面那样总是找到一个简单的解决方法


这些值中是否有任何一个?如果没有,请提供一个简单的示例,我们可以在其中重现问题。是的,字符串中有空格。当包含在断言中时,将引入错误。但是,当我为“for”和“LEASE”断言时,它成功了。最好单独问其他问题。上面是一个答案,但是,我知道它并不完美。因此,结尾的问题只是为了表明它的不完善之处,供其他人详细说明✌