在我们的网站上运行SAHI自动化测试。我们正在考虑升级到SAHI pro,因此我们可以使用_takeSnapShot方法。

我们的脚本中散布着成千上万个assert。我们想要的是某种全局方式,以便如果断言失败,系统将触发_takeSnapShot然后继续。

我们已经尝试了JavaScript try{} catch{},但是SAHI实际上并没有引发异常,它只是记录故障并继续。

我们还尝试附加http://sahi.co.in/w/_setrecovery-recovering-from-a-scenario-without-try-catch中记录的_setRecovery函数。但这不会触发!

有人知道这样做的好方法吗?

最佳答案

http://sahi.co.in/w/sahi-call-back-functions获得了解决方案

function onScriptError($e){
    _focusWindow();
    _takeScreenShot();
}
onScriptFailure = onScriptError;
_navigateTo("http://sahi.co.in/demo/training/");
_setValue(_textbox("user"), "test");
_setValue(_password("password"), "secret");
_click(_submit("Login"));

10-06 00:29