51Testing软件测试论坛

标题: 实例 -- Loadrunner实现Android / IOS 手机APP压力测试 [打印本页]

作者: KateCao    时间: 2015-8-21 09:35
标题: 实例 -- Loadrunner实现Android / IOS 手机APP压力测试
实例 -- Loadrunner实现Android / IOS 手机APP压力测试

随着手机APP用户量的增大,大的手机APP一般都需要进行压力测试,这几天用了Loadrunner 12进行了手机APP的压力测试,整理了下,大家可以参考参考怎样给Andorid / IOS手机APP进行压力测试,以下是操作实例。

先前我的一个帖子讲了用 小萝贝虚拟手机 实现手机APP的功能自动化测试工作,我想说的是 小萝贝虚拟手机 仅支持手机APP功能自动化测试工作哦,不支持压力测试,请大家注意,帖子地址粘贴下,有需要手机APP功能自动化测试的网友们可以看看,http://bbs.51testing.com/thread-1051242-1-2.html,里面有视频的。在百度里可以搜到 小萝贝虚拟手机。


下面介绍LR12进行手机压测的步骤:
1.       网上下载个Loadrunner 12的安装包,我下了个叫 HP_LoadRunner_12_Community_Edition_T7177-15045.exe的文件,这个960M,还有个1.2G的名称中有个Addition的我没装,我的系统是Win7 32 + IE8
2.       我这个装好后,默认的license是长期的但只有50人,我建议可以用这个录制脚本到时用Loadrunner8.0并发更多,因为手机APP实际上是监控手机对服务器发出的请求,LR12捕获这些请求,压力测试是压测服务器的。
3.       准备个小度,插入USB接口,用驱动人生扫描驱动,扫描出小度wifi驱动没装,点击安装,驱动人生下载驱动并安装好,安装完后的小度有wifi名及密码。
4.       手机连接上这个网络,长按此网络,点击修改网络配置,显示高级选项,代理服务器设置为手动,代理主机名及代理服务器端口设置下,下载个CCProxy,运行下,可以查看到本机局域网IP地址,端口随便设置个,如8899. 停止CCProxy.
5.       启动LR12 Virtual User Generator,点击File – New script and solutionSingle Protocol里选择 Web – HTTP/HTML,点击Create
6.       点击工具栏的红色的Record按钮,Recording mode选择 Remote Application via LoadRunner Proxy,端口设置为8899Loadrunner会监听这个端口,此端口为手机连接的代理服务器端口。
7.       点击 Start Recording开始录制
8.       录制完成后会生成脚本,如下,可以删掉不必要的脚本,剩下自己要测的程序的。
9.       回放脚本,脚本回放成功,并成功登录手机APP,返回别名
10.   从 Tools 点击Create Controller Scenario,设置Number of Vusers10人,可以设置更多,这里我设置成10,跑一下,在ControllerDesigntab下将Scenario ScheduleRun Mode设置成为Basic scheduleController – Results – Results Settings,窗口打开后勾选第一个生成每个用户运行时日志,此窗口记录下日志保持的文件夹,运行场景。
11.   在Controller点击Results – Analyze Results,查看结果
12.   检查每个用户运行时日志查看细节


作者: xtynkgehy    时间: 2015-8-21 10:25
有点晕
作者: xtynkgehy    时间: 2015-8-21 10:25
有点晕
作者: KateCao    时间: 2015-8-21 10:42
xtynkgehy 发表于 2015-8-21 10:25
有点晕

为什么会晕呢
作者: ichsinmo    时间: 2015-8-21 14:42
为什么录制的是web http/html 协议类型的脚本
作者: KateCao    时间: 2015-8-21 14:50
ichsinmo 发表于 2015-8-21 14:42
为什么录制的是web http/html 协议类型的脚本

手机APP操作时,发出对服务器的请求,一般测试都是对服务器的压力测试,LR12是录制到这些请求,你看完我的帖子就应该不会有这个疑问了
作者: ichsinmo    时间: 2015-8-21 15:14
KateCao 发表于 2015-8-21 14:50
手机APP操作时,发出对服务器的请求,一般测试都是对服务器的压力测试,LR12是录制到这些请求,你看完我 ...

我之前查找到的资料  都是要选择mobile app(http/html)协议的  
作者: KateCao    时间: 2015-8-21 15:39
ichsinmo 发表于 2015-8-21 15:14
我之前查找到的资料  都是要选择mobile app(http/html)协议的

你用了就知道,mobile app(http/html)录制有好几个选项,包括通过模拟器录制,proxy录,实际proxy在mobile app协议及web协议的功能是一样的,都是对服务器发出请求,并压测
作者: GLong    时间: 2015-8-21 15:59
就是设置代理录制啊,很简单的啊

作者: ichsinmo    时间: 2015-8-22 08:26
KateCao 发表于 2015-8-21 15:39
你用了就知道,mobile app(http/html)录制有好几个选项,包括通过模拟器录制,proxy录,实际proxy在mobil ...

好的

作者: kuangli1020    时间: 2015-8-22 21:35
手机通过代理来录制,,, 这个是录制http的   请问websocket也可以吗?
作者: 940685414    时间: 2015-8-24 09:12
GLong 发表于 2015-8-21 15:59
就是设置代理录制啊,很简单的啊

你行你分享个难的,中国像你这样的人太多了,导致现在人都冷漠了,事不关己高高挂起,没看见楼主写得很详细吗?最烦你这种人,装,你觉得简单,你可以闭嘴,像我们这些新手就需要这样实用的入门帖子。

谢谢楼主分享,真的很详细。
作者: ichsinmo    时间: 2015-8-24 09:17
KateCao 发表于 2015-8-21 14:50
手机APP操作时,发出对服务器的请求,一般测试都是对服务器的压力测试,LR12是录制到这些请求,你看完我 ...

我现在有个问题哦,,,录制脚本时提示说无网络访问

作者: KateCao    时间: 2015-8-24 09:25
ichsinmo 发表于 2015-8-24 09:17
我现在有个问题哦,,,录制脚本时提示说无网络访问

你装个CCproxy,将你手机的代理服务器地址及端口设置的跟CCProxy一样,看下能上网波,如果上不了就不是lr步骤的问题,而是你网络问题,如果能上,将CCProxy关掉,启动lr选择协议的录制方式,设置此时手机代理服务器设置的窗口,点击开始录制,此时访问手机的网络,应该可以访问网络。
作者: KateCao    时间: 2015-8-24 09:31
kuangli1020 发表于 2015-8-22 21:35
手机通过代理来录制,,, 这个是录制http的   请问websocket也可以吗?

winsocket录制的是PC端的应用程序及web
作者: james_007    时间: 2015-8-24 16:06
谢谢楼主分享,刚好准备做这样的项目
作者: james_007    时间: 2015-8-24 16:37
想问一下楼主,我用LR11不知道可不可以呢?还有步骤3的小度是什么?
作者: KateCao    时间: 2015-8-24 16:39
james_007 发表于 2015-8-24 16:06
谢谢楼主分享,刚好准备做这样的项目

有问题可以交流
作者: KateCao    时间: 2015-8-25 09:53
james_007 发表于 2015-8-24 16:37
想问一下楼主,我用LR11不知道可不可以呢?还有步骤3的小度是什么?

LR11.52后才支持,你可以LR12录制拷贝脚本到LR11并发更多,小度是像U盘样的一个随身wifi,通过你电脑的网络创建wifi网,百度下
作者: virgolong    时间: 2015-8-25 10:09
昨天试了一把可以录制的
手机端wifi信号设置里,长按连接的信号修改设置,设置代理服务器为LR电脑的IP,端口随便设了个8888
然后LR录制选择 Remote Application via LoadRunner Proxy,端口设置为8888,开始录制
然后手机端操作,能正常录制
作者: james_007    时间: 2015-8-25 13:14
KateCao 发表于 2015-8-25 09:53
LR11.52后才支持,你可以LR12录制拷贝脚本到LR11并发更多,小度是像U盘样的一个随身wifi,通过你电脑的网 ...

原来是这样,谢谢
作者: KateCao    时间: 2015-8-27 12:51
KateCao 发表于 2015-8-21 14:50
手机APP操作时,发出对服务器的请求,一般测试都是对服务器的压力测试,LR12是录制到这些请求,你看完我 ...

手机的wifi连接设置为手动配置手机代理服务器,设置成CCProxy我图截的那个IP,随便再设个端口,此时手机肯定是上不了网,因为你机器上没代理服务器,将loadrunner打开选择协议,设置端口为刚刚手机设置的,进行录制,录制开始后你再在手机上访问网络就有网了,先后顺序很关键,你的情况我这边也发生过,那是因为loadrunner没开始录制。
作者: 微笑闪士    时间: 2015-9-9 10:22
KateCao 发表于 2015-8-24 09:25
你装个CCproxy,将你手机的代理服务器地址及端口设置的跟CCProxy一样,看下能上网波,如果上不了就不是lr ...

请问楼主,装CCproxy是作什么用途的?难道只为确认host的IP地址然后填入以此编辑手机的IP地址?只要手机能够成功连上wifi热点不就可以了吗?感觉使用CCproxy这一步有点画蛇添足了,若有理解不对之处,还望楼主赐教。
作者: KateCao    时间: 2015-9-9 16:23
微笑闪士 发表于 2015-9-9 10:22
请问楼主,装CCproxy是作什么用途的?难道只为确认host的IP地址然后填入以此编辑手机的IP地址?只要手机 ...

你的loadrunner安装的电脑在手机配置时是代理服务器,这样loadrunner才能监听端口,你的wifi热点是你电脑产生的就行,我查看IP地址是想看局域网IP地址,这样查看比较准确,写出来是因为这样能成功,ipconfig /all也可以看但是ip地址多了,对于看帖子的人有的人就不知道是哪个了
作者: 15105411310    时间: 2015-9-18 14:55
想问一下,为什么要用小度?目的是什么?不用行不行?还有,我用的lr11,怎么找不到你说的 Remote Application via LoadRunner Proxy,端口设置??多谢大家解答。。
作者: 张燕    时间: 2015-9-18 15:07
请问楼主为什么要用小度来实现wifi上网?用路由器连接无限网实现上网不可以么?还有,我用的lr11怎么找不到你说的代理设置和端口设置呢?
作者: KateCao    时间: 2015-9-22 13:47
15105411310 发表于 2015-9-18 14:55
想问一下,为什么要用小度?目的是什么?不用行不行?还有,我用的lr11,怎么找不到你说的 Remote Applicat ...

可以不用小度,手机与电脑用同一个wifi就行,LR11.52后才有这个功能,不确定
作者: KateCao    时间: 2015-9-22 13:47
张燕 发表于 2015-9-18 15:07
请问楼主为什么要用小度来实现wifi上网?用路由器连接无限网实现上网不可以么?还有,我用的lr11怎么找不到 ...

可以不用小度,手机与电脑用同一个wifi就行,LR11.52后才有这个功能,不确定
作者: chenjianhui    时间: 2015-11-19 11:49
能否截图截全一点,启动录制的时候是操作客户机启动什么来录制的了?还是怎样的
作者: nefer    时间: 2015-11-28 17:19
楼主,你的意思是压力测试的话要用真机测吗?可是真机的话要root才能被获取权限吧,请问你的方式?
作者: 781188610    时间: 2015-11-30 10:20
Recording mode选择 Remote Application via LoadRunner Proxy-----------这个lr11没有找到,还能放个截图?
作者: 781188610    时间: 2015-11-30 10:20
Recording mode选择 Remote Application via LoadRunner Proxy--------lr11没有找到还能发个截图看看?
作者: testfuck    时间: 2015-12-2 14:55
我有个疑问。无论是socket 还是http 协议 LR测试的的确都是服务端的压力。那么我们在客户端折腾那么多做什么呢?直接向服务端发送协议啊。我不是否定楼主的这个方法。是觉得可以直接拿到服务端的接口地址 或者协议格式就可以直接写脚本然后发送请求了。
作者: zzm568447086    时间: 2015-12-9 19:47
l留名。。。
作者: stone0214    时间: 2015-12-14 11:35
太复杂
netsh wlan set hostednetwork mode=allow ssid=wuminPC key=wuminWiFi
netsh wlan start hostednetwork
走wireshark录制  走mobile app分析
作者: CrazyPolaris    时间: 2015-12-18 20:02
楼主很棒!!!
作者: wwfqh    时间: 2015-12-22 17:07
脚本放到LR11中,回放提示undeclared identifier `WEB_ASYNC_CB_RC_OK'。这个是什么意思
作者: 新人学习中    时间: 2016-3-23 17:14
很不错呢,感谢分享,新手表示很实用。楼主能提供下破解版LR12么,不胜感激
作者: smallword    时间: 2016-3-25 09:41
请问楼主http走的是80端口吗,我的http走的1000端口,loadrunner无法捕获到手机端发出的请求
作者: fhhh_eyou    时间: 2016-3-25 10:41
谢谢分享
作者: KateCao    时间: 2016-5-10 15:21
kuangli1020 发表于 2015-8-22 21:35
手机通过代理来录制,,, 这个是录制http的   请问websocket也可以吗?

你可以试试看看能不能录制到
作者: KateCao    时间: 2016-5-10 15:25
ichsinmo 发表于 2015-8-24 09:17
我现在有个问题哦,,,录制脚本时提示说无网络访问

试试用你电脑连的wifi,多试几个电脑看看
作者: KateCao    时间: 2016-5-10 15:29
chenjianhui 发表于 2015-11-19 11:49
能否截图截全一点,启动录制的时候是操作客户机启动什么来录制的了?还是怎样的

操作手机,loadrunner通过端口捕捉手机向服务器发的请求
作者: KateCao    时间: 2016-5-10 15:30
nefer 发表于 2015-11-28 17:19
楼主,你的意思是压力测试的话要用真机测吗?可是真机的话要root才能被获取权限吧,请问你的方式?

不用root,监听端口就可以捕获到手机向服务器发的请求,loadrunner捕获到请求后模拟多用户并发请求服务器
作者: KateCao    时间: 2016-5-10 15:31
781188610 发表于 2015-11-30 10:20
Recording mode选择 Remote Application via LoadRunner Proxy--------lr11没有找到还能发个截图看看?

loadrunner12支持的
作者: KateCao    时间: 2016-5-10 15:33
wwfqh 发表于 2015-12-22 17:07
脚本放到LR11中,回放提示undeclared identifier `WEB_ASYNC_CB_RC_OK'。这个是什么意思

我当时放到loadrunner8.0回放并发没有问题的
作者: KateCao    时间: 2016-5-10 15:35
smallword 发表于 2016-3-25 09:41
请问楼主http走的是80端口吗,我的http走的1000端口,loadrunner无法捕获到手机端发出的请求

手机的端口设置下,看我的正文
作者: KateCao    时间: 2016-7-29 11:34
如果使用中有问题,可以加我的微信号进行交流,15322218935
作者: shweizi    时间: 2016-8-18 10:35
文章题目导致人晕啊,题目写的是手机app的压力测试,但是文章描述的还是server 的压力测试。
作者: summer_xin123    时间: 2016-8-19 16:27
请问下楼主,手机已设置代理,LR没有记录到手机端的操作是为什么
作者: 哎呦呵呵    时间: 2016-10-18 17:12
不用电脑开无线,电脑和手机在同一局域网内,这样设置完CCProxy后,可以么?
作者: 哎呦呵呵    时间: 2016-10-18 17:28
楼主,设置完之后手机上不了网了,录制也没显示
作者: 哎呦呵呵    时间: 2016-10-18 17:38
为什么手机能上网之后却提示错了

作者: maqi5630    时间: 2016-10-19 18:36
测试测试




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2