在 IBM Rational Performance Tester 中录制 Android 客户端应用程序测试脚本

随着智能电话使用率的增长,越来越多的基于 Web 的应用程序提供了从移动客户端进行访问的能力,无论该客户端是浏览器还是原生应用程序。在这两种情况下,这些客户端都可以使用 HTTP 作为网络协议,在理论上,可以使用主要的负载测试工具对它们进行测试。但目前的大多数可用产品没有提供内置的功能来录制对移动客户端应用程序的测试。Valerio Pengue 解释了如何使用 Android 模拟器设置一个简单框架,然后在 IBM Rational Performance Tester 中录制 Android 应用程序的 HTTP 测试。本文适用于中高级 Rational Performance Tester 用户。

Valerio Pengue, 软件性能工程师, IBM

Valerio Pengue 拥有 6 年担任软件性能工程师的经验。在最近三年半的时间里,他一直在爱尔兰都柏林的 IBM 软件实验室研究社交软件可靠性测试。



2013 年 6 月 17 日

免费下载:IBM® Rational® Performance Tester 试用版  |  IBM® Rational® 测试人员资源工具包
下载更多的 IBM 软件试用版,并加入 IBM 软件下载与技术交流群组,参与在线交流。

编写本文的背景

随着智能电话使用率的增长,越来越多的基于 Web 的应用程序开始提供从移动客户端访问的能力,无论该客户端是浏览器还是原生应用程序。在这两种情况下,这些客户端都可以使用 HTTP 作为网络协议,在理论上,可以使用主要的负载测试工具对它们进行测试。但另一方面,目前的大多数可用产品(包括 IBM Rational Performance Tester)都没有内置的功能来录制对移动客户端应用程序的测试。

本文将介绍如何使用 Android 模拟器,设置一个简单框架,在 Rational Performance Tester 中录制一个 Android 应用程序的 HTTP 测试。


设置 Android 模拟器

Android.com 的 Developers 一节提供了安装软件开发工具包 (SDK) 的详细安装步骤。请参见本文的 参考资料 一节,获取相关链接。

安装必要的组件

您至少需要安装以下组件:

  • Android SDK
  • 想要的 Android 平台(至少需要一个平台)
  • SDK 平台工具(安装最新的版本)

您可能希望下载和安装 Eclipse 插件,但这仅用于开发用途。另外,请确保您的工作站上拥有 Java 开发工具包 (JDK) 的一个更新版本。单单 Java 运行时环境 (JRE) 并不够用。

创建一个虚拟设备

安装这些组件后,您需要创建一个虚拟设备。可使用 Android Virtual Device Manager (AVD Manager) 中的向导通过以下步骤实现此目的:

  1. 在 Android SDK 中,打开一个终端,导航到 Tools 目录,然后执行: android
  2. Virtual devices 选项卡中,选择 New
图 1. 创建一个新的虚拟设备
Android virtual device manager 视图,选择了 New

填入 AVD 的以下详细信息:

  1. Name:虚拟设备的名称
    • Target:目标 Android 平台
    • SD Card:如果您的测试不需要 SD 卡,可将 Size 保留为空。否则,指定需要的大小。
    • Hardware:最好为虚拟设备分配至少 1 GB 内存。添加一个新 Property (Device RAM Size),将它的值设置为 1024。
图 2. AVD 详细信息
AVD 详细信息编辑视图中的设置

安装一个原生应用程序

如果需要录制来自某个原生 Android 应用程序的 Rational Performance Tester 测试,则需要执行以下步骤(如果仅使用 Android 浏览器,可跳过它们):

  1. 在安装原生应用程序之前启动虚拟设备。可直接从 AVD Manager 启动它 (Start) 或在 Tools 文件夹下运行以下命令(将斜体的问题替换为您的信息):
    emulator -avd virtual_device_name
  2. 在 Platform-tools 文件夹下运行以下命令,以便安装原生应用程序:
    adb install 您的原生应用程序名称.apk
  3. 如果需要使用文件来执行测试(例如,如果希望从移动设备上传文件到目标应用程序),那么需要将它们推送到虚拟设备中。从正在运行的虚拟设备的 Platform-tools 文件夹运行以下命令:
    push 您的文件名 /sdcard/设备上的文件名

也可以使用 Eclipse 将文件推送到虚拟设备中。


在 Rational Performance Tester 中录制测试

应用程序安装在移动虚拟设备上后,您需要更改模拟器中的代理设置,以便通过嵌入式的 Rational Performance Tester HTTP 录制代理处理该应用程序发送的 HTTP 请求。

更改录制的代理设置

要更改代理设置,请在移动虚拟设备中选择 Settings > Wireless & Networks > More > Mobile Networks > Access Point Names > TelKila (internet),然后编辑以下属性:

  • Proxy:您机器的 IP 地址。使用绝对 IP 地址。不要使用 127.0.0.1、localhost 或主机名,因为与 Rational Performance Tester 代理的连接似乎不支持这些值。
  • Port:对于 Rational Performance Tester 代理端口,默认设置为 1080。
  • Username:将此值保留为空(不设置)。
  • Password:将此值保留为空(不设置)。
  • Server:这应该与代理相同。

保留其他所有属性的默认值。

图 3. 移动虚拟设备中的代理设置
虚拟设备代理设置的屏幕截图

点击查看大图

图 3. 移动虚拟设备中的代理设置

虚拟设备代理设置的屏幕截图

录制和生成脚本

配置移动设备后,即可开始启动 Rational Performance Tester 中的录制。

  1. 启动录制器,然后在 Test Nature 下选择 HTTP Test
图 4. 启动 Rational Performance Tester 录制器
录制向导
  1. 选择 Unmanaged Application 作为客户端应用程序。
图 5. 选择客户端应用程序
选择客户端应用程序的窗口
  1. 定义代理录制器设置。保留默认代理端口,除非需要指定一个不同的值。
  2. 单击 Finish
图 6. 代理录制器设置
使用标准代理录制器设置
  1. 当录制器启动时,您可启动您的移动应用程序并录制 Rational Performance Tester 脚本。

如果正确执行了所有步骤,就会随着您的运行看到自移动客户端的 HTTP 请求,Recorder Control 选项卡中的 KBytes 计数器值会不断增加(参见图 7)。

提示:
一种不错的做法是为那些在录制期间与移动应用程序进行的每次交互添加注释,以便以后可以识别各种事务。

图 7. 包含 KBytes 计数器的 Recorder Control 选项卡
KBytes 计数器和初始化完成通知
  1. 手动完成您希望录制的来自移动客户端的所有事务后,可以单击 Recorder Control 选项卡上的 Stop 按钮来停止录制器。

测试是自动生成的,您可自定义并重放它。

参考资料

学习

获得产品和技术

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Rational
ArticleID=934207
ArticleTitle=在 IBM Rational Performance Tester 中录制 Android 客户端应用程序测试脚本
publish-date=06172013