我截止到目前对脚本的错误处理还停留在Run-Time Settings上面。那么如何在脚本中直接处理?就是我们下面要学习的内容,具体内容包括以下几个方面:
--脚本的健壮性
--VuGen的处理机制
--lr_continue_on_error
--示例代码
1、脚本的健壮性与VuGen的处理机制
一个健壮的脚本应该能够捕捉到一些错误信息,并对这些信息进行相应的处理,否则一旦发生较大错误就会退出执行。对于LR的VuGen有自己的处理办法,一般可以分为两种方式:
第一种:遇到错误,停止执行,退出执行。
第二种:遇到错误后忽略错误,继续执行下去。这两种方式都可以在Run-Time Settings进行设置。
2、lr_continue_on_error函数介绍
(1)因为在Run-Time Settings设置的错误处理方式不够灵活,因此我们引入函数lr_continue_on_error。
(2)通过lr_continue_on_error函数可以控制Vuser脚本特定段的错误处理。要标记该段,就用:lr_continue_on_error(1)和lr_continue_on_error(0)语句将其括起来。
(3)使用lr_continue_on_error函数的脚本段将会覆盖"出现错误时仍继续"的Run-Time Settings运行时设置。
3、示例代码
Action() { //lr_continue_on_error(1); web_url("WebTours", "URL=http://127.0.0.1:1080/WebTours/", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=", "Mode=HTML", EXTRARES, "Url=http://addons.g-fox.cn/firstLocation.gif?p=false&a=false&e=false&bsp=1&r=0.5001782111218975", "Referer=", ENDITEM, LAST); //lr_continue_on_error(0); lr_output_message("脚本执行成功,我就打印出来!"); return 0; }
其实很简单,学过JAVA异常机制我们都知道,执行到一段代码报错,我们还想继续执行怎么办?将可能出错的代码写在try语句中,用catch捕获对应的异常。最后将其他语句写在finally{}语句块中。
上述脚本也一样。我们将错误的脚本写在lr_continue_on_error(1)和lr_continue_on_error(0)之间,即使发生错误,还是可以执行到lr_output_message("脚本执行成功,我就打印出来!");