您好,登錄后才能下訂單哦!
視頻匯總首頁:http://edu.51cto.com/lecturer/index/user_id-4626073.html
什么是UI Tests呢?
UI Tests是蘋果提供給我們進行UI測試的一套框架。
UI Tests有什么用?
它可以通過編寫代碼、或者是記錄用戶操作過程并將其代碼化,來實現自動點擊某個按鈕、視圖,或者自動輸入文字等功能。
UI Tests的意義
在實際的項目迭代過程中,隨著項目越做越大,功能越來越多,僅僅靠人工操作的方式來覆蓋所有測試用例是非常困難的,尤其是加入新功能以后,舊的功能也要重新測試一遍,這導致了測試需要花非常多的時間來進行回歸測試,這里產生了大量重復的工作,而這些重復的工作有些是可以自動完成的,這時候UI Tests就可以幫助解決這個問題了。
使用方法
第一步:添加UI Tests。
如果是新項目,則創建工程的時候可以直接勾選Include UI Tests選項,如果是已有的項目,可以通過添加target的方式添加一個UI Tests的方式,如下圖:
在Test選項中選擇Cocoa Touch UI Testing Bundle.
第二步:創建測試代碼。
這里主要有兩種方式來生成測試代碼:
1、手動創建測試代碼。
打開測試文件,在testXXX()方法中添加測試代碼
2、通過錄制腳本的方式生成測試代碼。
選擇測試文件后,點擊左下方的錄制按鈕,這時候開始進行操作,它會記錄你的操作步驟,并生成測試代碼。
下圖就是在一些操作后自動生成的測試代碼。
通過自動生成的代碼片段,我們能夠分析出測試代碼的結構和一些可點擊控件的名稱,將這些點擊的方法和控件名稱記錄下來,之后就可以自己編寫測試代碼了,要知道手動創建的代碼可比錄制的方法靈活的多哦!
第三步:開始測試。
點擊testExample方法旁邊的播放按鈕,它就開始執行你的測試case了,這時候你會看到你的測試App在自動操作。
UI Tests語法簡介
這里主要給大家介紹一下UI Tests的主要類及方法。
XCUIApplication類:
繼承自XCUIElement,這個類掌管應用程序的生命周期,里面包含兩個主要方法:
launch(): 啟動程序
terminate(): 終止程序
XCUIElement類:
繼承自NSObject,實現協議XCUIElementAttributes, XCUIElementTypeQueryProvider,可以表示系統的各種UI元素,它主要包含以下幾個方法。
exist: 可以讓你判斷當前的UI元素是否存在。
descendantsMatchingType(type:XCUIElementType): 取某種類型的元素以及它的子類集合。
childrenMatchingType(type:XCUIElementType): 取某種類型的元素集合,不包含它的子類。
這兩個方法的區別在于,你僅使用系統的UIButton時,用childrenMatchingType就可以了,如果你還希望查詢自己定義的子Button,就要用descendantsMatchingType方法。
另外UI元素還有一些交互方法:
tap(): 點擊。
doubleTap(): 雙擊。
pressForDuration(duration: NSTimeInterval): 長按一段時間。
typeText(text: String): 用于textField和textView輸入文本時使用,使用前要確保文本框獲得輸入焦點,可以使用tap()函數使其獲得焦點。
當然了,這里也只是給大家簡單介紹了一下常用的函數,具體如何使用還需要大家下去進一步探索哦!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。