在我们的网站上运行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"));