对80%的用户浏览商品,20%用户交易,交易的前提是先浏览一个商品,也就是所有用户(100%)都浏览了商品,只有20%的用户去交易。这样是合乎逻辑的。
事务函数
在上面的脚本中我们用到了lr_start_transaction()函数和 lr_end_transaction()函数来标识一个事务的开始与结束,除些之外,loadrunner还提供了许多与事务相关的函数,这里介绍几个常用的。
1、lr_set_transaction_instance_status 用于设置事务的状态,事务的状态包括:LR_PASS、 LR_FAIL 、 LR_AUTO 、 LR_STOP 。可以在脚本中根据条件设置事务的状态,例如,根据检查点返回的结果来设置事务为通过还是失败。
if(event == GENERAL_ERROR) lr_set_transaction_instance_status(LR_FAIL); lr_end_transaction("登陆",LR_AUTO); |
2、 lr_fail_trans_with_error与lr_set_transaction_instance_status 类似,都可以用于设置事务的状态,区别在于lr_fail_trans_with_error除了可以设置的状态,还可以输出错误日志信息。
if(status != SUCCESS) lr_fail_trans_with_error("an error has occurred:%s",my_get_error_string(status)); lr_end_transaction("登陆成功",LR_AUTO); |
3、lr_get_transaction_status与前两个函数的作用相反,用于获取事务的状态。
if(status != SUCCESS) lr_fail_trans_with_error("an error has occurred:%s",my_get_error_string(status)); lr_end_transaction("登陆成功",LR_AUTO); |
4、lr_get_transaction_duration 用于获取事务所消耗的时间。这个就比较有意思了。
我们登录百度首页,插入一个事务,然后访问百度注册页面。下面计算访问注册页面的时间。
完整脚本:
View Code
Action()
web_url("www.baidu.com", lr_start_transaction("访问注册页"); //定义事务开始
web_link("???", trans_time=lr_get_transaction_wasted_time("访问注册页"); //获得消耗时间
if (trans_time) { lr_end_transaction("访问注册页",LR_AUTO); //事务结束
return 0; |
原文转自:http://www.uml.org.cn/Test/201303151.asp