LoadRunner(二):脚本录制和回放

LoadRunner自带了一个飞机票订票网站web tours,可以用来进行简单的录制和回放,以下介绍都是基于此网站。

1.启动web tours服务

在LoadRunner安装目录下,单击..\Samples\Web\Start HP Web Tours Server.bat

2.验证web tour可访问

  1. 打开浏览器,输入http://127.0.0.1:1080/WebTours/
  2. 单击..\Samples\Web\ HP Web Tours Application.bat

3.启动virtual user generator

单击virtual user generator的快捷方式,弹出如下窗口:

4.File-->New Script and Solution

​​​​​​​

5.选择对应的协议

支持http/socket/web serivice等,常用的是http

Single Protocol:单一协议,一般都是用这个

Multiple Protocol:混合协议,可以多选,一般不用

Mobile and IoT:手机和物联网,一般不用

Popular:主流的,一般不用

Recent:最近使用的协议

​​​​​​​

6.脚本结构

Solution是压测方案,可以包含多个script;每个script可以包含一个Actions;Actions的组成:

  1. vuser_init:是一个函数,在一个线程中最多执行1次,,一个用于数据准备等操作,在action前执行,类似于unittest中的setUp,执行初始化的工作;
  2. vuser_end:是一个函数,在一个线程中最多执行1次,在action后执行,类似于unittest中的tearDown,执行清理工作;
  3. Action:是一个函数,可以包含多个,每个Action可以执行多次,并且设置是顺序执行,还是随机顺序执行。通过Runtime setting设置脚本执行次数。一个action就是一个函数,lr支持多种脚本语言:c/java/vb等,有返回值
  4. 每个action对应一个函数,同时在脚本目录下会有以改action开头的.c函数。比如vuser_init,其实是vuser_init.c文件中的vuser_init()函数

 

原则:

  1. 用户的初始化操作存(比如登录)放在Vuser_init中,用户的结束操作(比如退出)存放在Vuser_end中。因为这两个Action在后面的Run Logic默认设置中是处在脚本最先运行和最后运行的位置,并且负载时,不管迭代多少次,Vuser_init和Vuser_end只会在开始和结束时被运行一次。
  2. Action用来存放用户的操作,可以当作普通的函数在负载,迭代时会被反复运行。
  3. 录制时可以通过如下方式切换Action,然后进行录制操作来实现,不必在脚本中手动添加或修改

7.开始录制

单击yes

单击否

录制的过程中会出现各种弹框,点击一下会有点慢,耐心等待即可

​​​​​​​8.结束录制

录制中的进度条,录制完成后点结束就行

​​​​​​​​​​​​​​

 

​​​​​​​9.生成的脚本

Action()

{



web_add_auto_header("DNT",

"1");


web_url("index.htm",    //请求的名字

"URL=http://127.0.0.1:1080/WebTours/index.htm",  //请求的网址

"Resource=0", //是否是资源?0:不是资源,是个网页 1:是资源,文件/图片、js、css..

"RecContentType=text/html",   //contentType:请求类型:网页类型

"Referer=",                  //从哪个网址访问来的信息

"Snapshot=t1.inf",           //截图文件的名字

"Mode=HTML",    //录制的模式:html或url。如果有ajax\flash\:必须使用url,会把所有的http请求录制下来。

EXTRARES,                   //资源文件

"Url=../favicon.ico", "Referer=", ENDITEM,

"Url=http://s.pc.qq.com/navigate/adc/adc_loader.js?v=20160326171611", ENDITEM,

"Url=http://s.pc.qq.com/navigate/adc/v4/engine_loader_v3.js", ENDITEM,

"Url=http://s.pc.qq.com/navigate/adc/jquery.min.js?ver=3", ENDITEM,

"Url=http://s.pc.qq.com/navigate/adc/velocity.js", ENDITEM,

LAST);



web_set_sockets_option("SSL_VERSION", "2&3");


web_url("login.pl",

"URL=http://127.0.0.1:1080/WebTours/login.pl?username=&password=&getInfo=true",

"Resource=0",

"RecContentType=text/html",

"Referer=http://127.0.0.1:1080/WebTours/home.html",

"Snapshot=t3.inf",

"Mode=HTML",

LAST);


web_add_cookie("SRCHD=AF=NOFORM; DOMAIN=iecvlist.microsoft.com");



web_add_cookie("SRCHUID=V=2&GUID=213C7604B2E646778D68C0E2C5F9563A&dmnchg=1; DOMAIN=iecvlist.microsoft.com");


web_add_cookie("SRCHUSR=DOB=20190119; DOMAIN=iecvlist.microsoft.com");


web_add_cookie("MC1=GUID=1cc40e7eeb084d58a1a4aab5a0176a31&HASH=1cc4&LV=201903&V=4&LU=1553846123710; DOMAIN=iecvlist.microsoft.com");


web_add_cookie("MUID=30550888172C666B26C505A6132C607F; DOMAIN=iecvlist.microsoft.com");


web_add_auto_header("UA-CPU",

"AMD64");



web_revert_auto_header("UA-CPU");


web_submit_data("login.pl_2",

"Action=http://127.0.0.1:1080/WebTours/login.pl", //数据提交后的处理网址

"Method=POST",      //http协议的类型

"RecContentType=text/html",   //资源类型,contenttype

"Referer=http://127.0.0.1:1080/WebTours/login.pl?username=&password=&getInfo=true",

"Snapshot=t6.inf",

"Mode=HTML",

ITEMDATA,

"Name=username", "Value=tianchuan", ENDITEM,

"Name=password", "Value=tianchuan", ENDITEM,

"Name=passwordConfirm", "Value=tianchuan", ENDITEM,

"Name=firstName", "Value=tianchuan", ENDITEM,

"Name=lastName", "Value=tianchuan", ENDITEM,

"Name=address1", "Value=tianchuan", ENDITEM,

"Name=address2", "Value=tianchuan", ENDITEM,

"Name=register.x", "Value=57", ENDITEM,

"Name=register.y", "Value=13", ENDITEM,

LAST);



return 0;

}

 

​​​​​​​10.回放脚本

 

​​​​​​​11.执行结果

如果执行失败会显示红色,而且提示failed

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值