loadrunner GUI界面性能测试
来源:互联网 发布:淘宝售假仅退款不退货 编辑:程序博客网 时间:2024/06/08 12:32
1、测试目标:测试界面10个用户并发登陆后搜索、预定、查询的负载压力测试表现
2、脚本录制: virtual user录制脚本,设置事务、参数化,检查点等
3、场景设计
4、分析结果
遇到问题:首先我在录制脚本的时候把所有的登陆、搜索、预定、查询、退出都录制在Action中,在场景设计好后运行后能够测试,但是就是所有的登陆、搜索、预定、查询、退出事务执行的次数都相同,并没有对用户所重点操作的事务进行重点测试
原因:现实应该是用户登录后,它会将自己的操作放在搜索、预定、查询上面,所以这三个事务才是测压的重点
解决办法:将用户登录放到 vuser_init内,让用户登录只执行一次,后搜索、预定、查询录在Action中,把用户退出录在vuser_end里面,这样就可以执行对三个事务的重点场景测试
这个过程中也遇到了问题,我一开始是直接将原来所有事务录在Action中的每部分分别放到init action end中去,结果就发现从init跳到action和从action跳到end会报错,原因是可能缓存了URL,就想着将run-time setting中的browser 中的cache urls require contents去掉,这样脚本运行能通过,但是放到场景设计后再运行就开始大量报错,就想想是不是这样处理脚本还是不行
解决办法:重新直接录制脚本,在录制过程中分init action end三段来录,这样每段之间其实就把URL信息传递下去,这样脚本运行也就没有问题,而且场景设计运行也没有问题,没有报错。
总结:要明确用例设置测试的重点是什么就放在action中,其他只是初始化和结束,脚本简单修改可能还是会有问题,还需要重新录制才能保证准确,场景运行遇到问题要仔细分析脚本是否有问题,也对场景目标有更深的理解
附成功录制脚本如下:
vuser_init()
{
web_reg_save_param("userlog",
"LB=name=userSession value=",
"RB=>",
"Ord=1",
"Search=All",
"IgnoreRedirections=Yes",
LAST);
lr_start_transaction("HomePage");
web_url("WebTours",
"URL=http://127.0.0.1:1080/WebTours/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t44.inf",
"Mode=HTML",
LAST);
lr_think_time(8);
lr_end_transaction("HomePage", LR_AUTO);
lr_start_transaction("login");
web_submit_data("login.pl",
"Action=http://127.0.0.1:1080/WebTours/login.pl",
"Method=POST",
"RecContentType=text/html",
"Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home",
"Snapshot=t45.inf",
"Mode=HTML",
ITEMDATA,
"Name=userSession", "Value={userlog}", ENDITEM,
"Name=username", "Value=lw2", ENDITEM,
"Name=password", "Value=lw2", ENDITEM,
"Name=JSFormSubmit", "Value=on", ENDITEM,
"Name=login.x", "Value=47", ENDITEM,
"Name=login.y", "Value=12", ENDITEM,
LAST);
lr_end_transaction("login", LR_AUTO);
return 0;
}
Action()
{
lr_think_time(9);
web_url("welcome.pl",
"URL=http://127.0.0.1:1080/WebTours/welcome.pl?page=search",
"Resource=0",
"RecContentType=text/html",
"Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home",
"Snapshot=t46.inf",
"Mode=HTML",
LAST);
lr_think_time(5);
lr_start_transaction("searchfight");
web_submit_form("reservations.pl",
"Snapshot=t47.inf",
ITEMDATA,
"Name=depart", "Value=Denver", ENDITEM,
"Name=departDate", "Value=06/11/2017", ENDITEM,
"Name=arrive", "Value=Los Angeles", ENDITEM,
"Name=returnDate", "Value=06/12/2017", ENDITEM,
"Name=numPassengers", "Value=1", ENDITEM,
"Name=roundtrip", "Value=<OFF>", ENDITEM,
"Name=seatPref", "Value=Aisle", ENDITEM,
"Name=seatType", "Value=Coach", ENDITEM,
"Name=findFlights.x", "Value=61", ENDITEM,
"Name=findFlights.y", "Value=6", ENDITEM,
LAST);
web_submit_form("reservations.pl_2",
"Snapshot=t48.inf",
ITEMDATA,
"Name=outboundFlight", "Value=030;251;06/11/2017", ENDITEM,
"Name=reserveFlights.x", "Value=26", ENDITEM,
"Name=reserveFlights.y", "Value=8", ENDITEM,
LAST);
lr_think_time(10);
lr_end_transaction("searchfight", LR_AUTO);
lr_start_transaction("bookflight");
web_submit_form("reservations.pl_3",
"Snapshot=t49.inf",
ITEMDATA,
"Name=firstName", "Value=weiwei", ENDITEM,
"Name=lastName", "Value=Li", ENDITEM,
"Name=address1", "Value=panyu", ENDITEM,
"Name=address2", "Value=Guangzhou", ENDITEM,
"Name=pass1", "Value=weiwei Li", ENDITEM,
"Name=creditCard", "Value=1234567", ENDITEM,
"Name=expDate", "Value=10/8", ENDITEM,
"Name=saveCC", "Value=<OFF>", ENDITEM,
"Name=buyFlights.x", "Value=29", ENDITEM,
"Name=buyFlights.y", "Value=13", ENDITEM,
LAST);
lr_end_transaction("bookflight", LR_AUTO);
lr_start_transaction("check itinerary");
web_image("Itinerary Button",
"Alt=Itinerary Button",
"Snapshot=t50.inf",
LAST);
lr_end_transaction("check itinerary", LR_AUTO);
return 0;
}
vuser_end()
{
lr_think_time(7);
lr_start_transaction("loginoff");
web_url("welcome.pl_2",
"URL=http://127.0.0.1:1080/WebTours/welcome.pl?signOff=1",
"Resource=0",
"RecContentType=text/html",
"Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=itinerary",
"Snapshot=t51.inf",
"Mode=HTML",
LAST);
lr_end_transaction("loginoff", LR_AUTO);
lr_output_message("预定成功");
return 0;
}
- loadrunner GUI界面性能测试
- 性能loadrunner--loadrunner测试工程
- LoadRunner性能测试实战
- LoadRunner性能测试指标
- LoadRunner性能测试指标
- LoadRunner性能测试指标
- LoadRunner性能测试
- loadrunner性能测试
- 基于Loadrunner性能测试
- LoadRunner性能测试技术培训
- Loadrunner性能测试-关联
- loadrunner性能测试从零开始
- loadrunner性能测试
- LoadRunner 性能测试脚本
- LoadRunner测试接口性能
- Loadrunner测试数据库性能
- 性能测试LoadRunner总结
- loadrunner性能测试
- UBUNTU16.10系统,显卡GTX1070,鼠标一直在左上角
- 实验四 DPCM编码
- download
- Python语法第3讲:数组
- Windows无法格式化改卷,改卷已脱机, 请尝试首先向改卷分配驱动器号或路径使其联机
- loadrunner GUI界面性能测试
- php 替换敏感字符串
- 数据库最常见的10个安全问题
- 接着很久以前的贪吃蛇
- [JAVA学习笔记-97]ActiveObject模式的Scheduler的关键实现
- Java动态代理的两种实现方法
- HDU3829 (9/600)
- 求1+2+…+n, 要求不能使用乘除法、for、while、if、else、switch、case和条件语句
- Spring jdbcTemplate 的测试 --(三)