記事


テスト用の UI 自動化の記録


操作シーケンスをキャプチャして再生し、あなたのアプリの動作を確認します。





概観


XCUIAutomation を使って UI テストを記述する際、XCUIElementQuery を使ってあなたのテストが操作するアプリ内の要素を検索します。あなた独自の要素クエリを記述することもできますが、UI フレームワークの要素階層構造に精通していないと難しい場合があります。UI 記録を使ってアプリの操作を再現すれば、Xcode が要素クエリを自動的に構築してくれます。



テストクラスとテストメソッドを作成する


あなたのアプリの UI 自動化テストターゲットに、XCTestCase のサブクラスを作成します。次に、パラメータを持たず、test の単語で始まる名前のテストメソッドを追加します。テストメソッドの詳細については、テストケースとテストメソッドの定義 (Defining Test Cases and Test Methods) を参照してください。



あなたのアプリの操作を記録する


テストメソッドの本文で、あなたのテストのアプリの操作を記録したい行をクリックし、エディターの端にある記録ボタン (赤い点) をクリックします。



Xcode は UI テストの記録を開始するかどうかを尋ねます。「Yes (はい)」をクリックしてください。


あなたのアプリがまだ実行されていない場合は、Xcode がビルドして起動します。その後、あなたのアプリ内の要素を操作すると、Xcode はそれらの要素を見つけるクエリと、要素に対する操作を再現するアクションをテストに追加します。アプリの操作が終わったら、エディターの端にある停止ボタンをクリックして記録を停止します。


注意

UI テストを初めて記録する際、Xcode はコンピューターを制御するためのアクセスを許可するよう促します。このアラートで「Open Setting (設定を開く)」をクリックします。次に、「アクセシビリティ」のプライバシー設定で、Xcode Helper のスイッチをオンに切り替えます。


あなたのアプリの設定 UI やアラートパネルの操作も記録できます。これらの場合、テスト内でアプリを起動する必要はありません。


適切な要素クエリを選択する


UI 自動化の記録中にあなたのアプリの UI 要素を操作すると、Xcode は操作した要素を特定する要素クエリをテストに追加します。複数の要素クエリで同じ要素を特定できる場合があります。例えば、ボタンをそのタイトルで特定したり、その親ビューのボタンコレクション内の索引で特定したりできます。Xcode はあなたのテストに追加する要素クエリごとに、同じ要素を特定する複数の代替クエリを提供します。


同じ UI 要素を表す複数のクエリから選択するには、要素クエリの隣にある展開三角形をクリックします。あなたのアプリ内の要素の意味を最もよく表すクエリを選択してください。たとえば、アプリの UI を再設計する際に与えられたボタンを移動する可能性があるものの、ボタンの名前は変更しない場合は、親要素の索引ではなく、名前でボタンを検索するクエリを選択してください。


選択した要素クエリを確定するには、展開リスト内で該当するエントリをダブルクリックします。



あなたのアプリの状態を確認する


あなたのテストメソッドでは、Xcode が記録した操作の後にアサーションを追加し、操作後にあなたのアプリの UI が期待どおりの状態になっていることを確認します。要素クエリを使用して UI 要素を検索し、XCTest のアサーションマクロを使用して、要素が期待どおりのプロパティを持っていることを確認します。


注意

アサーションを含まないテストメソッドは、エラーを throw することなく完了まで実行された場合に合格となります。これを使用して、あなたのアプリで記録された操作が更新バージョンでも引き続き実行可能であること、またアプリを操作してもクラッシュしないことをテストできます。














トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ