swift单元测试(三)XCTest之UI测试UITest
繼上篇文章介紹了XCTest中的單元測試,這片土地主要介紹下蘋果官方測試框架XCTest中的的UITest。
1、UITest簡介
? ? ? ? UI Tests是一個自動測試UI與交互的Testing組件。UI testing允許你找到UI元素并與之交互,還能檢查屬性和狀態.可以和單元測試一起執行. UITest使用的OC/Swift語言的自動化測試。
? ? ? ? 可以通過編寫代碼、或者是記錄開發者的操作過程并代碼化,來實現自動點擊某個按鈕、視圖,或者自動輸入文字等功能。隨著項目功能的增加,舊功能也需要重新測試,導致了大量重復工作,這些重復的工作有些是可以自動完成的,UI Tests就可以幫助解決這個問題了。
?
2、UITest進行UI測試
1)創建一個UI測試target
UI測試target的創建方法類似于單元測試的創建方式,也是有兩種,只是選擇的target類型不同
方式一:通過創建新項目時,勾選 Include UI Tests
方式二:在已存在的項目中創建,按comman+5?打開xcode的測試導航器,點擊左下角的+?按鈕,然后從菜單中選擇New UI Test Target…
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
2)如果已有target,想新建不同的測試類,按command+n 打開新建文件,選擇UI Test Case Class,創建不同的UI測試文件
3)運行方式
UI測試文件的運行方式也是command+u,測試全部,或者點擊類/方法的鉆石標志
4)UI測試文件的使用
文件創建好后,會自動創建以下函數
從注釋我們可以知道這3個函數的意思
| 函數 | 用途 |
| setUp? | 1)繼承與XCTestCase 函數測試文件開始執行的時候運行? 2)setup中的XCUIApplication().launch()用于啟動app 3)可以自定義一個setup函數,將launch方法調用放在自定義函數里,然后添加自己的數據加載 |
| tearDown? | 繼承與XCTestCase 測試函數運行完之后執行 |
| testExample? | 測試的例子函數 |
(1)將自帶的testExample刪除,添加testUI,方法是空白的
(2)把光標放進到這個大括號里面,看到如下圖中?的小紅點。點擊這個錄制屏幕的按鈕。應用啟動。我們點擊項目中的按鈕跳轉,函數中會根據您的操作自動生成代碼
(3)你可以點擊該函數的鉆石標志運行,會重復您剛才的操作
(4)您也可以在操作代碼自動加入后,或者手寫操作代碼后,加入斷言判斷是否是您想要的結果。
5)常用基本操作:
(1)點擊按鈕:app.buttons["登錄"].tap()
(2)輸入框輸入文本
app.textFields["手機號"].tap()? ? //要先聚焦文本框,才能繼續輸入
app.textFields["手機號"].typeText("13038865629")
等等
?
3、代碼中控件的獲取方式
類似于 app.buttons["TDD驅動測試界面"] 這樣的,如果我們需要人為手寫操作代碼,如何獲取控件,可以通過button的title或者設置的identifer獲取button,類似的還有app.tables, app.textFields,app.staticTexts等等.
xcode也有一個幫助工具 Accessibility Inspector 來獲取控件的屬性
點擊中間的按鈕,選中控件,可以看到控件的屬性,我們一般利用其title來獲取控件
到此,UITest的簡單使用就介紹完了......
?
總結
以上是生活随笔為你收集整理的swift单元测试(三)XCTest之UI测试UITest的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机字符集简史
- 下一篇: CVE-2013-4694 WinAmp