本文从原理与细节上详细介绍一下loadrunner录制APP脚本,在这之前本人依照网上步骤试验多次仍不成功,原因是网络代理配置错误。
测试方法
APP的压力测试与WEB或TCP的略有不同,loadrunner录制网页非常方便,录制TCP直接写脚本即可,但APP录制必须使用代理(当然还可以自己写脚本,还可以安装模拟器)。
我将我的服务器tomcat与loadrunner 12都是放在一台本地PC机上,因为仅是脚本录制,所以无所谓,等真正压力测试的时候只需要修改一下服务器端与IP即可。
loadrunner 12的Virtual User Generator提供了http代理与脚本录制的能力。
- app通过代理发送http请求给loadrunner的代理;
- 代理接收到http请求后,触发loadrunner脚本录制;
- loadrunner转http请求转发给本地tomcat;
- 4、5、6步是返回信息;
app本来是将请求发给业务服务器,但这样不过loadrunner,无法录制脚本,所以手机要设置请求loadrunner运行时的代理服务器,设置后APP就将请求发给loadrunner的代理,loadrunner代理请求的同时录制脚本,如此而已。
软件准备
除自身服务器之外还需要
- 360免费wifi:如果是PC机,需要插个无线网卡才能用360免费wifi,如果是笔记本就直接可以用;360免费wifi下载地址为http://wifi.360.cn/easy/pc/ ,wifi建立好后,如下:
2.loadrunner 12下载,我在csdn下载的,http://download.csdn.net/detail/nunterr/9600649 ,按照上传者步骤安装,只需要解压安装 HP_LoadRunner_12.50_Community_Edition_HPLR_1250_Community_Edition即可;
录制脚本四个步骤
1.检查网络状况
禁用掉其它网络,比如docker的、虚拟机的等,原因就是为了loadrunner代理的时候,它有可能代理了docker或虚拟机的,导致代理不成功,所以只需要保留本地的localhost与360免费wifi,否则代理配置不会成功,如下是我的禁用
2.loadrunner 录制脚本
选择录制方式
开始录制
设置远程代理模式后,start recording即可,8899是随便设置的,不冲突即可
3.检查代理配置成功方法
这一步非常重要,而这是百度经验或网上没有的步骤,但我就掉这个坑里了。
- cmd命令输入ipconfig
详见看红框,我这里有两个网卡,所以出现两个IPV4地址,请区分清楚,否则手机上代理你不知道配置哪个IP,这个坑我浪费了一天时间。
- 输入命令netstat -ano|findstr "8899"
可见loadrunner代理的是172.27.35.1的网络,而10.10.100.130被代理后IP变成了本地IP127.0.0.1,这时我们应该在手机上设置代理IP为172.27.35.1。
4.手机连接360虚拟wifi且配置代理
不需要做其它配置,比如动态或静态IP
手机配置好后,直接运行APP,触发请求即可看到loadrunner的recording小框后面的event数量的变动,大于12就算是录制成功了
录制后,脚本如下(略修改)
总结
我在网上大概搜索到五六篇不同的用loadrunner录制APP的文章,都没有试验成功,所以我这篇文章加了一些检查网络代理的步骤,只有代理配置成功了,loadrunner脚本才能录制成功,我在这里浪费了富贵的时间,所以希望对读者有帮助。