LR度量的是客户端发送请求到服务器响应处理并返回的时间,看上去和响应时间没有差异,我在之前也都是这样认为的,但实质上事务和响应时间之间还是存在着一定的细微差异。
实际事务时间包括以下四个部分
第一部分:Wasted time,脚本录制过程中,自动插入所花费的时间;脚本录制后,手工编码输入执行所花费的时间。
第二部分:函数自身所消耗的时间,包括lr_start_transaction和lr_end_transaction
第三部分:Think Time,用于模拟用户思考的时间lr_think_time()
第四部分:响应时间 = 网络+服务器处理时间
注:在事务的时间计算中,会自动排除第一和第二种,第三部分是人为设置或是录制形成,只要做一下减法也可以排除,所以真正事务要度量的时间是第四部分,响应时间。
添加事务的方式
1、当对录制的脚本不是特别的熟悉时,可以选择录制时在工具栏添加事务,这样系统会在自动生成的脚本中插入事务函数
2、如果对脚本较为熟悉,可以选择在录制结束后添加事务
3、纯手工编码添加事务命令
补充:lr_end_transaction函数的int status有四种状态(根据状态去判断事务的执行情况)
LR_AUTO:自动根据规则来判断状态
LR_PASS:系统做了正确的事务,并且记录事务所执行的时间(响应时间)
LR_FAIL:事务失败,没有达到脚本应该有的效果(后期统计中将被独立统计)
LR_STOP:事务被停止
二、 Loadrunner中检查点
如何快速的知道一个脚本在回放时候是正确还是错误,在这里我们就要用到一个函数web_reg_find,通过它去设置检查点,自动在回放的脚本中搜索指定信息,如果找到则通过,如果找不到就是失败。
举个Demo,用LR自带的例子,在登录系统以后,设置检查点,查看系统会给出什么返回。
设置检查点的方式,在Page View视图中选择需要检查的文字,右键选择添加,如下:
如果页面中未出现检查点设置的文本或者图片,则出现错误信息
三、事务与检查点应运
首先录制一个登录的脚本,这里我们对业务熟悉,就直接使用手动插入事务的处理方法,通过鼠标右键,在需要插入事务的地方选择Insert->Start Transaction/End Transaction
插入事务后再次运行脚本,事务以Pass结束,持续时间为0.0556,浪费时间为0.0016s
说明:这里如果是录制时插入事务,那么生成的事务时间需要减去思考时间后,才是事务真正的响应时间。
在事务的脚本中,我们插入检查点,检查点插入的位置通常是放在事务的内部,这样便于理解检查点的作用,检查点函数自身消耗的时间会被事务自动排除。
如果脚本能正确进入Web Tour Welcome页面,那么执行成功,出现下面提示
【补充说明】:与事务相关的函数还包括以下五种:
lr_get_transaction_duration()//获得对应事务到达函数运行位置时持续的时间
lr_get_transaction_duration()//获得对应事务到达该函数运行位置时的waste时间
lr_get_transaction_duration()//为一个事务添加waste时间
lr_get_transaction_duration()//将一个事物暂停,该函数后面的 *** 作都不会被记入事务时间
lr_get_transaction_duration()//将暂停的事务恢复
在你要检查的请求之前加入web_reg_find()函数。Web_reg_find(“SaveCount=ddd” // 定义查找计数变量名称
“Text=\“aaa\”” // 定义查找内容 内容中有双引号需要转义。
LAST)
然后还可以通过判断计数变量名称的次数来判断是不是正常。
相关函数
atoi()
lr_eval_string()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)