LoadRunner 性能测试 准备工作
1.1 LR脚本构成
vuser_init:脚本的初始化部分,一般情况下,登录部分的代码录制到这里,(做业务操作场景的性能测试时适用)
Action:脚本的动作部分,对系统的各种业务操作录制到这里(需要测试登录时,登录脚本也录制到这里)
vuser_end:脚本的退出部分,系统退出时的代码录制到这里
脚本执行后查看结果的位置: VUgen主界面-》视图/view-》测试结果/test results
1.2 LR工作目录构成:
工作总目录:perf_test
scripts -- 存放脚本文件的目录
results -- 存放结果文件的目录
scenarios-- 存放场景文件的目录
reports -- 存放报告文件的目录
process -- 存放测试过程记录文件的目录
1.3 录制脚本过程
启动虚拟用户生成器-》 选择web协议->输入被测试系统地址
-》选择工作目录为C:\perf_test\scripts
-》录制到的操作为:Action->进行登陆操作
-》切换脚本保存位置为vuser_end->点击退出按钮
-》点击继续-》等10秒左右停止录制。
-》打开运行时查看器[工具》常规选项/gereral options》显示、display》勾选“回放期间显示运行时查看器”》确定]
-》回放脚本
-》查看运行结果【视图/view》查看结果】
1.4 Loadrunner函数简介
LR函数释义
- Ir think time(秒)
- 思考等待时间
- web_url
- 打开一个ur,GET请求
- web submit form
- 提交POST请求,上下文有关,提交界面表格
- web_submit_data
- 提交POST请求,上下文无关,提交报文请求数据
- Ir_start_transaction("事务名");
- 开始一个事务
- Ir_end_transaction("事务名",LR_状态);
- 结束一个事务
- Ir_ rendezvous("joinus")
- 设置一个集合点
- web_reg_find()
- 从响应数据中查找指定的字符内容并将找到的次数赋值给一个变量,用于检查点操作
- Ir_output_message()
- 输出内容到运行日志
- Ir_error_message()
- 在运行日志中报告一个错误信息,红色显示
- Ir_eval_string(“{参数名}”)
- 将参数或变量中的值取出来作为一个字符串
- web_reg_save_param
- 从一个请求的响应数据中根据前后边界值截取中间数据并赋值给一个变量
2、脚本中插入事务(transaction)
事务作用:事务记录被定义为事务的相关操作所耗费的时间.
说明:事务由一对函数构成,由事务开始函数(lr_start_transaction()和事务结束函数(lr_end_transaction())组成,事务可以是一个单独的业务操作场景,也可以是一个业务流程;
往脚本中插入事务方法有两种:
方法一、在录制脚本时插入事务
方法二、录制完脚本插入事务
【事务的记时】:执行脚本时,先执行事务开始函数,这时开始记时,等识别到事务结束函数时,停止计时。
事务语法:
lr_start_transaction("事务名称") ;//事务开始函数
需要考察的操作代码;
lr_end_transaction("事务名称",LR_AUTO); //事务结束函数
插入事务注意事项:
(1)事务命名时需要有意义,事务的名称,可以为英文,也可以为中文,需要体现或者描述对应代码的操作(描述出该段代码的功能);
(2)事务的结束函数名称需要与开始事务开始函数的名称保持一致;
(3)事务的开始函数和事务结束函数必须成对出现;
(4)事务的开始函数和结束函数之间,不能出现思考时间;
(5)根据测试需要,一个脚本中,可以出现多个事务;
(6)如果根据测试需要在脚本中手工插入了事务,就不再需要让loadrunner自动定义事务。
补充说明:
(1)脚本命名规则:
脚本名称_脚本录制时间
(2)脚本中添加和取消代码注释:
添加注释: Ctr+Alt+C
取消注释: Ctr+Alt+U
3、脚本中添加检查点
检查点作用:在脚本中插入检查点,就是往脚本中插入检查点函数,目的是验证相关操作是否成功,一般通过在脚本中插入检查点函数检查操作完成时所出现的html页面上是否存在特定的字符串或者图片(通过检查图片的属性信息),来验证操作是否成功。
3.1 文本检查点函数 web_reg_find()
作用:查找操作完成后产生的页面上是否存在特定的字符串,存在说明操作成功。
语法:
lr_start_transaction("事务名称") ;//事务开始函数
web_reg_find()//文本检查点函数,是一个注册(register)函数,这种函数一般插入在从服务器请求资源的函数前面。
操作代码;
lr_end_transaction("事务名称",LR_AUTO); //事务结束函数
3.1.1 往脚本中插入检查点的方法:
方法一、录制脚本时插入检查点
方法二、录制完脚本后插入检查点
说明:
(1)操作代码:一般指的是web_url()、web_custom_request()、web_submit_form()、web_submit_data()等函数
(2)web_reg_find()函数具有返回值,该函数是从系统缓存中查找相关字符串;
(3)web_reg_find()对脚本录制模式没有要求;
(4)录制脚本时,手工插入文本检查点函数时,需要先在LR打开的页面上选中需要检查的文本内容,再点击录制浮动条上的望远镜按钮;
(5)web_reg_find()函数查找次数打印:
lr_output_message("文本检查点找到指定字符串的次数为
%s",lr_eval_string("{count}"));
lr_output_message()为消息打印函数,打印到回放日志中;
lr_eval_string:获取脚本中的参数,返回的时字符串。
设置检查点
登录举例
- 在登录请求的前面设置好登录响应中期望的检查字符串, web reg find函数
- 判断一下期望字符串出现的次数,如果大于0表示登录成功(标记事务成功)否则登录失败(标记事务失败)
1、设置检查点可以统计出事务成功率,
2、还能打印出失败错误信息