51Testing丛书连载:(二十六)性能测试从零开始——LoadRunner入门

发表于:2008-9-10 17:36

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:柳胜    来源:51Testing软件测试网

5.10  高级——脚本错误处理机制

  一个好的脚本应该具有健壮性,要能够捕捉到错误,并能采取有效的错误处理方式,否则脚本一旦发生错误,唯一的出路就是退出执行。

  VU提供了一套在出错情况下的脚本处理机制。VU的错误处理机制可设定Vuser在执行脚本时遇到错误怎样处理。当Vuser遇到错误时,可以有两种处理策略:一是停止执行脚本,这适用于严重的问题;二是忽略这个错误,继续执行下去。

  在默认情况下,当检测到错误时,Vuser将停止执行脚本,在Run-time Settings中我们就可以看到它的默认设置,如图5-53所示。

  如不想VU在出错后结束,而是继续执行。那么在运行时设置中,可以勾选“Continue on error”(出现错误时仍继续)。这个设置适用于整个Vuser脚本,它是一个全局开关。

  51Testing

  图5-53  在Run-time Settings中设置出错处理方式

  但这种方法有一个毛病,就是不够灵活,有“一竿子打翻一船人”之嫌,我们更希望脚本能够“具体情况具体分析”,能够对于不同的函数应用不同的错误处理机制。既然信不过LoadRunner,那么解决的办法就是我们自己来干,在脚本中加入lr_continue_error函数。

  使用lr_continue_on_error函数。通过lr_continue_on_error函数可以控制Vuser脚本特定段的错误处理。要标记该段,就用lr_continue_on_error(1)和lr_continue_ on_error(0)语句将其括起来。

  使用lr_continue_on_error函数的脚本段将会覆盖“出现错误时仍继续”的Run-time Settings运行时设置。

  例如,下面的脚本,其运行时设置没有勾选“Continue on error”,VU如果访问www.51testing.com遇到错误,将会结束执行脚本。

  Web_lin("test", 

      "text = www.51testing.com",

      LAST); 

  Lr_output_message("finished linking"); 

  运行时,如web_link出错,“finished linking”这段文字永远也不会输出。但是如果我们认为这个web_link函数无关紧要,它即使失败,我们也要继续执行脚本。那么解决的办法是用相应的lr_continue_on_error语句将该段括起来:

  lr_continue_on_error(1);

  Web_lin("test",

      "text = www.51testing.com",

      LAST); 

  Lr_continue_on_error(0);

  Lr_output_message(" finished linking"); 

  在上面的脚本中,即使web_link函数执行失败,lr_output_message("finished linking")也会被继续执行。第一个lr_continue_error(1)是将“Continue on error”设为true,其后面的语句的错误处理机制都被应用为“Continue on error”,直到VU遇见lr_continue_error(0),再将“Continue on error”恢复成false。



连载一 连载 连载三 连载四 连载五 连载六 连载 连载 连载九 连载十 连载十一 连载十二 

连载十三 连载十四 连载十五 连载十六 连载十七  连载十八 连载十九 连载二十 连载二十一

连载二十二 连载二十三 连载二十四 连载二十五


本文选自:51Testing软件测试作品系列》之一的性能测试从零开始——LoadRunner入门》,本站经电子工业出版社和作者的授权,近期将进行部分章节的连载,敬请期待!

版权声明:51Testing软件测试网及相关内容提供者拥有 51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。51testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号