监测错误&整个集成测试中的错误通知

时间:2016-03-31 16:23:51

标签: selenium integration intern

我的问题是双重的。我使用Intern作为集成/ e2e测试框架,在各种客户端JS框架中使用了几个不同的服务。我希望能够在整个测试过程中标记两件事:

  • api调用获取资源返回400或500级状态
  • 错误通知/ div匹配某些css出现在页面上,但相对较快地消失

在第一种情况下,我已经在客户端上使用类似window.onerror脚本的内容,但不确定它是否会起作用或在这种情况下是最好的。

在第二种情况下,我可能会检查特定点的错误div,但这并不一定涵盖类似自动保存的内容。我真正想要的是整个测试中的倾听者。

1 个答案:

答案 0 :(得分:0)

onerror检查可能是最直接的解决方案。只需在测试开始时将其安装在页面上,如果发生任何错误,请将其设置为全局,并在测试结束时检查全局。

另一个潜在的选择(我还没有测试过)可能是在单独的命令链中启动find错误弹出窗口,并让它同时运行到主测试链。这需要将查找超时设置为一个相对较大的值(足够大,以便查找将持续整个测试)。使用Promise.all组合两个命令链,如:

var load = this.remote.get('somePage').setFindTimeout(somethingBig);
var errorCheck = load.findByCssSelector('.errorClass').then(function () {
    throw new Error("shouldn't have found this");
});
var test = load.doTestThings();
return Promise.all([ errorCheck, test ]);