下面以Swift項(xiàng)目為例,為了節(jié)省時(shí)間,這里直接storybored拖界面,可以自行用代碼:
最終完成功能是:兩個(gè)界面,分別記錄按鈕的點(diǎn)擊事件,并進(jìn)行測(cè)試
記錄詳細(xì)流程如下:
1.創(chuàng)建項(xiàng)目,語(yǔ)言Swift ,選中include UI Tests,點(diǎn)擊next創(chuàng)建:
2.選中ViewController快速創(chuàng)建導(dǎo)航,并添加兩個(gè)按鈕,修改導(dǎo)航title未mainView:
3.創(chuàng)建subView控制器,把pushToNextPage按鈕設(shè)置點(diǎn)擊事件push新的頁(yè)面subView,并在subView界面也添加兩個(gè)按鈕:
4.添加按鈕事件
(1)在mainView控制器,doSomething按鈕事件:
//點(diǎn)擊按鈕事件
@IBAction func clickBtn(sender: UIButton) {
//mainView控制器中進(jìn)行一些邏輯操作或者其他anything ...
//打印日志
print("mainView控制器中進(jìn)行一些邏輯操作或者其他anything")
}
(2)在創(chuàng)建SubViewController.swift 的里:
import Foundation
import UIKit
class SubViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
//點(diǎn)擊clickMe1按鈕事件1
@IBAction func clickBtn1(sender: UIButton) {
//打印日志
print("SubView控制器中進(jìn)行一些邏輯操作或者其他anything")
}
//點(diǎn)擊clickMe2按鈕事件2
@IBAction func clickBtn2(sender: UIButton) {
//打印日志
print("SubView控制器中進(jìn)行一些邏輯操作或者其他anything")
}
}
5.運(yùn)行項(xiàng)目,確定沒(méi)什么問(wèn)題.
6.添加UITests代碼方法
-
將光標(biāo)定位在testMainViewClickBtn方法中,點(diǎn)擊底部紅點(diǎn)[有時(shí)候紅點(diǎn)不能點(diǎn)擊,將xcode關(guān)掉再打開(kāi)一般就好了]開(kāi)始錄制UTTest代碼:
8.經(jīng)過(guò)步驟7項(xiàng)目會(huì)啟動(dòng),此時(shí)點(diǎn)擊mainView里的所有事件,測(cè)試代碼會(huì)自動(dòng)錄制,錄制完后再點(diǎn)擊紅點(diǎn)結(jié)束錄制:
//MainView測(cè)試方法
func testMainViewClickBtn() {
let app = XCUIApplication()
app.buttons["pushToNextPage"].tap()
app.navigationBars["subView"].buttons["mainView"].tap()
app.buttons["doSomething"].tap()
app.otherElements.containing(.navigationBar, identifier:"mainView").children(matching: .other).element.children(matching: .other).element.children(matching: .other).element.tap()
}
9.subView進(jìn)行同樣操作,至此簡(jiǎn)單UITest自動(dòng)錄制結(jié)束.開(kāi)始運(yùn)行測(cè)試,提示success標(biāo)示已成功: