基于instruments-Automation的iOS应用UI自动化测试图文攻略

本文详细介绍了如何使用instruments的Automation工具进行iOS应用的UI自动化测试,包括注入式和非注入式框架的区别,采用instruments的原因,以及在真机和模拟器上的准备工作。通过录制、编辑脚本以及使用tuneupjs优化自动化测试流程,提升测试效率和稳定性。
摘要由CSDN通过智能技术生成

iOS的自动化测试框架可分为两种:注入式和非注入式。注入式的框架通常会提供一些Lib或者是Framework,要求测试人员在待测应用的代码工程中导入这些内容,框架可以通过他们完成对app的驱动,典型的比如monkeytalk。非注入式的框架则是通过苹果提供的instruments工具,调用官方的接口函数,实现对app的相关操作,典型的就是uiautomation,appium

  区别:

  注入式:可获取app内的数据;可操作空间大,不受官方限制;可在windows平台进行测试;但是需要在待测项目中增加第三方的部分,使得测试的内容和实际发布的内容并不一致

  非注入式:待测内容和最终的上线内容保持一致;测试无需源码;但是受官方限制,一些功能无法实现,而且环境要求必须使用os x平台的Xcode。

  采用instruments的原因:

  1. 测试工具和测试文档均由苹果官方维护

  2. 无需额外前置工作,可以直接对提测的app进行测试

  3. 支持录制

 

1. 环境

  mac:

    OS X

   Xcode-instruments

    其中,Xcode通过mac上的App store即可直接安装使用,instruments为Xcode自带的工具集,无需单独下载

  iPhone/iPad:

    待测app

    其中,待测app如果是运行在真机上,则一定需要用开发者证书签名,采用发布证书或者是企业证书打包的应用无法用以真机测试。

2. 准备工作 for 真机

1)手动安装应用到iPhone上,并连接iPhone到mac。

PS:如果该设备是第一次连接这台mac,需要等待organizer完成识别和同步工作才能使用。

PPS:如果organizer没有自动启动,可以通过Xcode->window->organizer,手动启动该程序。


2)启动instruments工具集,并选择Automation,进入测试工具的主界面

启动方式:打开Xcode,选择Xcode->Open DeveloperTool->Instruments


PS:启动instruments之后,可以在下方Doce菜单中,选中instruments的图标,右键选择在Dock中保留,便于下次快捷启动该工具,不用每次都去启动Xcode。

3. 准备工作 for 模拟器

方式一:从源码直接启动instruments,适用于有源代码工程的情况。

1) 双击*.xcodeproj 文件打开工程

2) 在Xcode中,选则Produce->Profile,该命令会首先build整个工程,在成功之后,自动启动instruments工具集,然后手动选择Automation工具即可。


   方式二:使用已经编译完成的并且可用于模拟器运行的*.app文件,有无源码均可

1) 手动启动instruments工具集并进入Automation,选择待测的*.app文件即可

PS:运行于模拟器和真机的程序需要采用不同的方式进行编译,不能通用的。平时的提测包都是用于真机运行的,无法在模拟器运行。

2) 如果有源码,可以在选择模拟器和对应的iOS版本之后,直接Run到模拟器中,然后在需要测试时,通过Automation选择到模拟器目录下的该app文件也可以。

模拟器中的应用可以在这个路径下面找到:

/Users/用户名/Library/Application Support/iPhone Simulator/iOS版本/Applications/

该路径下载就是模拟器中的已安装的所有应用程序,找到待测试的*.app即可。

   目前我测试的是一块视频应用,播放器底层的一些库运行在模拟器上会有问题,所以我的后面的所有内容都以运行于真机的环境为准。

 

4. 从录制开始

1) 选择待测试的应用。

在左上方的choose target上点击,选择当前连接的设备,以及该设备上已安装的待测试app

2) 聚焦到script区域,点击该区域下方的红色按钮

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值