作者:Richard Pal         来自:perftesting           翻译:Elaine00

通过这篇文章,我将介绍如何通过HP Loadrunner VuGen来测试一个安卓应用的网络流量。测试过程中,安卓的SDK将用来执行安卓应用,同时HP Loadrunner VuGen将用来抓包并且转换为HP Loadrunner VuGen的脚本。

要求:

  • Loadrunner/Performance Center Virtual User Generator 9.5x
  • Android SDK with the Android emulator
  • A test application

首先准备安卓模拟器:

第一,需要先下载安卓SDK,解压SDK.zip之后,点击SDK Manager.exe进行配置更新,下载各种必要的API。

这个将耗费一定的时间。配置完毕之后,创建一个安卓的模拟器,比如创建一个名字为A22,Android 2.2版本的模拟器.

配置一个新的安卓虚拟镜像来安装我们的安卓应用。

在测试前需要准备好要测试的应用Get the application under test ready

先准备好要安装的apk安装包。

这里我们使用安卓SDK维基百科的例子来展示。

把Android的应用部署到模拟器Deploy the Android application into the emulator

启动模拟器,可以通过SDK管理器的用户界面或者通过命令行启动(设置模拟式的名字为A22)。

D:\apps\android-sdk-windows\tools\emulator.exe -avd A22 -netspeed full -netdelay none ~/.android/A22.avd

[更新] 因为我写的这篇文章中模拟器的参数列表已更改。现在你需要给“DeviceName emulator.exe模拟器配置,例如基于例如emulator.exe @ A22。

一旦设备完成启动,使用ADB工具,把Android应用安装到Android SDK中(需要切换到存放APK的目录):

D:\apps\android-sdk-windows\platform-tools\adb install Wiktionary.apk

在模拟器中启动应用,而且需要确保该应用可以正常执行。

使用VuGen来抓取安卓应用产生的网络包

关闭模拟器。

创建一个新的脚本,因为Wiktionary使用的是HTTP和JSON,所以HTTP协议将会使用到。

在开始录制的对话框中需要先指定执行的模拟器和虚拟模拟器的一些执行参数:

  • Program to record: D:\apps\android-sdk-windows\tools\emulator.exe
  • Program arguments: -avd A22 -netspeed full -netdelay none (see the [Update] on argument list above)

(确保把模拟器名字改为A22。)

在开始录制之前,网络的Capture level需要修改为:“Socket level and WinInet level data”。(其他两个选项是do not record any traffic or crash the emulator during recording)

在Non-Resources content-type添加 “application/json”  。 这个将产生多个 web_url 来请求JSON源。此外,JSON的请求也将被添加到 EXTRA_RES节点中.

在VuGen录制器中添加content types 到'non-resources' 列表。

开始录制并且执行测试,记住,必须确保Recording toolbar有展示记录的事件。

在VuGen测试停止之后,生成了测试脚本。下面是一个测试例子:

Action()
{web_url("api.php",
"URL=http://en.wiktionary.org/w/api.php?action=query&list=random&format=json",
"TargetFrame=",
"Resource=1",
"RecContentType=application/json",
"Referer=",
"Snapshot=t1.inf",
LAST);web_url("api.php_2",
"URL=http://en.wiktionary.org/w/api.php?action=query&prop=revisions&titles=phosphourous&rvprop=content&format=json&rvexpandtemplates=true",
"TargetFrame=",
"Resource=1",
"RecContentType=application/json",
"Referer=",
"Snapshot=t2.inf",
LAST);lr_think_time(5);web_url("api.php_3",
"URL=http://en.wiktionary.org/w/api.php?action=query&prop=revisions&titles=phosphorous&rvprop=content&format=json&rvexpandtemplates=true",
"TargetFrame=",
"Resource=1",
"RecContentType=application/json",
"Referer=",
"Snapshot=t3.inf",
LAST);return 0;
}

确保回放的脚本是正确的,脚本通常需要定制正确模拟用户交互(parameters, correlation, think times, pacing,等)

记录和重放网络流量可以在树视图跟踪。

如果脚本准备好,它可以用来像用户访问中心网站一样做负载测试。

我希望这个简短的介绍将帮助您设置的Android应用程序的负载测试。

转载于:https://www.cnblogs.com/ITGirl00/p/4188098.html

通过HP Loadrunner VuGen来录制安卓的应用相关推荐

  1. HP LoadRunner 12.02 Tutorial T7177-88037教程独家中文版

    LoadRunner 12.02教程独家中文版 Tylan独家呕血翻译 转载请注明出自"天外归云"的博客园 Welcome to the LoadRunner Tutorial L ...

  2. HP LoadRunner

    HP LoadRunner 什么是LoadRunner Load Runner是一个性能测试工具, 是Mercury开发的, 2006年的时候被HP公司收购,随后 2016年被MicroFocus收购 ...

  3. HP LoadRunner 11.00 新鲜尝

    HP LoadRunner 11.00版本发布不久,安装包足有4G.笔者紧急下载并迅速尝鲜,详细过程记录与你共享: [第一印象最佳的改动点是"支持 Windows Server 2008 . ...

  4. HP LoadRunner 11.00使用

    1.重建系统WIN7 2.安装虚拟光驱(安装包里的DTLite4454-0314); 3.通过虚拟光驱安装Loadrunner11([性能测试工具LR11.00] .loadrunner-11),(4 ...

  5. 【Loadrunner】性能测试《HP LoadRunner 11》[光盘镜像]迅雷下载及破解方法

    LoadRunner,是一种预测系统行为和性能的负载测试工具.通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试.通过使用 LoadR ...

  6. Jmeter:使用代理录制安卓手机APP性能测试脚本

    如何做安卓手机APP的性能测试?手机APP不像web或者接口那样可以用loadrunner或者Jmeter压测.手机APP的性能应该从两方面去考虑,首先APP本身,其次就是APP后端的接口.APP自身 ...

  7. 解决loadrunner使用谷歌浏览器录制时打不开网页的问题

    今天练习性能测试时遇到使用谷歌浏览器打不开的问题如图,之前一直是使用IE,昨天手挺贱把IE卸载了,鹅鹅鹅,然后就查了一下,分享一下解决措施 1.点击recording Option 2.进入HTTP ...

  8. 使用Loadrunner打开WebTours录制脚本时提示“应用程序已被Java安全阻止”如何解决

    使用Loadrunner打开WebTours网页录制脚本时,弹出提示"应用程序已被Java安全阻止" 解决方法: 打开IE浏览器,点击右侧"设置",选择&quo ...

  9. loadrunner订飞机票录制脚本及脚本调试

    0.将loadrunner安装路径下的startserver.bat文件打开,就能访问http://127.0.0.1:1080/WebTours/ 1.先创建一个脚本,选择web-http/html ...

最新文章

  1. Xamarin 2017.9.19更新
  2. 【Javascript】之eval()
  3. uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型(转)
  4. 报名啦!阿里云智能客服对话式AI算法大赛之知识图谱构建与问答
  5. POJ - 2348 Euclid's Game(博弈)
  6. python抽象类的实现_python 抽象类、抽象方法的实现
  7. monogdb操作system.*权限
  8. “Transaction rolled back because it has been marked as rollback-only”
  9. scrapy.spider
  10. 【Python3爬虫】用Python中的队列来写爬虫
  11. Spring中利用java注解声明切面
  12. JavaSE基础———StringBuffer StringBuilder Arrays和基本数据类型包装类
  13. 如何将Java Web项目部署到服务器上
  14. 网络安全基础相关概念
  15. 总结一下r包手动安装R包 r包安装r语言从网页下载东西内容 r安装特定版本的r包 r从网页下载 安装包 指定安装位置r
  16. 科研写作——常见句式(九)
  17. 2019.7.10--jzDay6
  18. 优秀测试工程师应该具有的基本素质
  19. 编写吃c语言程序步骤,自己做的一个C语言小游戏——吃金子
  20. 两圆的外切线与内切线的切点算法

热门文章

  1. DataTable随机复制一行给新的DataTable
  2. 在WPF里面显示DIB图片格式的图片
  3. 对C#开发两个基本原则的深入讨论
  4. html5特效 手机震动,html5 可以让用户按一下手机键盘手机震动一下吗
  5. python调用图灵api_python调用API实现智能回复机器人
  6. 标准化工作及相关组织
  7. 比特币矿池是什么意思
  8. 酒的基金降幅较大,这是为什么?
  9. golang使用redis——redigo安装
  10. 用SAX2方式解析XML