脚本录制优化
1.脚本的录制
Start Record 选择协议web/http 添加url
首页放到初始化里 init
将某些操作放到新的Action里面(在录制的小窗口改变init->action 或者new action)
将注销部分放到 vuser_end
Action的划分很有必要 (业务模型)
vuser_init 只执行一次
into_login
submit_login web_submit_data 提交数据 参数化
vuser_end 只执行一次
2.脚本的回放
录制完成后回放 首先编译 compile No error detected(发现)
单步执行 F10 vuser->step by step
Note: LoadRunner是用底层事件流方式进行压力测试而qtp是记录每个事件 因此即使LoadRunner的Result是pass 结果也不一定pass
3.脚本的优化
有的时候action的划分的 不是自己想要的 所以需要脚本的优化
1>单独的业务 需要插入事物点 (想衡量的业务点 如登录成功需要多少s)
2>参数化 ①脚本简洁②更真实的模拟用户的情况
3>集合点 (压力较大) 提交(更真实的模拟用户 如10个用户一起点击)
4>检查点 如何检查用户登录是否成功(脚本)需插入文本检查点
优化的方式①语句编写②界面的按钮
一、登录成功页面 添加事物点
怎样插入事物点
①函数直接写
②工具栏上添加 Insert Start Transaction(Ctral+T)/ End Transaction(Ctrl+D)
③Insert->start transaction
添加事物点-> 衡量业务所用的时间
lr_start_transaction("confirm message"); /*该事物点的作用是统计登录成功反馈信息*/
lr_end_transaction("confirm page",LR_AUTO);
二、添加集合点(在业务操作的前面做 如:提交 登录) web_submit_data前
怎样添加集合点
①函数
②Insert-> Rendezvous
lr_rendezvous("login_rendezvous");/*设置登录提交操作的集合点*/
三、设置参数化
1>新建参数①工具栏 Open parameter list②Insert->New Parameter
New parameter ->username type:table addrow->username
2>右键(想参数化的地方 如用户名)->use existing parameters->
怎样输出参数化的用户名
利用日志输出的方法获取用户名
在事物结束点后添加函数lr_log_message(" ", );
lr_log_message("用户名:%s",lr_eval_string("{username}"));
Note1.在run-time settings设置迭代次数 Number of Iterations ->2(有几个用户名就设置为几)
2.用户名aaa不存在 但可以执行成功 是因为不具备校验的功能
脚本通过不一定代表脚本是真正的执行了
四、设置检查点
作用:在实际的大压力中登录不正常 设置检查点可以检查登录的状态(如用错误的用户名 系统未检测出)
文本检查点
web_find 界面检查
web_reg_find 语言代码检查