将 Android 测试过程自动化

您可以通过多个命令行工具、Android Debug Bridge (adb) 和 USB 控制器来将测试 Android 应用的过程自动化。通过 USB 控制器,还可以在安全环境中进行测试。

开始之前

关于此任务

自动化过程包括以下过程:

过程

  1. 将 AUT 添加到测试工作台

    您可以检测 AUT 并通过从移动设备或仿真器上载应用或通过单击测试工作台中的将应用程序添加到列表图标 将应用程序添加到列表 来将其添加到测试工作台。要自动执行该过程,请使用 AddAndroidApp.jar(可从 Android 欢迎页面下载)。有关详细信息,请参阅从命令行将 Android 应用添加到测试工作台

    运行 AddAndroidApp.jar 将生成三个新的 .apk 文件:

    • I-原始 apk 名称.apk - 记录就绪应用程序
    • R-原始 apk 名称.apk - 回放就绪应用程序
    • T-原始 apk 名称.apk - 应用程序的测试引擎

    请参阅测试工作台如何测试 Android 应用程序以了解关于 .apk 文件和 Android 构建链的详细信息。

  2. 使用 adb 在 Android 设备或仿真器上安装最新发行版的 AUT。除非您在设备或仿真器上启用静默方式,否则回放就绪 .apk 文件和测试引擎 .apk 文件均必须安装。adb 实用程序一般安装于 Android-SDK 安装位置\sdk\platform-tools。需要发行版 21 或更高版本的 Android SDK 平台工具。
    1. 找到回放就绪的 .apk 文件和测试引擎 .apk 文件。作为步骤 1 的结果,这些文件已下载到名为 localdir 的本地文件夹。
    2. 从命令行运行以下命令以在 Android 设备或仿真器上安装 AUT 的最新发行版:
      adb install -r localdir/R-AUT-name.apk
      adb install -r localdir/T-AUT-name.apk
    3. 要在多个设备或仿真器上安装 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
  3. 安装移动测试客户机并以被动方式将其启动。被动方式允许在 测试工作台 中以脚本或批处理文件来控制文本执行。运行以下 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”
  4. 以命令行方式运行测试。有关以命令行方式运行测试或调度的详细信息,请参阅从命令行运行测试或调度

    如果您要将移动 Web 应用程序的测试自动化,那么必须确保移动 Web 记录器已安装在移动测试客户机上。如果移动测试客户机已通过 USB 控制器设置为运行静默方式,那么测试运行启动时将自动安装移动 Web 记录器。用户不需要执行任何操作。但是,如果未设置静默安装,那么您必须通过在移动测试客户机中点击一次管理 Web 应用程序来安装移动 Web 记录器。这将启动对两个所需 apk 的安装并满足 Web 应用的自动化测试回放需求。

    如果自动化测试需要停止并重新启动测试工作台,那么您可以在 USB 控制器中启用工作台退出时不退出设置以使 USB 控制器即使在测试工作台关闭后也保持运行状态。有关详细信息,请参阅USB 控制器

    缺省情况下,测试工作台 选择最适合测试执行需求(Android OS 和 Android API)的第一个已连接设备。要在一个或多个特定设备上运行测试,请定义“设备标识”选择变量。要查找设备标识,请在 测试工作台 中打开“移动设备”编辑器,选择设备,然后在“详细属性”中查找此标识。

    您还可以使用变量来选择特定设备。有关详细信息,请参阅定义变量以通过所选移动设备运行测试

    所有测试脚本都链接到特定版本的 AUT。如果您上载新版本的 AUT,那么您应该始终在最新版本的 AUT 上运行测试。有关详细信息,请参阅在测试中定义一个变量以运行最新版本的应用程序

    注: 如果您已在添加新应用程序版本时设置了与测试的自动重构相关的首选项,那么无需定义此类变量。
  5. 作为以命令行方式运行测试的替代方法,可以使用 IBM Rational Test WorkbenchIBM UrbanCode Deploy 插件来运行测试。有关详细信息,请参阅从 Urban Code Deploy 进行测试

反馈