XCTest-9-ユーザーインタフェーステスト

3579 ワード

UIテストを使用すると、アプリケーションのUIを見つけてインタラクティブになり、UI要素のプロパティとステータスを検証できます.
UIテストにはUIレコードが含まれています.これにより、コードを生成し、アプリケーションのUIを同じ方法で練習し、UIテストを実現することができます.UIテストの作成を迅速に開始するには、これは良い方法です.
テストレポートを強化し、テストに失敗したときのUIステータスのスナップショットなど、UIテストの詳細を提供します.
UIテストは、XCTestフレームワークとアシスト機能の2つのコアテクノロジーに基づいています.
1.XCTestは、Xcodeと統合されたUIテスト機能のフレームワークを提供します.UIテストの作成と使用は、XCTestの使用とユニットテストの作成に関する理解を拡張します.UIテストターゲットを作成し、プロジェクトの一部としてUIテストクラスとUIテスト方法を作成します.XCTest断言を使用して、予想された結果が本当かどうかを検証します.Xcode Serverとxcodebuildによる継続的な統合も可能です.XCTestはObjective-CとSwiftを完全に互換性があります.
2.アクセス性はコアテクノロジーであり、障害のあるユーザーがiOSやmacOSと同じように豊富な体験をし、他のユーザーが受け取ることができます.UIに関する豊富な意味データのセットが含まれており、ユーザーはアプリケーションの使用を指導するために使用することができます.アクセス性はUImitやAppKitと統合されており、動作を微調整したり、外部で使用されているAPIに露出したりすることができるAPIがあります.UIテストでは、このデータを使用して機能を実行します.
ソースコードでのUIテストの作成は、セルテストの作成と同様です.アプリケーションのUIテストターゲットを作成します.Xcodeは、デフォルトのUIテストグループとインプリメンテーションファイルを作成し、インプリメンテーションファイルでサンプルテストメソッドテンプレートを使用します.UIテストターゲットの作成時に、テストが処理するアプリケーションを指定します.
UIテストの原理は、アプリケーションのUIオブジェクトを検索し、イベントを合成してこれらのオブジェクトに送信し、UIオブジェクトのプロパティとステータスを確認して、予想されるステータスと比較できる豊富なAPIを提供することです.
要求
UIテストは、開発ツールだけでなく、オペレーティングシステムプラットフォーム上のサービスとAPIによって異なります.Xcode 7、macOS 10.11、iOS 9(またはそれ以上)が必要です.UIテストによるプライバシー保護:
1.iOSデバイスは、開発および信頼されているホストへの接続を有効にする必要があります.
2.macOSは、特殊Xcode Helperアプリケーションに権限を付与する必要があります.UIテストを初めて使用すると、自動的にプロンプトが表示されます.
iOSデバイスは、開発を有効にし、信頼されているホストに接続する必要があります.macOSは、特殊なXcode Helperアプリケーションに権限を付与する必要があります(最初の使用時に自動的にプロンプトされます).
コンセプトとAPIs
UIテストは、ユニットテストとは根本的に異なります.ユニットテストにより、アプリケーションの範囲内で作業でき、アプリケーションの変数とステータスに完全にアクセスして機能と方法を実行できます.UIテストは、ユーザーがアプリケーションにアクセスする必要のない内部メソッド、関数、変数と同じ方法でアプリケーションのUIを練習します.これにより、テストはユーザーと同じ方法でアプリケーションを表示し、ユーザーが直面しているUIの問題を暴露することができます.
あなたのテストコードは、アプリケーション内のUI応答のイベントを合成する個別のプロセスとして実行されます.
APIs
UIテストは、3つの新しいクラスの実装に基づいています.
1.XCUIApplication
2.XCUIElement
3.XCUIElementQuery
UIによる録画開始
UIレコードから開始します.ソースコードは、テストを構築したり、特定の使用シーンを再生したりするために編集できるテストインプリメンテーションファイルとして生成されます.UIレコードは、新しいUIを探索したり、UIテストシーケンスの作成方法を学習したりするのに役立ちます.操作の基本手順は次のとおりです.
1.テストナビゲータを使用して、UIテストターゲットを作成します.
2.作成したテンプレートファイルで、テスト関数にカーソルを置きます.
3.UI録画を開始します.アプリケーションが起動して実行されます.トレーニングアプリケーションは、一連のUI操作を実行します.Xcodeは、関数本体のソースにアクションをキャプチャします.
4.テストする操作が完了したら、UIレコードを停止します.
5.ソースにXCTestアサーションを追加します.
UIテストの作成
APIテストは機能と性能の両方を有することができ、UIテストも可能である.UIテストは、アプリケーションの表面空間で動作し、多くの低レベル機能をユーザーが見ているプレゼンテーションと応答に統合する傾向があります.
UIテストは、イベントと応答のレベルを根本的に操作します.
1.検索要素を問い合せます.
2.要素の予想される動作を参照として知る.
3.要素をクリックまたはクリックして応答を引き出します.
4.測定応答は、通過/失敗の結果と予想される一致または不一致である.
XCTestを使用してUIテストを作成することは、作成ユニットテストと同じプログラミングモデルの拡張です.同様の動作およびプログラミング方法が全体的に使用され、UIテストAPIの基本概念と、ユーザインタフェーステストでどのように記述される動作の違いが与えられる.テストクラス構造では、提供されるsetUpメソッドは、setUpとユニットテストクラスの2つの違いを含む.
- (void)setUp {
[super setUp];

// Put setup code here。 。

self.continueAfterFailure = NO;
[[[XCUIApplication alloc] init] launch];
}}

self.continueAfterFailureはNOをデフォルト値に設定します.これは、UIテスト方法の各ステップが、前のステップの成功に依存することが多いため、通常は正しい構成である.1つのステップが失敗した場合、以下のすべてのテストも失敗します.
メソッドの追加setupには、インスタンスXCUIApplicationを作成して起動することが含まれます.UIテストは、setupをテストするアプリケーションを起動する必要があります.また、各テストメソッドの前に実行されるため、各テストメソッドのアプリケーションが起動されることを保証します.
UIテスト方法を作成する場合は、UI記録機能を使用してテストの基本手順のセットを作成します.次に、あなたの目的のためにこの基本シーケンスを編集し、XCTest断言を使用してユニットテストと同じ合格または失敗結果を提供します.UIテストには、ユニットテストのような機能とパフォーマンスがあります.
正しいUIテストの一般的なパターンは次のとおりです.
1.XCUIElementQueryを使用してXCUIElementを検索します.2.イベントを合成してXCUIElementに送信します.3.アサーションを使用してXCUIElementのステータスを予想される参照ステータスと比較します.
パフォーマンスのUIテストを構築するには、繰り返し可能なUIシーケンス手順measureBlockをパフォーマンステストの作成で表示される構造に含めます.