[英]Xcode UI Test example
我剛剛學習了Xcode中的單元測試 。 現在我正在嘗試Xcode 7,當我創建一個新項目時,我看到有一個新的UI測試組。
我觀看了WWDC 2015視頻並且它非常好,但你有一個超級簡單的例子,我可以自己完成嗎? 視頻示例對我來說有點過於復雜。
筆記
使用單元測試來測試類中方法的有效性。 您可以使用它們來測試您編寫的代碼。 (參見我在Xcode中設置簡單單元測試的另一個例子 。)
使用UI測試檢查用戶界面的有效性。 可以把它想象成擁有自己的機器人,並與普通用戶的應用程序進行所有正常的交互。 這樣可以節省您自己完成的時間。
在撰寫本文時,很難訪問UI組件的許多屬性,但只需通過點擊它們並輕掃它們即可確認它們在那里。
這是關於我能想到的最簡單的設置和UI測試:按下時按鈕會更改標簽的文本。
如果要將UI測試添加到在Xcode 7之前創建的項目,請參閱此答案 。 (文件>新建>目標>測試> Cocoa Touch UI測試包)
在故事板中添加UILabel
和UIButton
在ViewController
創建一個@IBOutlet和@IBAction,並在按下button
時更改label
文本。
import UIKit class ViewController: UIViewController { @IBOutlet weak var label: UILabel! @IBAction func button(sender: AnyObject) { label.text = "Hello" } }
testExample()
方法中。 (你可以刪除評論) 在應用程序中,(1)點擊標簽,(2)點擊按鈕,然后(3)再次點擊標簽。 (4)再次按“錄制”按鈕停止錄制。 應該已經為您自動生成以下代碼:
func testExample() { let app = XCUIApplication() app.staticTexts["Label"].tap() app.buttons["Button"].tap() app.staticTexts["Hello"].tap() }
使用staticText
行作為制作XCTAssert
。 現在你應該:
func testExample() { let app = XCUIApplication() XCTAssert(app.staticTexts["Label"].exists) app.buttons["Button"].tap() XCTAssert(app.staticTexts["Hello"].exists) }
按左側的菱形以運行UI測試。 它通過時應該變成綠色。
UIButton
和UILabel
,並且標簽的文本發生了變化。 如果你想看到它失敗(一個好主意),你可以將“Hello”更改為其他內容。 @Suragch +1的答案。 我觀察並想要分享的一件事是UI測試案例中的每個函數都必須以“test”開頭。 之后你可以追加額外的名字。 只有這樣才會出現按鈕(用於點擊開始測試)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.