我想在所有浏览器关闭后在量角器中创建一个报告。 所以我需要一个配置选项,它将在所有功能之后运行,但在清理全局变量之前。
P.S。我试过afterLaunch()但它在清理后运行。以及onCleanUp(),但它可以运行每个功能。
答案 0 :(得分:0)
onCleanup
将确保您的报告在浏览器完成运行规范后发生,但在浏览器被拆除之前。这是您在测试期间访问任何全局变量的最后机会,因为它是量角器的最后阶段。
正如您所提到的,这将为每个浏览器实例生成一个报告,但全局变量仅对该浏览器实例是全局变量,所以我认为这就是您想要的。
如果要聚合来自所有浏览器的结果,则必须在onCleanup中写出每个报告,然后将它们连接在一个shell脚本(或javascript文件)中,该脚本在量角器完成执行后运行
答案 1 :(得分:0)
您可以使用以下方法
onComplete: () => {
console.log('onComplete');
},
onComplete - 所有测试完成后调用的回调函数。如果onComplete返回一个promise(可选),Protractor将在关闭webdriver之前等待promise的解析。在onComplete运行时,测试将完成,但全局对象仍然可用。
引用更多http://timothymartin.azurewebsites.net/protractor-before-and-afters/
答案 2 :(得分:0)
您可以在conf.js
中使用此功能。所有套件完成执行后,将执行此操作。
// Close the report after all tests finish
afterLaunch: function (exitCode) {
return new Promise(function (resolve) {
});
}