視頻匯總首頁:http://edu.51cto.com/lecturer/index/user_id-4626073.html
什么是UI Tests呢?
UI Tests是蘋果提供給我們進(jìn)行UI測試的一套框架。
UI Tests有什么用?
它可以通過編寫代碼、或者是記錄用戶操作過程并將其代碼化,來實(shí)現(xiàn)自動點(diǎn)擊某個按鈕、視圖,或者自動輸入文字等功能。
UI Tests的意義
在實(shí)際的項(xiàng)目迭代過程中,隨著項(xiàng)目越做越大,功能越來越多,僅僅靠人工操作的方式來覆蓋所有測試用例是非常困難的,尤其是加入新功能以后,舊的功能也要重新測試一遍,這導(dǎo)致了測試需要花非常多的時間來進(jìn)行回歸測試,這里產(chǎn)生了大量重復(fù)的工作,而這些重復(fù)的工作有些是可以自動完成的,這時候UI Tests就可以幫助解決這個問題了。
使用方法
第一步:添加UI Tests。
如果是新項(xiàng)目,則創(chuàng)建工程的時候可以直接勾選Include UI Tests選項(xiàng),如果是已有的項(xiàng)目,可以通過添加target的方式添加一個UI Tests的方式,如下圖:
在Test選項(xiàng)中選擇Cocoa Touch UI Testing Bundle.
第二步:創(chuàng)建測試代碼。
這里主要有兩種方式來生成測試代碼:
1、手動創(chuàng)建測試代碼。
打開測試文件,在testXXX()方法中添加測試代碼
2、通過錄制腳本的方式生成測試代碼。
選擇測試文件后,點(diǎn)擊左下方的錄制按鈕,這時候開始進(jìn)行操作,它會記錄你的操作步驟,并生成測試代碼。
下圖就是在一些操作后自動生成的測試代碼。
通過自動生成的代碼片段,我們能夠分析出測試代碼的結(jié)構(gòu)和一些可點(diǎn)擊控件的名稱,將這些點(diǎn)擊的方法和控件名稱記錄下來,之后就可以自己編寫測試代碼了,要知道手動創(chuàng)建的代碼可比錄制的方法靈活的多哦!
第三步:開始測試。
點(diǎn)擊testExample方法旁邊的播放按鈕,它就開始執(zhí)行你的測試case了,這時候你會看到你的測試App在自動操作。
UI Tests語法簡介
這里主要給大家介紹一下UI Tests的主要類及方法。
XCUIApplication類:
繼承自XCUIElement,這個類掌管應(yīng)用程序的生命周期,里面包含兩個主要方法:
launch(): 啟動程序
terminate(): 終止程序
XCUIElement類:
繼承自NSObject,實(shí)現(xiàn)協(xié)議XCUIElementAttributes, XCUIElementTypeQueryProvider,可以表示系統(tǒng)的各種UI元素,它主要包含以下幾個方法。
exist: 可以讓你判斷當(dāng)前的UI元素是否存在。
descendantsMatchingType(type:XCUIElementType): 取某種類型的元素以及它的子類集合。
childrenMatchingType(type:XCUIElementType): 取某種類型的元素集合,不包含它的子類。
這兩個方法的區(qū)別在于,你僅使用系統(tǒng)的UIButton時,用childrenMatchingType就可以了,如果你還希望查詢自己定義的子Button,就要用descendantsMatchingType方法。
另外UI元素還有一些交互方法:
tap(): 點(diǎn)擊。
doubleTap(): 雙擊。
pressForDuration(duration: NSTimeInterval): 長按一段時間。
typeText(text: String): 用于textField和textView輸入文本時使用,使用前要確保文本框獲得輸入焦點(diǎn),可以使用tap()函數(shù)使其獲得焦點(diǎn)。
當(dāng)然了,這里也只是給大家簡單介紹了一下常用的函數(shù),具體如何使用還需要大家下去進(jìn)一步探索哦!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。