摘要:進入下面這個界面,點擊左下角的加號,選擇 New UI Test Target , 添加完成後,會出現一個COOHOMUITests文件夾,這個文件夾下會默認生成一個COOHOMUITests.swift 文件,測試用例就編寫在這個*.swift 文件中。2. 需要在 Fastfile 文件添加下面的配置,執行UI測試。

背景介紹:

目前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自動化測試框架。

實現流程:

一、如何在項目中使用UITesting框架和編寫測試用例

  1. 首先使用xcode 打開項目
  2. 接入UITesting

進入下面這個界面,點擊左下角的加號,選擇 New UI Test Target , 添加完成後,會出現一個COOHOMUITests文件夾,這個文件夾下會默認生成一個COOHOMUITests.swift 文件,測試用例就編寫在這個*.swift 文件中。

setUp是在所有測試用例運行之前運行的函數,在這個測試用例裏進行一些通用的初始化工作

TearDown是在所有的測試用例都執行完畢後執行的

testExample 是測試用例,測試用例的命名都是以test開始

3. 運行測試用例(下面以最簡單的測試用例進行示範,重在流程跑通)

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

4. 測試成功後,結果會在下面這個界面中展示,綠色打鉤表示測試用例成功,紅色打叉表示失敗

5. 獲取代碼覆蓋率

(1)添加Xcode Coverage 插件

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

(2) 項目中配置XcodeCoverage

點擊Product->Scheme→Edit Scheme ,出現下面這個界面,選中Test 下的Code Coverage 選項

(3) 再次運行測試用例,查看覆蓋率

6. 測試用例demo

二、如何與GitLab 打通實現持續集成

  1. .gitlab-ci.yml 中添加執行測試的命令

2. 需要在 Fastfile 文件添加下面的配置,執行UI測試

3. 需要在 Fastfile 文件添加下面的配置,獲取代碼覆蓋率

4. 將測試結果,測試報告和代碼覆蓋率通過腳本上傳到展示平臺

三、如何展示最終的測試結果

實現思路:

1、對於測試結果數據(代碼覆蓋率和用例通過率),用例執行結束後,通過調用接口存儲到數據庫

2、對於測試報告和覆蓋率報告了,用例執行後,通過腳本將報告從測試機器上拷貝到黃埔測試平臺的部署機器上,這樣可以通過鏈接直接查看報告

3、在黃埔測試平臺上添加前端展示頁面,展示測試結果數據和報告鏈接,便於查看

最終結果:

相關文章