您可以通过多个命令行工具、Android Debug Bridge (adb) 和 USB 控制器来将测试 Android 应用的过程自动化。通过 USB 控制器,还可以在安全环境中进行测试。
开始之前
- 安装 IBM® Rational® Test Workbench Web UI Tester 并确保选择了 Extension for
Mobile。有关详细信息,请参阅安装产品软件。
- 在运行测试工作台的计算机上下载并安装 adb,这是 Android SDK 工具的一部分。最新下载页面位于 Android Studio,但该位置将来可能会更改。您无需安装完整的 Android Studio。只需浏览到 Other Download Options 下的 SDK Tools Only 部分以获取安装程序。通过执行 adb devices 命令来确保设备已针对 adb 进行了正确设置。
- 要在 Android 仿真器上进行测试,请设置一个或多个 AVD(Android 虚拟设备)配置。有关详细信息,请参阅使用仿真器。本文还描述了通过硬件加速改善仿真器性能的方式。
- 要在 Android 设备上进行测试,请通过转至 Android 设备上的来启用 USB 调试。然后,通过 USB 电缆将 Android 设备连接到运行 测试工作台 的计算机。如有必要,请获取特定于您的设备的 USB 驱动程序(位于 http://developer.android.com/tools/extras/oem-usb.html 或设备供应商的 Web 站点)。
- 作为测试 Android 设备的替代方法,还可以使用 USB 控制器,它在 Android 设备和仿真器上提供静默安装方式(无论 API 级别如何),并且还使您能够在没有 WiFi 访问权的安全环境中工作。通过 USB 控制器,还可以在测试工作台处于远程位置的环境中工作。有关详细信息,请参阅通过 USB 控制器安装和配置 Android 客户端。
- 您不能在 Mac OS X 上从命令行运行测试。
- 记录被测试应用程序 (AUT) 的测试脚本。
无法自动化测试记录过程。请参阅从 Android 移动测试客户机中记录测试,以了解详细信息。
关于此任务
自动化过程包括以下过程:
- 将被测试应用程序 (AUT) 添加到测试工作台
- 在 Android 设备或仿真器上安装 AUT 的最新发行版
- 在 Android 设备上安装移动测试客户机并以被动方式将其启动
- 从命令行或使用 IBM UrbanCode™ Deploy 插件运行测试
过程
- 将 AUT 添加到测试工作台。
您可以检测 AUT 并通过从移动设备或仿真器上载应用或通过单击测试工作台中的将应用程序添加到列表图标
来将其添加到测试工作台。要自动执行该过程,请使用 AddAndroidApp.jar(可从 Android 欢迎页面下载)。有关详细信息,请参阅从命令行将 Android 应用添加到测试工作台。
运行 AddAndroidApp.jar 将生成三个新的 .apk 文件:
- I-原始 apk 名称.apk -
记录就绪应用程序
- R-原始 apk 名称.apk -
回放就绪应用程序
- T-原始 apk 名称.apk -
应用程序的测试引擎
请参阅测试工作台如何测试 Android 应用程序以了解关于 .apk 文件和 Android 构建链的详细信息。
- 使用 adb 在 Android 设备或仿真器上安装最新发行版的 AUT。除非您在设备或仿真器上启用静默方式,否则回放就绪 .apk 文件和测试引擎 .apk 文件均必须安装。adb 实用程序一般安装于 Android-SDK 安装位置\sdk\platform-tools。需要发行版 21 或更高版本的 Android SDK 平台工具。
- 找到回放就绪的 .apk 文件和测试引擎 .apk 文件。作为步骤 1 的结果,这些文件已下载到名为 localdir 的本地文件夹。
- 从命令行运行以下命令以在 Android 设备或仿真器上安装 AUT 的最新发行版:
adb install -r localdir/R-AUT-name.apk
adb install -r localdir/T-AUT-name.apk
- 要在多个设备或仿真器上安装 AUT,请使用具有 -s(序列)选项的 adb install,例如:
adb install -s emulator-5556 -r localdir/T-AUT-name.apk
adb install -s emulator-5556 -r localdir/R-AUT-name.apk
adb install -s emulator-5558 -r localdir/T-AUT-name.apk
adb install -s emulator-5558 -r localdir/R-AUT-name.apk
有关详细信息,请参阅 Directing Commands to a Specific Emulator/Device Instance。
- 安装移动测试客户机并以被动方式将其启动。被动方式允许在 测试工作台 中以脚本或批处理文件来控制文本执行。运行以下 adb 命令来卸载现有版本的移动测试客户机,重新安装更新版本的客户机,然后将客户机设置为被动方式。
adb uninstall com.ibm.rational.test.mobile.android.client.ui
adb install "Eclipse client path/com.ibm.rational.test.mobile.android.client.ui-release.apk"
adb shell am start -n com.ibm.rational.test.mobile.android.client.ui/.MainActivity -e workbench_url "Workbench-Url" --ez passive_mode “true”
例如:
adb uninstall com.ibm.rational.test.mobile.android.client.ui
adb install "C:\Program Files\IBM\IBMIMShared\com.ibm.rational.test.mobile.android.client.ui-release.apk"
adb shell am start -n com.ibm.rational.test.mobile.android.client.ui/.MainActivity -e workbench_url "9.44.55.666:7878" --ez passive_mode “true”
- 以命令行方式运行测试。有关以命令行方式运行测试或调度的详细信息,请参阅从命令行运行测试或调度。
如果您要将移动 Web 应用程序的测试自动化,那么必须确保移动 Web 记录器已安装在移动测试客户机上。如果移动测试客户机已通过 USB 控制器设置为运行静默方式,那么测试运行启动时将自动安装移动 Web 记录器。用户不需要执行任何操作。但是,如果未设置静默安装,那么您必须通过在移动测试客户机中点击一次管理 Web 应用程序来安装移动 Web 记录器。这将启动对两个所需 apk 的安装并满足 Web 应用的自动化测试回放需求。
如果自动化测试需要停止并重新启动测试工作台,那么您可以在 USB 控制器中启用工作台退出时不退出设置以使 USB 控制器即使在测试工作台关闭后也保持运行状态。有关详细信息,请参阅USB 控制器。
缺省情况下,测试工作台 选择最适合测试执行需求(Android OS 和 Android API)的第一个已连接设备。要在一个或多个特定设备上运行测试,请定义“设备标识”选择变量。要查找设备标识,请在 测试工作台 中打开“移动设备”编辑器,选择设备,然后在“详细属性”中查找此标识。
您还可以使用变量来选择特定设备。有关详细信息,请参阅定义变量以通过所选移动设备运行测试。
所有测试脚本都链接到特定版本的 AUT。如果您上载新版本的 AUT,那么您应该始终在最新版本的 AUT 上运行测试。有关详细信息,请参阅在测试中定义一个变量以运行最新版本的应用程序。
注: 如果您已在添加新应用程序版本时设置了与测试的自动重构相关的首选项,那么无需定义此类变量。
- 作为以命令行方式运行测试的替代方法,可以使用 IBM Rational Test Workbench 的 IBM UrbanCode Deploy 插件来运行测试。有关详细信息,请参阅从 Urban Code Deploy 进行测试。