UI Tests是一個自動測試UI與交互的Testing組件
UI Tests有什么用?
它可以通過編寫代碼、或者是記錄開發者的操作過程并代碼化,來實現自動點擊某個按鈕、視圖,或者自動輸入文字等功能。
UI Tests的重要性
在實際的開發過程中,隨著項目越做越大,功能越來越多,僅僅靠人工操作的方式來覆蓋所有測試用例是非常困難的,尤其是加入新功能以后,舊的功能也要重新測試一遍,這導致了測試需要花非常多的時間來進行回歸測試,這里產生了大量重復的工作,而這些重復的工作有些是可以自動完成的,這時候UI Tests就可以幫助解決這個問題了。
使用方法
第一步:添加UI Tests
如果是新項目,則創建工程的時候可以直接勾選選項,如下圖
如果是已有的項目,可以通過添加target的方式添加一個UI Tests,點擊xcode的菜單,找到target欄
在Test選項中選擇Cocoa Touch UI Testing Bundle
這時候test組件添加成功,它在項目中的位置如下圖所示
第二步:創建測試代碼
手動創建測試代碼
打開測試文件,在testExample()方法中添加測試代碼
如果不知道如何寫測試代碼,則可以參考自動生成的代碼樣式
自動生成測試步驟
選擇測試文件后,點擊錄制按鈕
這時候開始進行操作,它會記錄你的操作步驟,并生成測試代碼
下圖就是在一些操作后自動生成的測試代碼
這時候可以分析測試代碼的語法,以便你自己手動修改或者手寫測試代碼
開始測試
點擊testExample方法旁邊的播放按鈕,它就開始進行自動測試了,這時候你會看到app在自動操作
下面介紹一下測試元素的語法
XCUIApplication:
繼承XCUIElement,這個類掌管應用程序的生命周期,里面包含兩個主要方法
launch():
啟動程序
terminate():
終止程序
XCUIElement:
繼承NSObject,實現協議XCUIElementAttributes, XCUIElementTypeQueryProvider
可以表示系統的各種UI元素
exist:
可以讓你判斷當前的UI元素是否存在,如果對一個不存在的元素進行操作,會導致測試組件拋出異常并中斷測試
新聞熱點
疑難解答