IBM Rational Test Workbench 在 iOS App 开发中的应用

基于移动应用项目自动化实例介绍 RTW 的应用

IBM Rational Test Workbench (简称 RTW) 是 IBM Rational 的统一的测试工具集,包括功能测试、自动化测试等模块,具有一次录制修改脚本,可多次在多种平台执行的优点,解决了大多数移动测试需要购买多个设备,多次录制执行的现实问题。本文除了介绍如何快速使用 RTW 8.5 对 iOS 应用进行自动化测试,还会以最常用的计算器应用为例,详细阐述如何进行脚本的录制回放及修改检查结果。

徐 欣, 软件工程师, IBM

徐欣,IBM CDL 软件测试工程师, 参加过多个项目的测试工作,目前主要从事 Mobile 方向解决方案的产品测试。



邵 唯, 测试工程师, IBM

邵唯,IBM GDC 测试工程师,参加过多种类型产品的测试工作,具体丰富的项目测试经验,自动化测试经验,Web Application 测试经验。目前主要研究 Mobile Application Automation Test。



刘 力, 高级软件工程师, IBM

刘力,IBM CDL 全球流程服务部门高级软件工程师,具有多年的 Mobile, J2EE 和 Web Service 开发经验,主要从事 Mobile,BPM 解决方案的设计和开发工作。



2013 年 12 月 19 日

整体安装流程以及软硬件最低配置要求

图 1. 安装顺序流程图
安装顺序流程图

在安装移动测试客户端前,您需要首先验证设备满足以下的软件要求。

Rational Test Workbench 操作系统要求:

  • Microsoft Windows 7, Vista, 或者 Windows 8
  • Red Hat Linux 5/6 或者 SuSE Linux 11

设备操作系统要求:

  • Android 2.2 – 4.2
  • iOS 6 及以上

其他要求:

  • Android
  • Android SDK 21 需要安装
  • iOS
  • Mac OS V v10.8 Mountain Lion 及以上版本
  • Xcode 4.6
  • iOS 模拟器 6
  • Apple 开发者或者企业许可证

在 PC 上安装 RTW

使用 RTW 测试 iOS 应用有两种方式,一种是使用 iOS 模拟器,本文将在后文中详细阐述;另一种是使用 iOS 真实设备(iPhone/iPad),由于官网还未发布正规的 iOS RTW 客户端安装包,这部分介绍将在后续文章中涉及。

测试环境

  1. RTW 安装在一台 Windows 7 的机器上,IP 地址 9.110.26.91
  2. Xcode 安装在一台 Mac 机器上,IP 地址 9.186.117.200
  3. 2 台机器能够互相 ping 通

在 iOS 模拟器上安装移动测试客户端

在本章中,将通过具体实例向用户分别介绍如何在 Mac OS 和 windows OS 下 iOS 模拟器中安装移动测试客户端。

模拟器中 RTW 客户端的安装

只有首先在 iOS 模拟器中安装 RTW 客户端,RTW 服务器才能记录 iOS 中 App 运行的步骤信息,并对其进行编译。

在 IBM Rational Test Workbench Eclipse 点击文件(File)>新建(New)>增加设备并拷贝(Add Device and copy the Workbench URL),如图所示

图 2. 添加设备
添加设备

点击下一步,得到 Workbench 的 URL 信息,如图所示

图 3. Workbench URL 信息
Workbench URL 信息

接着打开 Mac 机器上的浏览器,输入前面步骤中得到的 Workbench URL,并点击下载(Click here to start archive download),得到压缩包 RTW-iOS-Build-Archive.zip,该压缩包为 RTW 客户端安装文件,如图所示

图 4. 下载 RTW 客户端安装文件
下载 RTW 客户端安装文件

在使用 shell 脚本之前,解压上一步的压缩包 RTW-iOS-Build-Archive.zip

图 5. 解压缩后的 RTW 客户端安装文件
解压缩后的 RTW 客户端安装文件

确保当前用户可有权限在 build-script 文件夹下执行所有的 shell 脚本,同 Linux 环境下的命令,可以使用 ls –l 查看文件和文件夹属性,并使用命令 chmod 批量增加其读、写、可执行的属性。

新建命令行窗口,将当前路径指向 build-script 文件夹下,并输入

./installIPAInSimu.sh/Users/XXX/Downloads/RTW-iOS-Build-Archive/client/iphonesimulator/RTWiOS.ipa

特别地,.ipa 文件作为参数是这个 shell 命令必须的,它正位于这个路径../client/iphonesimulator/下;XXX 代表 admin 用户的用户名,如果不确定,可以首先 cd 到这个目录下寻找指定 ipa 的真实路径。

图 6.将 RTW 客户端安装至模拟器
将 RTW 客户端安装至模拟器

执行完成后,iPhone 模拟器会启动,RTWiOS 也会相应地自动装在模拟器里了,如图所示

图 7. RTW 客户端安装成功
RTW 客户端安装成功

使用鼠标点击模拟器上的 RTWiOS 图标,做相关配置。首先点击平台配置(Configure workbench)

图 8. RTW 客户端配置界面
RTW 客户端配置界面

将服务器 URL 设置为前面步骤中在 RTW 得到的 URL:http://9.110.26.91:7878,删去/mobile 的后缀。

图 9. 修改 RTW 客户端服务器地址
修改 RTW 客户端服务器地址

接着去检查 RTW 服务器端移动设备的状态,若前一步 URL 配置成功,RTW 中模拟器的状态将从 Not connected 变为 Connected,标志着 RTW 服务器与 iOS 模拟器成功连接。

图 10. iOS 模拟器与 RTW 服务器连接状态的变化
iOS 模拟器与 RTW 服务器连接状态的变化

至此为止,RTW 服务器和 iOS 模拟器连接已经配置完成,环境搭建成功。第四章将讲述如何通过 RTW 对被测应用做录制,回放的自动化测试。


录制并回放一个简单应用

本章将向读者讲述如何在 iOS 模拟器中安装被测软件,加入到 RTW 用于管理的 manage applications 后,如何对简单计算器做测试的录制回放修改的操作。

源码程序 App 的安装

首先需要准备被测试应用 App 的源代码文件,源代码的文件名不能有中文、空格、特殊字符等。打开源码文件,用鼠标双击其中的.xcodeproj 文件,MAC 中的 Xcode 会自动加载项目。

图 11. 在 Xcode 中打开示例工程
在 Xcode 中打开示例工程

在 Xcode 的左上角下拉框处选择模拟器的类型,在这里我们以 iPhone6.1 Simulator 为例。点击黑色三角箭头‘运行(Run)’,Xcode 会自动将应用安装到模拟器中。安装成功后,模拟器将自动启动并开启被测的应用 App。此时只是将 App 成功安装到模拟器,RTW 还不能对其进行管理,所以还需要操作——将 App 添加到 RTW 的管理应用列表中。

图 12. App 在模拟器中成功安装
App 在模拟器中成功安装

添加 App 的过程仍然要用到 shell 脚本,所以这一步我们使用 build-script 文件夹下面的 rtwBuildXcode.sh 文件。打开 Mac 系统的命令行终端,定位至 build-script 的文件夹,运行的 shell 需要带参数,

./rtwBuildXcode.sh <.xcodeproj file> <rtw server URL> simu.xcodeproj

文件需要绝对路径,如果路径中有空格,需要用双引号括住所有的路径或者用反斜杠代替空格。RTW 服务器 URL 必须带端口号,例如 http://<IP>:7878

本文举例运行命令如下,

./rtwBuildXcode.sh /Users/administrator/Desktop/mount/mount.xcodeproj http://9.110.26.91:7878 simu

注意,在运行脚本之前,需要确保 RTW 服务器和 iOS 模拟器处于连接状态,上面的命令会同时将 App 上传到 RTW 服务器和模拟器中。命令执行完成后,模拟器会被自动重启,命令行终端会显示重启的状态,如图所示

图 13. 自动重启模拟器
自动重启模拟器

重启完成后再次打开模拟器中的 RTW 客户端,这时在应用管理列表(manage application)中能看到刚才上传的 mount 应用。同时,RTW 服务器端中可以看到刚才提交的应用:

图 14. RTW 服务器端应用列表中出现新应用
RTW 服务器端应用列表中出现新应用

新上传的 App 需要在 RTW 服务器中建立项目以存放测试 test 和结果等。右键点击被测 App,选择生成管理应用(Generate Managed Application)

图 15. 被管理应用和项目目录的生成
被管理应用和项目目录的生成

点击’Test Workbench Project’ 以创建一个新项目,如图所示,并输入项目名称,点击完成按钮。

图 16. 创建 Test Workbench 项目
创建 Test Workbench 项目

RTW 会为这个应用创建一个完整的项目目录结构,如图所示

图 17. 项目目录结构
项目目录结构

至此为止,App 在 iOS 模拟器和 RTW 服务器端的安装就完成了。接下来将录制测试用例,编辑测试用例以及运行测试用例后修改维护。

简单计算器的安装测试

录制测试的应用将以 Calculator 程序为例,进行一个简单的测试。

安装计算器应用程序到 RTW 和 iOS 模拟器的步骤上文所述。

图 18. 将 Calculator 应用关联至 RTW 服务器和客户端
将 Calculator 应用关联至 RTW 服务器和客户端

在 iOS 模拟器中打开 RTWiOS, 点击应用管理(Manage Applications), 选择您要测试的计算器应用

图 19. 打开应用管理中的计算器应用
打开应用管理中的计算器应用

点击录制(Record)开始录制测试脚本。首先清屏,然后进行一系列运算,9*9, 100*100,和 3/0 的除法。完成整个过程之后,点击 Home 键回到桌面关闭应用程序。

图 20. 操作计算器应用
操作计算器应用

完成后,切换到 RTW server 端,用户可以观察到有新的录制生成。

图 21. 在 RTW 服务器中查看操作记录
在 RTW 服务器中查看操作记录

点击 Click here 保存测试,并命名为 DemoTest1。保存之后,我们会看到刚才所做的操作动作被全数记录下来,如图所示

图 22. 在 RTW 服务器中查看操作步骤
在 RTW 服务器中查看操作步骤

同时地,在 iOS 模拟器端打开 RTWiOS, 选择到被测应用后,用户会发现多了一项 Test 在被测应用中,这就是刚保存的测试脚本。

图 23. 在 RTW 客户端中查看脚本
在 RTW 客户端中查看脚本

如果用户需要回放,则点击 DemoTest1,同样可以看到所有的录制步骤,同时有一个 Run Test 的按钮在顶部

图 24. 在 RTW 客户端中查看录制结果
在 RTW 客户端中查看录制结果

点击 Run Test 按钮,会再次运行之前录制的脚本。完成后用户可以在 Reports 中找到运行结果。点击运行结果,会有运行的细节信息,以及每个步骤的截图。

图 25. 在 RTW 客户端中查看录制细节
在 RTW 客户端中查看录制细节

同时在 RTW server 端,您可以发现有一条新的测试结果,点开之后同样是 report 中的细节信息和截图。

图 26. 在 RTW 服务器中查看测试结果
在 RTW 服务器中查看测试结果

计算器应用的测试用例修改

录制完成后,用户需要修改测试脚本以做后期维护,我们可以通过 RTW 服务器端对录制的脚本进行修改。这里是一个简单的例子,我们在每次点击了“=”之后,加入验证结果正确的验证点。鼠标右键‘点击按钮=’步骤后,选择插入一个验证点,如图所示,

图 27.添加验证点
添加验证点

验证点的作用是,检测每次点击“=”之后,标注屏幕中显示的 text 文本,是否是正确的数值。

图 28.配置验证点的细节
配置验证点的细节

相应地,在 iOS 模拟器端,相对应的测试用例中添加验证点的步骤及内容已经被相应修改了。

最后点击 Run Test 来执行修改好的测试用例,运行完成之后再次查看报告,对应的步骤已经添加并且运行。

图 29.RTW 客户端测试用例报告的细节步骤
RTW 客户端测试用例报告的细节步骤

同时在 RTW server 中,结果也添加了验证点步骤的记录。如上所述即完成了测试应用的脚本录制修改,测试报告可以供测试人员分析结果。


卸载被测应用

对于模拟器中的应用,可以在 RTW 控制台上选中需要删除的应用——右键——删除应用即可,如图所示,如果需要卸载模拟器中的 iOSRTW 客户端,只需要长按该应用,当 App 图标右上角出现叉后点击叉型,即在模拟器中删除了客户端。

图 30.卸载 RTW 服务器中的应用
卸载 RTW 服务器中的应用

常见错误故障排除

目前 RTW 与 mobile 应用测试结合仍然处于不断的改进阶段,市面上的一些应用采用的 Dojo Mobile 的框架开发,或者其他类型的开发模式,RTW8.5 版本仍然并不能完全支持,会出现无法找到控件的问题。后续版本的 RTW 仍然会通过不断更新以结合多种应用的测试。

  1. RTW 控制台与模拟器连接不上怎么办

    控制台中的移动设备始终显示“未连接”,这时需要在 IBM Rational Test Workbench Eclipse 客户端点击文件(File)>新建(New)>增加设备并拷贝(Add Device and copy the Workbench URL),点击下一步,得到 Workbench 的 URL 信息,将模拟器中的 IP 配置成刚获取的 URL 即可。注意,这个 IP 是在每次开启 RTW 后自动分配的,所以每次尝试新连接时都需要修改。

    图 31.客户端和服务器连接问题
    客户端和服务器连接问题
  2. 我安装的应用为什么不能识别控件

    请确认您应用的开发框架,RTW8.5 是不识别 Dojo mobile 等的。

  3. 为什么我安装的 IOS 应用不能录制回放

    请确认您导入了应用的源码(source code),在有源码的条件下 RTW 才能执行录制回放修改的操作。


结束语

本文主要介绍了如何使用 Rational Test Workbench 8.5 安装测试移动测试应用。通过阅读这篇文章,用户可以清楚的了解 RTW 控制台和模拟器上客户端的安装,基本脚本的录制,修改和回放,测试用例的生成,以及常见错误和故障的排除。在 RTW 8.5 移动应用测试基本功能的帮助下,用户可以简单运用 Rational Test Workbench 8.5 完成 iOS 应用的基本功能的测试和自动化测试脚本的录制回放,从而缩短整个移动测试的周期。

参考资料

学习

获得产品和技术

  • 获取免费的 Rational 软件工具包系列,了解最新的 IBM Rational 软件开发工具技术文档和资源。
  • 下载更多免费的 IBM Rational 试用版软件,了解 IBM Rational 软件的最新特性。
  • 获取更多 IBM 试用版软件,并熟练掌握来自 DB2®、Lotus®、Tivoli®,以及 WebSphere® 的开发工具和中间件产品,用这些试用版软件开发您的下一个项目。这些试用版软件可以免费直接从 developerWorks 下载。

讨论

  • 加入 developerWorks 中文社区,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。

条评论

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=957564
ArticleTitle=IBM Rational Test Workbench 在 iOS App 开发中的应用
publish-date=12192013