簡體   English   中英

Xcode UI測試示例

[英]Xcode UI Test example

我剛剛學習了Xcode中的單元測試 現在我正在嘗試Xcode 7,當我創建一個新項目時,我看到有一個新的UI測試組。

在此輸入圖像描述

我觀看了WWDC 2015視頻並且它非常好,但你有一個超級簡單的例子,我可以自己完成嗎? 視頻示例對我來說有點過於復雜。

筆記

使用單元測試來測試類中方法的有效性。 您可以使用它們來測試您編寫的代碼。 (參見在Xcode中設置簡單單元測試的另一個例子 。)

使用UI測試檢查用戶界面的有效性。 可以把它想象成擁有自己的機器人,並與普通用戶的應用程序進行所有正常的交互。 這樣可以節省您自己完成的時間。

在撰寫本文時,很難訪問UI組件的許多屬性,但只需通過點擊它們並輕掃它們即可確認它們在那里。

這是關於我能想到的最簡單的設置和UI測試:按下時按鈕會更改標簽的文本。

建立

  • 在Xcode 7+中為iOS 9.0+創建一個新項目。
  • 確保選中“包含UI測試”

在此輸入圖像描述

  • 如果要將UI測試添加到在Xcode 7之前創建的項目,請參閱此答案 (文件>新建>目標>測試> Cocoa Touch UI測試包)

  • 在故事板中添加UILabelUIButton

在此輸入圖像描述

  • ViewController創建一個@IBOutlet和@IBAction,並在按下button時更改label文本。

     import UIKit class ViewController: UIViewController { @IBOutlet weak var label: UILabel! @IBAction func button(sender: AnyObject) { label.text = "Hello" } } 

做測試

  • 打開YourProject UITests文件。

在此輸入圖像描述

  • 將你的光標放在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測試。 它通過時應該變成綠色。

在此輸入圖像描述

  • 而已! 這表明存在UIButtonUILabel ,並且標簽的文本發生了變化。 如果你想看到它失敗(一個好主意),你可以將“Hello”更改為其他內容。

進一步研究

@Suragch +1的答案。 我觀察並想要分享的一件事是UI測試案例中的每個函數都必須以“test”開頭。 之后你可以追加額外的名字。 只有這樣才會出現按鈕(用於點擊開始測試)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM