SwiftUI Academy · レッスン

XCUITestによるUIテスト

画面上のタップとアサーションを自動化します。

レッスン 3/413 ステップ

「XCUITestによるUIテスト」はCoddyKit上の無料SwiftUI Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSwiftUI Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 SwiftUI Academyコースには全4レッスンが含まれています。

UIテストで行うこと

UIテストは、実際のユーザーと同じようにアプリを操作します。タップ、入力、スワイプを行い、画面が正しく反応したことを確認します。📱

独立したテストターゲット

UIテストは、独自のUI Testingターゲットに配置します。プロジェクトの作成時、または後からテストナビゲーターで追加すると、Xcodeが作成します。

アプリを起動する

すべてのUIテストは、XCUIApplicationで新しいアプリインスタンスを起動することから始まります。これにより、クリーンな状態からテストできます。

let app = XCUIApplication()
app.launch()

要素を見つける

queriesを使って、button、staticTexts、textFieldsなどのコントロールにアクセスします。各クエリは、画面上の種類に基づいて要素を検索します。

app.buttons["Add"]

ボタンをタップする

要素に対してtapを呼び出すと、指で押す操作をシミュレートできます。アプリは実際のユーザー操作とまったく同じように反応します。

app.buttons["Add"].tap()

テキストを入力する

まずフィールドをタップし、typeTextでキーストロークを送ります。これがテスト中にフォームへ入力する方法です。

app.textFields["name"].typeText("Sam")

アクセシビリティ識別子

ビューに安定したaccessibilityIdentifierを設定すると、表示ラベルが変更されたりローカライズされたりしても、テストから要素を見つけられます。

.accessibilityIdentifier("addButton")

表示内容を検証する

existsで結果を確認します。要素が画面上にある場合はtrueを返すため、操作が成功したことを確認できます。

XCTAssertTrue(app.staticTexts["Done"].exists)

要素を待機する

コンテンツの読み込みに時間がかかる場合は、タイムアウトを指定してwaitForExistenceを使います。要素が表示されるまでテストが一時停止します。⏳

label.waitForExistence(timeout: 3)

記録して学ぶ

クエリに慣れていない場合は、Xcodeのrecordボタンを使います。タップするたびにコードが作成されるため、それを整理するところから始められます。

UIテストは少数に保つ

UIテストはユニットテストよりも低速です。サインインやチェックアウトなどの重要なフローを対象にし、それ以外は高速なユニットテストに任せます。

クイックチェック

UIテストでコントロールを見つける最も信頼性の高い方法は何ですか?

まとめ

XCUITestでアプリを操作しました。アプリを起動し、コントロールをクエリし、タップや入力を行い、existsで検証します。実際のユーザーフローを自動化できます。🎉

無料で開始

AI チューターと学ぶ Swift — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「XCUITestによるUIテスト」レッスンは無料ですか?

はい。「XCUITestによるUIテスト」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、SwiftUI Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 SwiftUI Academyコースには全4レッスンが含まれています。

「XCUITestによるUIテスト」で何を学びますか?

画面上のタップとアサーションを自動化します。 ブラウザで直接実行するハンズオンコードでSwiftUI Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

SwiftUI Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSwiftUI Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「XCUITestによるUIテスト」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSwiftUI Academyレッスンでコードを書いて実行できますか?

はい。すべてのSwiftUI Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. ViewModelのユニットテスト
  2. 非同期コードのテスト
  3. XCUITestによるUIテスト
  4. スナップショットとプレビュー駆動テスト
← SwiftUI Academyに戻る