iOS UI 自动化测试总结

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

内容简介:目前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 自动化测试总结

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

查看所有标签

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

微创新

微创新

德鲁•博迪、雅各布•戈登堡 / 钟莉婷 / 中信出版社 / 2014-4-5 / 42.00

好产品不一定要颠覆,微小改进就能让用户尖叫! 引爆创新领域的全新方法论 互联网时代行之有效的5大创新策略 创业者、产品经理必读的创新行动指南 《怪诞行为学》作者 丹•艾瑞里 《影响力》作者 罗伯特•西奥迪尼 全球50位最具影响力的商业思想家之一丹尼尔•平克 周鸿祎、黎万强、罗振宇、牛文文、张鹏 联袂重磅推荐 为什么iPod可以在众多mp3产品中......一起来看看 《微创新》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具