iPhone App自动化测试

本文介绍了针对iPhone App的三种自动化测试工具类别:接口测试工具、注入式UI测试工具和录放式UI测试工具。并详细列举了各类工具的特点及适用场景。

无线客户端的发展很快,特别针对是android和ios两款无线操作系统的客户端应用,相应的测试工具也应运而生,这里主要给大家介绍一些针对iPhone App的自动化测试工具。

首先,我们把这些测试框架分为三大类:接口测试工具、注入式UI测试工具、录放式UI测试工具。

一、接口测试工具,主要在iphone SDK提供的单元测试框架的基础上,完成代码的接口功能测试。

这类工具用的比较多的是SDK本身提供的test unit,以及google的google-toolbox-for-mac工具。google的GTM工具是在test unit上做了一层封装,可以简单、快速的完成测试脚本编写,提供完善的测试日志和报告,并提供部分简单的UI测试功能。

详细的文档可以参考这里:http://code.google.com/p/google-toolbox-for-mac/wiki/iPhoneUnitTesting

二、注入式UI测试工具,可以完成对被测应用的UI功能测试,需要在源代码中加入一些必须的测试代码。优点是可以模拟用户的操作,测试被测应用的相关功能,可以覆盖比较全的应用功能。缺点是因为在源代码中插入了必须的测试代码,而这些应用发布时需要去除,引入了被测应用和发布应用不一致的风险。

UISpec,提供了用例运行前的准备和运行的恢复功能,UIQuery功能,以及较为完善的校验功能,但该工具的使用比较复杂,脚本的编写也很繁琐,虽然对UI可以query,但无法方便、清晰、直观的查看应用控件的属性。

详细的文档可以参考这里:http://code.google.com/p/uispec/wiki/Documentation

Bromine,脚本编写简单,对控件的操作,完全模拟touch事件实现,但控件的定位通过对控件重画,并插入定位需要的信息,xpath的描述串也稍显复杂,校验功能相对较弱。

详细的文档可以参考这里:http://code.google.com/p/bromine/

三、录放式UI测试工具,主要通过录制用户的操作行为,通过回放来完成对被测应用的功能测试,这类工具对UI的功能测试相对是比较弱的。

比较常用的有Instrument、FoneMonke。

Instrument,是iOS提供的主要用于分析应用的性能和用户行为的工具,利用它可以完成对被测应用的简单的UI测试。

FoneMonke,是国外提供的一个开源的,免费的录制/回放工具。网站:http://www.gorillalogic.com/fonemonkey

以上是了解的一些针对iPhone App的自动化测试工具,大家感兴趣的可以了解了解,欢迎交流、学习!

 

本文来自: http://qa.taobao.com/?p=13737
### APP自动化测试教程 #### 安装环境准备 为了开展APP自动化测试,需先准备好开发环境。对于MAC电脑而言,安装Appium是一个重要的环节[^2]。 #### 测试工具介绍 App自动化测试主要依赖于特定的框架和工具来实现。其中,Appium作为一款流行的开源工具被广泛应用于iOS和Android应用的自动化测试中[^1]。 #### 实战操作指南 - **启动服务** 启动Appium Server GUI界面,通过图形化的方式简化了命令行的操作复杂度,使得初学者也能快速上手。 - **获取应用程序文件(.app结尾)** 对于iOS平台来说,需要获得待测应用的.app格式文件用于后续加载到模拟器或真实设备中运行测试脚本。 - **WebDriverAgent部署** 使用Xcode编译并安装`WebDriverAgentRunner`项目至目标iPhone/iPad设备完成这一组件设置过程以便能够远程控制该装置上的UI元素交互动作。 - **配置Appium Inspector** 利用此可视化调试辅助软件可以方便地探索页面结构以及选取控件属性值供编写定位表达式时参考利用。 - **Python脚本编程接口调用** 编写基于Python语言的自动化测试案例代码片段连接已设定完毕的各项设施执行预期行为验证逻辑判断等任务处理流程。 ```python from appium import webdriver desired_caps = { 'platformName': 'iOS', 'automationName': 'XCUITest', 'deviceName': 'your_device_name', 'udid': 'your_udid', 'bundleId': 'com.example.yourapp' } driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) try: # Your test code here finally: driver.quit() ``` #### 维持会话状态管理 考虑到用户体验连续性的需求,在设计测试方案过程中应当注意保持不同场景间的一致性和连贯性。例如,可以通过调整某些参数确保多个测试用例之间共享相同的登录状态而无需每次都重新输入账号密码信息进入首页再继续下一步骤操作[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值