XCUITestによるUIテスト
画面上のタップとアサーションを自動化します。
「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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- ViewModelのユニットテスト
- 非同期コードのテスト
- XCUITestによるUIテスト
- スナップショットとプレビュー駆動テスト