LoadRunner Vuser
原理
1、仍然是代理
2、将客户端和服务器当时说的话(协议)拦截到,理解后,转换成Loadrunner自身理解的形式展 现出来。
录制脚本
应用程序类型,可选择 internet应用程序和win32应用程序。loadrunner只关注协议,不关注程序。
录制结果:
loadrunner自动维护cookie ,如果没有特殊需要,可删掉选中的部分。
1、回放日志 2、录制日志 3、关联结果 4、生成日志。包括http请求头和内容。
保存脚本后。可以看到,有很多文件。
.usr 可直接在loadrunner打开脚本
Action.c vuser_end.c vuser_init.c globals.h 分别是程序里 Action vuser_init vuser_end globals.h 的脚本
default.cfg 是运行时配置。程序里按F4调出
mdrv.log 回放日志
执行顺序。先执行init 在执行 action 最后执行 end
按F4,runlogic 可设置 action迭代次数。 init和end永远只执行一次。
loadrunner自带的网站 默认用户名密码 jojo bean
录制html_based script 高级的2种模式的区别
Action() { web_submit_form("login.pl", //第一种,按照行为的方式去录制 依赖上下文。 会报错 "Snapshot=t2.inf", ITEMDATA, "Name=username", "Value=jojo", ENDITEM, "Name=password", "Value=bean", ENDITEM, "Name=login.x", "Value=31", ENDITEM, "Name=login.y", "Value=12", ENDITEM, LAST); return 0; } Action() { web_submit_data("login.pl", //第二种 按照协议的方式 不依赖上下文。不会报错 "Action=http://127.0.0.1:1080/WebTours/login.pl", "Method=POST", "TargetFrame=body", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home", "Snapshot=t2.inf", "Mode=HTML", ITEMDATA, "Name=userSession", "Value=121381.591656541zctDfzfpzcAiDDDDDHtzVpDQDHcf", ENDITEM, "Name=username", "Value=jojo", ENDITEM, "Name=password", "Value=bean", ENDITEM, "Name=JSFormSubmit", "Value=off", ENDITEM, "Name=login.x", "Value=19", ENDITEM, "Name=login.y", "Value=9", ENDITEM, LAST); return 0; }
选择哪种方式录制,有以下参考原则:
(1) 基于浏览器的应用程序推荐使用HTML-based Script
(2) 不是基于浏览器的应用程序推荐使用URL-based Script。
(3)如果基于浏览器的应用程序中包含了JavaScript 并且该脚本向服务器产生了请求,比如DataGrid 的分页按钮等,flash等,也要使用URL-based 方式录制
(4 )基于浏览器的应用程序中使用了HTTPS 安全协议,使用URL-based 方式录制
思考时间设置:
日志输出
部分日志
HTTP version: 1.1 [MsgId: MMSG-26845] //http版本 Keep-Alive HTTP connections: Yes [MsgId: MMSG-26845] //是否使用长连接 DNS caching: Yes [MsgId: MMSG-26845] //dns缓存 Simulate browser cache: Yes [MsgId: MMSG-26845] //模拟使用浏览器缓存
Action.c(4): User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; Action.c(4): .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; Action.c(4): .NET4.0E; InfoPath.3)\r\n // User-Agent可以在这里设置 很多网站会根据User-Agent返回手机版url还是pc版
启用浏览器缓存和不启用浏览器缓存
启用缓存输出日志 Action.c(37): Resource "http://127.0.0.1:1080/WebTours/images/hp_logo.png" is in the cache already and will not be downloaded again [MsgId: MMSG-26655] Action.c(45): web_url("webtours.png1") 已启动 [MsgId: MMSG-26355] Action.c(45): Resource "http://127.0.0.1:1080/WebTours/images/webtours.png" is in the cache already and will not be downloaded again [MsgId: MMSG-26655] 不启用缓存 Action.c(37): t=1008ms: 601-byte response body for "http://127.0.0.1:1080/WebTours/images/hp_logo.png" (RelFrameId=1, Internal ID=5) Action.c(37): t=1010ms: Request done "http://127.0.0.1:1080/WebTours/images/hp_logo.png" [MsgId: MMSG-26000]
多个action执行顺序调整.
2个action都会执行2次.这里也可以设置2个action执行的百分比.等等
http的配置