技术标签: Loadrunner 手机测试 压力测试
随着手机APP用户量的增大,大的手机APP一般都需要进行压力测试,这几天用了Loadrunner 12进行了手机APP的压力测试,整理了下,大家可以参考参考怎样给Andorid / IOS手机APP进行压力测试,以下是操作实例。
先前我的一个帖子讲了用 小萝贝控机大师 实现手机APP的功能自动化测试工作,我想说的是 小萝贝控机大师 仅支持手机APP功能自动化测试工作哦,不支持压力测试,请大家注意,帖子地址粘贴下,有需要手机APP功能自动化测试的网友们可以看看,http://bbs.51testing.com/thread-1051242-1-2.html,里面有视频的。访问 http://www.xiaoluobei.com 下载 小萝贝控机大师。
下面介绍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 solution,Single Protocol里选择 Web – HTTP/HTML,点击Create
6. 点击工具栏的红色的Record按钮,Recording mode选择 Remote Application via LoadRunner Proxy,端口设置为8899,Loadrunner会监听这个端口,此端口为手机连接的代理服务器端口。
7. 点击 Start Recording开始录制
8. 录制完成后会生成脚本,如下,可以删掉不必要的脚本,剩下自己要测的程序的。
9. 回放脚本,脚本回放成功,并成功登录手机APP,返回别名
10. 从 Tools 点击Create Controller Scenario,设置Number of Vusers为10人,可以设置更多,这里我设置成10,跑一下,在Controller里Design的tab下将Scenario Schedule的Run Mode设置成为Basic schedule,Controller – Results – Results Settings,窗口打开后勾选第一个生成每个用户运行时日志,此窗口记录下日志保持的文件夹,运行场景。
11. 在Controller点击Results – Analyze Results,查看结果
12. 检查每个用户运行时日志查看细节
1."属性页的添加:创建对话框的类,该类要从CpropertyPage继承;然后在要添加该对话框为属性页的类(头文件)里创建CpropertySheet类的一个对象m_tabsheet和新创建的对话框类的对象m_skatch;最后,在.cpp文件里的OnInitDialog()之类的函数里实现如下代码:m_tabsheet.Create(this, WS_CHILD | WS_VISI
背景2020 Happy New Year《Residual Objectness for Imbalance Reduction》是2019 arXiv上的文章。样本不平衡问题感觉近期...
问题描述:用eclipseEE打开jsp文件插入数据到数据库时,中文出现问号。win10系统,mysql-5.6.41-winx64解决方案:打开mysql根目录,寻找到my-default.ini记事本打开如下:在开头添加如下代码[mysql]default-character-set=utf8再插入时即正常,无论是通过jsp插入还是用mysql插...
# Fabric 1.0源代码笔记 之 Ledger(账本)## 1、Ledger概述Ledger,即账本数据库。Fabric账本中有四种数据库,idStore(ledgerID数据库)、blkstorage(block文件存储)、statedb(状态数据库)、historydb(历史数据库)。其中idStore、historydb使用leveldb实现,statedb可选择使用leveldb或c...
数组的特征第一个方面是 「线性表」。线性表就是所有数据元素排成像一条线一样的结构,线性表上的数据元素都是相同类型,且每个数据元素最多只有前、后两个方向。数组就是一种线性表结构,此外,栈、队列、链表都是线性表结构。第二个方面是 「连续的内存空间」。线性表有两种存储结构:「顺序存储结构」和「链式存储结构」。其中,「顺序存储结构」是指占用的内存空间是连续的,相邻数据元素之间,物理内存上的存储位置也相邻。数组也是采用了顺序存储结构,并且存储的数据都是相同类型的。综合这两个角度,数组就可以看做是:
SpringBoot与MyBatis整合,底层数据库为mysql的使用示例项目下载链接:https://github.com/DFX339/bootdemo.git新建maven项目,web项目,项目名为 bootdemo项目结构目录如下:还有个pom.xml文件没有在截图里面项目需要编写的文件主要有:项目启动类:Application.java ServletInitializer.jav...
系统采用STC12C5A60S2芯片进行的单片机恒温箱,能够实现恒温加热,超温报警。上代码。
在我们日常使用的各种网络请求库都带有timeout参数,超时就不再继续请求了,避免等太久。如果我们自己开发的方法也希望增加这个功能,该如何做呢?答案是线程池futures,为了使用方便,我将其封装成了一个装饰器,代码如下:import functoolsfrom concurrent import futuresimport timeexecutor = futures.ThreadPoolExecutor(1)def timeout(seconds): def decorator(
傅里叶变换的线性性质简介代码简介\qquad傅里叶变换的线性性质是其最基本的性质之一。假设信号g和h是两个不同的信号,那么他们在空域代码
1、ArrayList为List的重要实现类,List中的元素是有序排列并且可重复的。//List的创建List list = new ArrayList();2、List的方法//list中元素个数是否为空?list.isEmpty()//list是否已经被创建null!=list;//获取list的长度list.size();//往list中追加元素list.add(“a...
这里是垂直分割的情况打开新窗口最简单的命令如下: :split filename:new filename这个命令把屏幕分解成两个窗口并把光标置于上面的窗口中:#!/usr/bin/python#filename:helloworld.pyprint 'hello world'~~helloworld.py ...
系统程序员成长计划-容器与算法(二)(上) 转载时请注明出处和作者联系方式文章出处:http://www.limodev.cn/blog作者联系方式:李先静 容器用来存储数据,算法用来处理数据。容器有多种,算法的种类更多,两者的组合数目就数不胜数了。如果同样的算法要为每种容器都写一遍,写的时候单调不说,维护起来也很困难。所以我们一直在寻找让算法独立