iOS UI 自动化测试总结

栏目: IT技术 · 发布时间: 4年前

内容简介:目前iPad 有三个iOS APP,分别是COOHOM,酷家乐云设计和企业云设计, 每次发版前回归量很大,所以我们需要自动化手段来提高我们的测试效率。目前移动端有多种自动化测试工具和方法,例如Appium,UITesting和KoolTest,Macaca 等。通过调研,发现UITesting非常满足我们的UI自动化测试需求,UITesting 具有以下一些特点:苹果提出了一个全新的基于Xcode7以上的UI测试工具此外,iPad 已经有自动打包流程,使用UITesting 我们可以很快实现持续集成过程。所

背景介绍:

目前iPad 有三个iOS APP,分别是COOHOM,酷家乐云设计和企业云设计, 每次发版前回归量很大,所以我们需要自动化手段来提高我们的测试效率。目前移动端有多种自动化测试 工具 和方法,例如Appium,UITesting和KoolTest,Macaca 等。通过调研,发现UITesting非常满足我们的UI自动化测试需求,UITesting 具有以下一些特点:苹果提出了一个全新的基于Xcode7以上的UI测试工具

  • 支持录制功能
  • 支持Objective-C、Swift编写脚本
  • 基于XCTest框架
  • 引入Accessibility来辅助元素定位,让UI测试更加完善,并且专门提供了Accessibility Inspector;
  • 生成测试报告,支持覆盖率统计

此外,iPad 已经有自动打包流程,使用UITesting 我们可以很快实现持续集成过程。所以最终我们选择UITesting作为我们的UI自动化测试框架。

实现流程:

iOS UI 自动化测试总结

一、如何在项目中使用UITesting框架和编写测试用例

  1. 首先使用xcode 打开项目
  2. 接入UITesting

进入下面这个界面,点击左下角的加号,选择 New UI Test Target , 添加完成后,会出现一个COOHOMUITests文件夹,这个文件夹下会默认生成一个COOHOMUITests.swift 文件,测试用例就编写在这个*.swift 文件中。

iOS UI 自动化测试总结
iOS UI 自动化测试总结
iOS UI 自动化测试总结

setUp是在所有测试用例运行之前运行的函数,在这个测试用例里进行一些通用的初始化工作

TearDown是在所有的测试用例都执行完毕后执行的

testExample 是测试用例,测试用例的命名都是以test开始

3. 运行测试用例(下面以最简单的测试用例进行示范,重在流程跑通)

可以通过Product →test  运行,也可以直接通过命令行cmd+U

4. 测试成功后,结果会在下面这个界面中展示,绿色打钩表示测试用例成功,红色打叉表示失败

iOS UI 自动化测试总结

5. 获取代码覆盖率

(1)添加Xcode Coverage 插件

在项目下的Podfile下添加XcodeCoverage ,pod 'XcodeCoverage' , '~> 1.0', 然后pod update 一下,最后,pod install

iOS UI 自动化测试总结

(2) 项目中配置XcodeCoverage

点击Product->Scheme→Edit Scheme ,出现下面这个界面,选中Test 下的Code Coverage 选项

iOS UI 自动化测试总结

(3) 再次运行测试用例,查看覆盖率

iOS UI 自动化测试总结

6. 测试用例demo

iOS UI 自动化测试总结

二、如何与GitLab 打通实现持续集成

  1. .gitlab-ci.yml 中添加执行测试的命令
iOS UI 自动化测试总结

2. 需要在 Fastfile 文件添加下面的配置,执行UI测试

iOS UI 自动化测试总结

3. 需要在 Fastfile 文件添加下面的配置,获取代码覆盖率

iOS UI 自动化测试总结

4. 将测试结果,测试报告和代码覆盖率通过脚本上传到展示平台

iOS UI 自动化测试总结

三、如何展示最终的测试结果

实现思路:

1、对于测试结果数据(代码覆盖率和用例通过率),用例执行结束后,通过调用接口存储到数据库

2、对于测试报告和覆盖率报告了,用例执行后,通过脚本将报告从测试机器上拷贝到黄埔测试平台的部署机器上,这样可以通过链接直接查看报告

3、在黄埔测试平台上添加前端展示页面,展示测试结果数据和报告链接,便于查看

最终结果:

iOS UI 自动化测试总结

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Head First Java(第二版·中文版)

Head First Java(第二版·中文版)

Kathy Sierra,Bert Bates 著、杨尊一 编译 张然等 改编 / 杨尊一 / 中国电力出版社 / 2007-2 / 79.00元

《Head First Java》是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。此书是根据学习理论所设计的,让你可以从学习程序语言的基础开始一直到包括线程、网络与分布式程序等项目。最重要的,你会学会如何像个面向对象开发者一样去思考。 而且不只是读死书,你还会玩游戏、拼图、解谜题以及以意想不到的方式与Java交互。在这些活动中,你会写出一堆真正的Jav......一起来看看 《Head First Java(第二版·中文版)》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具