一个应用程序,无止境的系统组合

那么你’ve开发了一个应用程序。不应采取的重要步骤’别忘了确保它可以在潜在客户可能使用的任何设备,浏览器和操作系统组合上运行。听起来容易吗?好吧,对于真正的跨平台,浏览器,设备应用程序而言,可能的系统组合数量很容易达到数千个。供应和管理设备实验室的规模足以测试所有可能性(并让’(不要忘记维护和更新这些设备)是非常昂贵和费时的。 

基于云的设备场

输入 设备场 。更恰当地说, 基于云的 设备场。从本质上讲,这是一个远程测试环境,设备场使工程师可以在任意数量的真实设备(全部在云中)中测试他们的应用程序。 

优势比比皆是。首先,您可以并行化测试,在多个真实设备上同时运行测试。其次,您可以测试您的应用’在真实设备操作条件下的行为。第三,您将获得信心,知道您的应用程序可以在客户正在使用的所有潜在系统组合上无缝运行。

位栏 是一种基于云的设备场。该平台使工程师能够在一系列移动设备上执行移动应用程序测试,支持多种框架,包括针对本机不支持的框架的自定义框架,并集成在DevOps工具链中以实现持续集成,问题跟踪和构建自动化。

在这里,我们演示了运行使用以下命令创建的自动化GUI测试的步骤 压扁 ,用于BitBar设备场上的Android应用。让’s get started.

  • 步骤1:选择目标操作系统类型

选择Android操作系统。

步骤1:选择目标操作系统类型
  • 步骤2:选择框架

选择 Appium Android服务器端,因为这种类型将允许使用BitBar本身不支持的自定义测试框架,即Squish。

步骤2:选择框架
  • 步骤3:选择档案

此步骤需要上传两个文件: .apk 被测应用程序(AUT)和测试包( 。压缩) .

我们的AUT是随每次Squish下载打包在一起的AddressBook应用程序的Android版本。

测试包必须包含以下最少组件:

  • 压扁 for Android捆绑包
  • 测试套件
  • 运行脚本(见下文)

压扁 for Android捆绑包必须针对Linux OS构建,并且为了更快地上传到BitBar,您可以删除IDE和文档。还需要一个许可证文件,我们’已包含在此文件夹中。

测试套件包含您的功能GUI测试,’我在Squish中写过。在这里,我们’重新使用每次Squish下载都提供的示例测试脚本。

The run script, run-tests.sh, is called automatically and contains the commands needed to prepare the test execution environment and start the 压扁 test runs. More specifically, it sets the required environment variables, starts the squishrunner process and generates a JUnit report to display execution results in 位栏 . The shell script is listed here for completeness:

#!/bin/bash
echo "=> SET ENVIRONMENT VARIABLES"
export SQUISH_PREFIX=$PWD/squish-android-6.5
export SQUISH_LICENSEKEY_DIR=$SQUISH_PREFIX/license

echo "=> RUN SQUISH TEST"
$SQUISH_PREFIX/bin/squishrunner --testsuite $SQUISH_PREFIX/examples/android/AddressBook/suite_py --reportgen junit,$PWD/TEST-all.xml --exitCodeOnFail=99 --local

EXITCODEF=$?

exit $EXITCODEF

注意:此shell脚本必须位于软件包中’s root directory.

一旦您’ve以上,选择以下操作:

  1. 对于.apk文件,设置 在设备上安装
  2. 对于测试包,设置 用于运行测试
步骤3:选择档案
  • 步骤4:选择装置

在这里,选择要在其上运行测试的移动设备。选择中“Use chosen devices”带您选择大量可用的Android移动设备。在这里,我们’我们仅选择一种速度设备,即Motorola Google Nexus 6。

然后,点击“创建并运行自动化测试”.

查看结果

结果完成后,单击“Go to results.”Web界面使您可以概览测试运行:

挤压,BitBar结果页面。

从那里,您可以进一步探索:查看日志,可视化JUnit结果输出,并分析运行时间。

下一步

位栏 具有许多本文未显示的强大功能。其中一项功能是,您可以在执行测试时流式传输移动设备的屏幕提要。而且,正如我们在上面提到的那样,BitBar也提供了用于构建自动化和CI系统的集成。在未来的博客中,我们’我们将介绍如何使用BitBar + 压扁 设置Jenkins CI,以实现从头到尾的测试自动化。请注意这一点。

包起来

使用BitBar之类的设备场是一种使移动和Web应用程序测试并行化的快速,负担得起且易于配置的方法。上面的示例在单个Android设备上使用了一个测试,但是可以轻松修改显示的步骤,以在一系列设备类型和操作系统上自动执行多个Squish GUI测试。

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

复制链接