目录
Tools
Recording Options
General Options
注释脚本
Review log
Runtime-Settings
General
Network
Browser
Internet Protocol
HTTPS证书
总结:
Tools
Recording Options
接下来我们挨个看一下里面的东东以及区别
General(通常的)
Script,不用修改,是脚本的语言,我们一般都是基于 C 语言的
Protocols:指的是协议,我们选的就是 HTTP 协议
Recording
HTML-based script(初学者用这个)——会把请求汇总,脚本会简介一些
URL-based script(做熟了之后用这个)——每一个 URL 是一个单独请求,请求会有很多,详细
HTML-based script 内的 Tree 视图只有一个请求:
脚本如下:
HTML-based script
HTML-based script 内部也有可选的:
这里注意不要选择 web_link 做脚本,要用web_url,也就是选第二个,为什么呢?
web_link会有个什么过程呢,比如我们在淘宝内点商品的"详情",是显示点击"详情",再 link 到"详情"的 url 地址上。如果 link 的对象是个乱码,大概率找不到
web_url 是直接点击"详情"url ,链接过去,也就是相当于效率更高,少了中间的跳转过程。
URL-based scripts 内的 Tree 视图,详细点
脚本内,图片之类的也会作为一个请求
URL-based script
URL-based script,依照默认的无需修改
Data Formate Extension(不需要管的东西)
Network
Port Mapping(代理录制的设置)
要代理录制的话,首先 Program to record 内要选:wplus_init_websocket.exe,这个是 loadrunner 的代理录制器
代理录制的原理:请求发到代理服务器,代理服务器再把请求发给服务器;服务器返回结果先给代理服务器,代理服务器再给客户端
其次才是设置 Option 内的:
Capture level:默认选 Socket level and WinNet level data
但是这里有可能会出现重复请求,因为是选的俩东西,可能会给你显示多次,cut 掉就完了
Edit Entry
Target Server:最好填 ip 不要填域名
Port:是啥写啥,http 默认 80,https 默认 443
Server ID :协议类型,http/https……
Service Type:默认 TCP
Record Type:Proxy,转发即可
Connection Type:Plain
Traffic Forwarding:端口跟浏览器内设置的一致
HTTP Properties(HTTP参数)
Advanced 勾选 UTF-8 ,解决的是脚本的乱码,解决请求乱码,不能解决 Response 乱码
General Options
回放视图展示,可以帮助定位问题
回放可看到 Runtime-viewer
注释脚本
ctrl+alt+c 注释脚本
ctrl+alt+c 取消注释脚本
Review log
回放的 review log 成功不代表业务成功,这里只是会对状态码进行校验,所以这里要注意一下,那么业务成功与否可以结合回访视图内的状态进行观察,是否成功
日志内绿色为成功的,
蓝色为参数的值,关联出的值以及事务
红色的为错误信息
Runtime-Settings
General
Run Logic
主要用来设置迭代次数,控制每个Action中脚本执行次数。
思考:若Run Logic中配置迭代次数为4,压测时Global Schedule中设置运行时长为5分钟,则迭代次数怎么弄?5分钟就停了吗?
解答问题的关键在于弄明白controller和迭代各自是控制哪里的,脚本运行时的执行顺序。如下是上述思考题的解答思路。
一般跑压测的时候,Runlogic都设置为1,若脚本中本身没有循环,那就只有controller中一层时间循环,时间一结束脚本就停止运行。
Pacing
设置action迭代的等待时间
Log
打印出的回放日志级别,在 Review Log 内显示,压测过程中可以把日志关闭
但是初学者在调试脚本的情况下,最好把日志打开,便于分析问题。并且要知道参数的值以及关联值,要勾选
Think Time
思考时间一般不加,路指出的脚本内也要删除,思考时间会增大 tps
Miscellaneous
附加说明:
1)lr默认50个线程为1个进程,压测进程进程名是mmdrv
2)进程比线程处理速度快
3)线程模式,节约资源
4)ip欺骗一定是用进程模式,一个进程模拟一个ip
Network
Speed Simulation
2G时代用,现在基本不用了
Browser
Browser Simulation
Internet Protocol
Proxy
Preferences
HTTPS证书
访问 https 协议的接口,会提示 ssl 错误:[GENERAL_MSG_CAT_SSL_ERROR] connect to host ……
解决方案:
1、 web_set_sockets_option("SSL_VERSION",
"TLS"); #把这行写到请求最前(解决 80% 问题)
并且,在virtual user generator 内,vuser->run-time settings->preferences->advanced里勾上WININET replay instead of Sockets。
2、安装相关证书
缺少证书的解决方案:
1. 得到web网页的.cer证书
2. 借助openssl转换证书的格式为perm
3. loadrunner配置
具体:
1. Google浏览器中先得到web网页的.cer证书
这边选择的格式需要记住,后续需要转换。
选择要保存的路径和文件名,完成.cer证书的导出。
2. openssl 转换证书格式
LR只支持.perm格式的证书,需要借助openssl。
① 下载openssl
官网的openssl貌似是win32的,win64不兼容
http://www.start64.com/index.php/64-bit-software/64bit-security/884-openssl-for-windows-x64-version
有时间也可以自己编译折腾一下(需要安装Perl、VS10、openssl),可以根据以下的教程来做:http://blog.csdn.net/houjixin/article/details/25806151
② 转换
打开cmd,运行openssl
中间打了马赛克的就是转换前后证书路径文件,一定要加上路径。
- 路径不对会如下报错:
- 转换的命令和cer文件的编译格式有关系,如果不对,会报如下错误:
以下是openssl命令的格式:
3. Loadrunner设置证书
https的端口号就固定的443。
设置完成,进行回放,完成!
总结:
感谢每一个认真阅读我文章的人!!!
我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。
Python自动化测试学习交流群:全套自动化测试面试简历学习资料获取点击链接加入群聊【python自动化测试交流】:http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DhOSZDNS-qzT5QKbFQMsfJ7DsrFfKpOF&authKey=eBt%2BF%2FBK81lVLcsLKaFqnvDAVA8IdNsGC7J0YV73w8V%2FJpdbby66r7vJ1rsPIifg&noverify=0&group_code=198408628