【问题标题】:testcafe: Check for something after every clicktestcafe:每次点击后检查一些东西
【发布时间】:2020-06-05 00:51:54
【问题描述】:
我正在测试一个 Web 应用程序,该应用程序将它的一些错误呈现为 HTML,并且没有提供任何其他指示问题发生的迹象。在每个click 之后,我想看看是否存在.error 元素。
我知道我可以在每次点击后手动添加它,但它会混淆我的测试并且很容易忘记一些实例。有没有办法告诉 testcafe 某个条件应该使测试失败,即使我没有明确检查它?
【问题讨论】:
标签:
javascript
testing
automated-tests
e2e-testing
testcafe
【解决方案1】:
我做了这样的事情:
const scriptContent = `
window.addEventListener('click', function () {
if($('.error').length > 0) {
throw new Error($('.error').text());
}
});
`;
fixture`Main test`
.page`../../dist/index.html`.clientScripts(
{ content: scriptContent }
);
这会将脚本注入到我正在测试的页面上。每次点击后,它使用 jQuery 查看是否存在错误类。如果是这样,它会在我正在测试的页面上引发错误。 Testcafe 报告该错误的消息。
我希望有更好的方法。