基于移动应用项目自动化实例介绍 IBM Rational Test Workbench 在 iOS App 的应用
IBM Rational Test Workbench (简称 RTW) Release8.5 是 IBM Rational 的统一的测试工具集,包括功能测试,自动化测试等模块,具有一次录制修改脚本,可多次在多种平台执行的优点,解决了大多数移动测试需要购买多个设备,多次录制执行的现实问题。本文除了介绍如何快速使用 RTW 8.5 对 iOS 应用进行自动化测试,还会以 GPS 某移动应用项目自动化为例,详细介绍如何进行 iOS 平台应用的自动化测试。
整体安装流程以及软硬件最低配置要求
图 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),由于官网还未发布正规的 iOSRTW 客户端安装包,这部分介绍将在后续文章中涉及。
测试环境
- RTW 安装在一台 windows 7 的机器上,IP 地址 9.110.26.91
- Xcode 安装在一台 mac 机器上,IP 地址 9.186.117.200
- 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 信息

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

在使用 shell 脚本之前,解压上一步的压缩包 RTW-iOS-Build-Archive.zip
图 5. 解压缩后的 RTW 客户端安装文件

确保当前用户可有权限在 build-script 文件夹下执行所有的 shell 脚本,同 Linux 环境下的命令,可以使用 ls –l 查看文件和文件夹属性,并使用命令 chmod 批量增加其读,写,可执行的属性。
新建 terminate 窗口,将当前路径指向 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 客户端安装至模拟器

执行完成后,iPhone 模拟器会启动,RTWiOS 也会相应地自动装在模拟器里了,如图所示
图 7. RTW 客户端安装成功

使用鼠标点击模拟器上的 RTWiOS 图标,做相关配置。首先点击平台配置(Configure workbench)
图 8. RTW 客户端配置界面

将服务器 URL 设置为前面步骤中在 RTW 得到的 URL:http://9.110.26.91:7878,删去/mobile 的后缀。
图 9. 修改 RTW 客户端服务器地址

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

至此为止,RTW 服务器和 iOS 模拟器连接已经配置完成,环境搭建成功。第四章将讲述如何通过 RTW 对被测应用做录制,回放的自动化测试。
录制并回放一个简单应用
本章将向读者讲述如何在 iOS 模拟器中安装被测软件,加入到 RTW 用于管理的 manage applications 后,如何对简单计算器做测试的录制回放修改的操作。
源码程序 App 的安装
首先需要准备被测试应用 App 的源代码文件,源代码的文件名不能有中文,空格,特殊字符等。打开源码文件,用鼠标双击其中的.xcodeproj 文件,MAC 中的 Xcode 会自动加载项目。
图 11. 在 Xcode 中打开示例工程

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

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

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

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

至此为止,App 在 iOS 模拟器和 RTW 服务器端的安装就完成了。接下来将录制测试用例,编辑测试用例以及运行测试用例后修改维护。
简单计算器的安装测试
录制测试的应用将以 Calculator 程序为例,进行一个简单的测试,用户可以通过链接http://mlvgsa.ibm.com/~testrt/public/Calculator.zip 下载到这个计算器应用。
安装计算器应用程序到 RTW 和 iOS 模拟器的步骤如 4.1 节所述。
图 18. 将 Calculator 应用关联至 RTW 服务器和客户端

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

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

完成后,切换到 RTW server 端,用户可以观察到有新的录制生成。
图 21. 在 RTW 服务器中查看操作记录

点击 Click here 保存测试,并命名为 DemoTest1。保存之后,我们会看到刚才所做的操作动作被全数记录下来,如图所示
图 22. 在 RTW 服务器中查看操作步骤

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

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

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

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

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

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

相应地,在 iOS 模拟器端,相对应的测试用例中添加验证点的步骤及内容已经被相应修改了。
最后点击 Run Test 来执行修改好的测试用例,运行完成之后再次查看报告,对应的步骤已经添加并且运行。
图 29.RTW 客户端测试用例报告的细节步骤

同时在 RTW server 中,结果也添加了验证点步骤的记录。如上所述即完成了测试应用的脚本录制修改,测试报告可以供测试人员分析结果。
卸载被测应用
对于模拟器中的应用,可以在 RTW 控制台上选中需要删除的应用——右键——删除应用即可,如图所示,如果需要卸载模拟器中的 iOSRTW 客户端,只需要长按该应用,当 App 图标右上角出现叉后点击叉型,即在模拟器中删除了客户端。
图 30.卸载 RTW 服务器中的应用

常见错误故障排除
目前 RTW 与 mobile 应用测试结合仍然处于不断的改进阶段,市面上的一些应用采用的 dojo mobile 的框架开发,或者其他类型的开发模式,RTW8.5 版本仍然并不能完全支持,会出现无法找到控件的问题。后续版本的 RTW 仍然会通过不断更新以结合多种应用的测试。
-
RTW 控制台与模拟器连接不上怎么办
控制台中的移动设备始终显示“未连接”,这时需要在 IBM Rational Test Workbench Eclipse 客户端点击文件(File)>新建(New)>增加设备并拷贝(Add Device and copy the Workbench URL),点击下一步,得到 Workbench 的 URL 信息,将模拟器中的 IP 配置成刚获取的 URL 即可。注意,这个 IP 是在每次开启 RTW 后自动分配的,所以每次尝试新连接时都需要修改。
图 31.客户端和服务器连接问题
-
我安装的应用为什么不能识别控件
请确认您应用的开发框架,RTW8.5 是不识别 dojo mobile 等的。
-
为什么我安装的 IOS 应用不能录制回放
请确认您导入了应用的源码(source code),在有源码的条件下 RTW 才能执行录制回放修改的操作。
结束语
本文主要介绍了如何使用 Rational Test Workbench8.5 安装测试移动测试应用。通过阅读这篇文章,用户可以清楚的了解 RTW 控制台和模拟器上客户端的安装,基本脚本的录制,修改和回放,测试用例的生成,以及常见错误和故障的排除。在 RTW8.5 移动应用测试基本功能的帮助下,用户可以简单运用 Rational Test Workbench8.5 完成 iOS 应用的基本功能的测试和自动化测试脚本的录制回放,从而缩短整个移动测试的周期。
相关主题
- Rational Test Workbench 基础:使用 IBM Rational Test Workbench 测试 Android App 应用:IBM Rational Test Workbench(简称 RTW)是 IBM Rational 的统一的测试工具集,包括功能测试、性能测试、接口 SOA 测试等模块,满足客户多种类型的自动化测试需求。在 IBM 发布新的 RTW 8.5 版本,RTW 又增加了针对移动应用的 App 自动化测试功能,目前支持 Android、Apple iOS 两个版本的 App 应用。本文就介绍如何快速使用 RTW 8.5 对 Android 应用进行自动化测试。
- Rational Test Workbench 基础:初识 Rational Test Workbench:为了实现全面自动化测试的目标,IBM 推出了 Rational Test Workbench(简称 RTW)统一测试工具集,包括自动化功能测试,性能测试,接口集成测试,手机移动 App 自动化测试以及服务虚拟化等模块,满足客户多种类型的自动化测试需求。我们将通过系列文章,结合具体的应用,和大家一起分析如何使用 RTW 完成手机自动化测试,接口集成测试,以及通过服务虚拟化实现测试环境的仿真,从而展示 RTW 全面的自动化测试能力,方便大家了解 RTW 并在您的实际工作中应用 RTW。
- http://pic.dhe.ibm.com/infocenter/rtwhelp/v8r5m0/index.jsp">Rational Test Workbench info center:这是 RTW 8.5 的详细版产品说明文档。
- 获取免费的 Rational 软件工具包系列,了解最新的 IBM Rational 软件开发工具技术文档和资源。
- 下载更多免费的 IBM Rational 试用版软件,了解 IBM Rational 软件的最新特性。
- 访问 IBM developerWorks 中国网站 Rational 专区,获得关于 IBM Rational 软件交付平台(Rational Software Delivery Platform)产品的技术资源和最佳实践。