iOS自动化测试之一体化测试平台调研

框架

       Xcode 8之前:UIAutomation

       Xcode 8:XCUITest

资料

       手机GUI自动化测试介绍

       使用Python实现基于图像识别的iOS自动化测试

       以iPhone浏览器为例,浅谈iOS性能测试(值得细看)

       百度MTC学院

       iOS性能测试实战篇(一)(时间篇)

       iOS性能测试实战篇(二)(内存篇)

       *这些测试方法你了解吗?(新手入门强烈推荐)

       移动客户端编译打包方式 | iOS篇

       Xcode自带的instrument中的Automation实现自动化测试简单使用

       *百度视频在Android&iOS端性能测试方法

       iOS自动化测试系列:iOS测试入门杂谈

       从0到1搭建移动App功能自动化测试平台(3):编写iOS自动化测试脚本

       使用fruitstrap实现命令行把最新IPA包更新到iPhone设备上
       *iOS UI自动化测试

       iOS UI自动化测试初探

       iOS 测试自动化框架——smallapple

       iOS自动化测试框架对比

       解放程序猿(媛)的双手—iOS UI自动化测试

可能有用的几个插件和软件

1、TuneUp(必须)

       与前几个工具都是在苹果官方AppStore下载不同,TuneUp是自动化测试的一个开源软件,用于批量执行写好的脚本,收集logs,堆栈信息等。

       推荐下载地址:https://github.com/alexvollmer/tuneup_js

2、 FruitStrap(必须)

       虽然现在iOS7和最新的iOS8的用户居多,但旧的系统也会存在,我们写的脚本不可能操控iOS所有系统的app,所以要用到FruitStrap去兼容不同版本。

       在网上搜索”itools ipa“会出来苹果装机助手提供的ipa文件,是苹果公司自己将app打包成了ipa文件,如果是越狱的手机可以直接安装。但开发提供的版本一般不会是ipa文件,而是release(签名正式发布的)下的app,(debug(调试的)下也有app文件,但一般用于他们自己调试程序)。苹果的app必须要有证书才能安装,这样可以杜绝盗版病毒。苹果很注重维护版权,审核特别严格,比如发现app上有世界杯篮球比赛的视频,那么必须要有相应的授权书才可以通过。

3、淘宝Athrun&&InstrumentDriver

       淘宝自己封装的开源自动化测试框架特别有名,是对Instruments又封装了一遍,全是用java写的。推荐地址:http://code.taobao.org/p/athrun/src/。

4、SmallApple(https://github.com/hyxbiao/smallapple)

       Smallapple是一个开源的iOS自动化测试工具,旨在提供一套完整的iOS自动化测试解决方案,提供针对iOS App的功能和性能测试,同时提供类似Android adb、重签名、instruments结果解析、录制回放等工具集。

       具体使用看下文:(ps:好像xcode换成XCTest之后就没更新了)

       *iOS 测试自动化框架——smallapple

iOS系统指标获取

       对于iOS系统,只需要一个装了Xcode的mac电脑,取以上指标相对容易。最新版本是Xcode8.0(当然你用老版本的也一点问题都没有)

       性能测试工具,推荐用下面三个:

工具一、Instruments

       这个是mac苹果自带的工具,里面有很多模板,选择不同的系能模板就可以监听手机App性能了,但是要注意,没越狱的机器必须注册开发者证书,或者拿到App企业证书,这样xcode才能启动App进行性能监控,也就是说你被测App必须有源代码才行,当然你想规避这个问题,得走百度smallApple破解签名机制

工具二、GT

       是腾讯开发的一款App,但是也得在源码层面嵌入GT的SDK

工具三、SmallApple

       Smallapple是一个开源的IOS自动化测试工具,旨在提供一套完整的iOS自动化测试解决方案,提供针对iOS App的功能和性能测试,同时提供类似Android adb、重签名、instruments结果解析、录制回放等工具集。

       Smallapple通过一键式的执行方式,自动完成App重签名、安装、测试、性能采集(包括CPU、内存、流量等)、Crash检测和结果报告等工作。

        Smallapple特性:

  1. Smallapple致力于以最简单的方式,最小的代价提供给用户使用。
  2. 支持非越狱设备
  3. 不需要依赖源码
  4. 支持Appstore或者第三方下载的App安装测试
  5. 完全的命令行模式

       经过多番框架的考察,我们暂定使用macaca测试框架与可持续集成平台Reliable结合来搭建我们的自动化测试平台。

       但是macaca并不支持iPhone的性能测试,所以我们继续寻找关于iPhone性能测试的解决方案。

第三方框架

1、Mobile Insight

       使用方式:集成SDK

2、听云

       使用方式:集成SDK

3、Dtrace

       使用方式:代码中埋静态探针

4、Instruments

       使用方式:Xcode,需要源码

5、Introspy-iOS

       使用方式:越狱(不知是否可靠)

       参考文章:iOS应用程序安全(17)-使用Introspy对iOS应用进行黑盒测试

6、自己创建SDK

       参考文章:谈谈iOS app的线上性能监测

7、AutomatorX

       阿里开源的一个自动化测试工具,基于Python
       特点:

a、完全的黑盒测试框架,无需知道项目代码,非侵入式
b、支持iOS, Android,模拟器的自动化测试,两个平台都支持测试第三方应用
c、使用图像识别完成游戏的自动化
d、支持WebView(Android)
e、脚本编辑器用于快速的写脚本
f、漂亮的测试报告
g、可以用来测试Windows应用 (这部分没有文档)

       缺点:性能测试还是基于腾讯的GT,没有根本解决问题。

       Git:https://github.com/NetEaseGame/AutomatorX

       文档:https://testerhome.com/topics/7204

iOS Monkey测试

       Macaca 实现 IOS Monkey 测试 (支持 macaca2.x 版本)

       iosMonkey

       (已开源) 基于 XCTestWD,swiftmonkey 二次开发,实现无需插桩的 iOS monkey 自动化工具 fastmonkey

       ps:fastmonekey是现有的iOS monkey测试中唯一可以不通过越狱的黑盒层次的自动化工具,并且作者非常慷慨的开源给大家使用,这一点非常值得大家去试用,且我自己亲测可用。

       fastmonkey 自我扫盲贴

元素查找

       Macaca App Inspector 原理解析

持续集成

       [基于 Node.js 的自动化测试-Macaca] - 搭建自己的自动化测试平台 [多图]

       reliable

你可能感兴趣的:(iOS自动化测试)