XCode7からUIのテストを録画(?)して記述できるようになったので試してみます。
UIテストしてみよう
プロジェクト作成時に「Include UI Tests」にチェックを入れておきましょう。
テスト用に簡単なサンプルを用意します。
テキストフィールドに名前を書き込んでボタンをタップすると
「Hello, 名前」とラベルに表示するだけの簡単なものです。
自動生成されているTestコードにカーソルが当たった状態になると画面下部の赤い丸ボタンが有効になるのでクリックします。
そうするとシミュレータが立ち上がってくるのでテキトーに操作してみましょう。
操作に応じてコードが生成されていくのが分かります。
ここはテキストフィールドに「taro」と入力してボタンをタップしたところで録画を停止しました。
操作部分は自動でコードが生成されているので検証用のコードを追記します。
let app = XCUIApplication()
let textField = app.otherElements.containingType(.StaticText,identifier:"Label").childrenMatchingType(.TextField).element
textField.tap()
textField.typeText("taro")
app.buttons["Button"].tap()
//ここだけ手動で追加
XCTAssert(app.staticTexts["Hello, taro"].exists)
「"Hello, taro"という静的テキストがあるよね」という検証を追加しました。
あとはCommand+Uでテストが走ります。
iOS開発のUIテストフレームワークとしてはKIFが有名ですが、私は使ったことがないので比較できません。
ただ、操作部分を記述する必要がないのは便利だなーと思います。