性能测试LoadRunner 第一个开发测试脚本
性能测试LoadRunner 第一个开发测试脚本
基于HP LoadRunner。第一个开发测试脚本,知识点及流程。
一个登陆操作,只插入了事务和集合点。
Virtual User Generator,录脚本(虚拟用户生成器)
Controller,控制器
Analysis,分析报告
添加注册用户
D:\Program Files (x86)\LoadRunner 12.01\WebTours\cgi-bin\users 目录,复制jojo更改id密码。
或直接在录制http://127.0.0.1:1080/WebTours/中注册。
涉及知识点总结
1.VuGen中的脚本分为三部分:vuser_init、vuser_end 和 Action。类似于unittest等测试框架。init,end只执行一次,重复执行为Action部分。
vuser_init用于用户初始化。
vuser_end用于用户清理工作。
Action用于具体的需要测试的操作。
2.插入事务,事务(Transaction):为了衡量服务器的性能,我们需要定义事务。比如:我们在脚本中有一个数据查询操作,为了衡量服务器执行查询操作的性能,我们把这个操作定义为一个事务,这样在运行测试脚本时,LoadRunner 运行到该事务的开始点时,LoadRunner 就会开始计时,直到运行到该事务的结束点,计时结束。这个事务的运行时间在结果中会有反映。插入事务操作可以在录制过程中进行,也可以在录制结束后进行。LoadRunner 可以在脚本中插入不限数量的事务。
lr_start_transaction("login_transaction");
3.插入集合点,插入集合点是为了衡量在加重负载的情况下服务器的性能情况。在测试计划中,可能会要求系统能够承受1000 人同时提交数据,在LoadRunner 中可以通过在提交数据操作前面加入集合点,这样当虚拟用户运行到提交数据的集合点时,LoadRunner 就会检查同时有多少用户运行到集合点,如果不到1000 人,LoadRunner 就会命令已经到集合点的用户在此等待,当在集合点等待的用户达到1000 人时,LoadRunner 命令1000 人同时去提交数据,从而达到测试计划中的需求。
注意:集合点经常和事务结合起来使用。集合点只能插入到Action 部分,vuser_init和vuser_end 中不能插入集合点。
lr_rendezvous("login_zvous");
总流程!!!概述
准备工作:启动StartServer.bat服务
Loadrunner安装时附带的样例程序Web Tours进行
D:\Program Files (x86)\LoadRunner 12.01\WebTours,选择StartServer.bat启动服务。
step1:录制基本用户脚本-Virtual User Generator
1.在Visual User Generator中,新建脚本,选择对应协议,创建后,进入主窗体。
2.点击录制,选择录制部分,选择浏览器,填写URL,确定脚本存放位置,开始录制。
http://127.0.0.1:1080/WebTours/
3.开始录制操作,进行操作,插入事务,插入集合点,结束事务,点击停止录制,返回脚本界面。
4.菜单栏Tools下Create Controller Scenario,设置并发用户3(max6),ok跳至 Controller运行。
step2:控制器中运行-Controller
1、更改初始化、开始、运行时长、结束设置,至如下图。
2、运行,在Scenario Groups中运行;也可在下菜单栏Run界面中Scenario Groups运行。
3、控制器观察运行情况。
step3:生成分析报告-Analysis
生成的脚本:
Action()
{
web_url("WebTours",
"URL=http://127.0.0.1:1080/WebTours",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
LAST);
lr_think_time(5);
lr_start_transaction("login_transaction");
lr_rendezvous("login_zvous");
web_submit_form("login.pl",
"Snapshot=t2.inf",
ITEMDATA,
"Name=username", "Value=zxy", ENDITEM,
"Name=password", "Value=123", ENDITEM,
"Name=login.x", "Value=76", ENDITEM,
"Name=login.y", "Value=8", ENDITEM,
LAST);
lr_end_transaction("login_transaction",LR_AUTO);
lr_think_time(5);
web_image("SignOff Button",
"Alt=SignOff Button",
"Snapshot=t3.inf",
LAST);
return 0;
}
本文地址:https://blog.csdn.net/weixin_43660497/article/details/107369943