アプリをテストするために、tuneup.js を使用して一連の自動化されたテスト ケースを計測器にセットアップしました。テストを個々のテスト ケースに分割し、1 つの個別のスクリプトからセット全体を実行できるようにするため、tuneup.js を使用することにしました。シミュレーターは不明な状態のままです (テストを作成したので、すべて同じログイン画面で開始および終了します) シミュレーターをリセットする方法、またはテスト ケース間でアプリを再起動する方法はありますか?
3 に答える
テストに失敗してアプリが不明な状態のままになることは、Apple の計測ツールをそのまま使用する場合の主な問題の 1 つです。私たちは Illuminator と呼ばれるフレームワーク(GitHub にあり、tuneup.js に触発されています)でこれを 2 つの方法で解決しました。
まず、自動化ブリッジ(テスト対象のアプリを含む RPC のチャネル) を作成しました。これにより、各テストの前にアプリをリセットできます。
それだけでは不十分な場合、イルミネーター テスト ランナーには、失敗した各テストをシミュレーターの初期状態の起動で再実行するオプションがあります (例: を使用--retest 1x,solo
)。
コマンドラインからテストを起動してみてください。UI オートメーションでは、1 回の実行で 1 つのテストのみを実行できます。テストが完了した後 (失敗したか成功したかは関係ありません) - アプリケーションはシステム (UIAutomation) によってキックされます。少なくとも、実際のデバイスで動作します。
コマンド ライン起動スクリプトは、次のように動作します。 1. テストへのパスを含む構成ファイル (txt または xml の任意のファイル) を読み取ります。この時点で、テストへのパスと合計テスト数を含む配列が作成されます。2. 次に、単純な「for」ループ (1 から「testcount」まで) を使用して、必要なパラメーターで UIAutomation を起動します。パラメーターの 1 つは、構成ファイルから読み取られたテスト スクリプトへのパスになります。
コマンドライン起動スクリプトのパラメータとして「構成ファイル」へのパスを指定することもできます。これにより、必要な構成ファイルを使用して起動スクリプトを呼び出すだけで、任意のテスト セットを実行できます。
iOS シミュレーターのすべてのバージョンとデバイスの内容と設定をリセットするスクリプトを作成しました。メニューからデバイス名とバージョン番号を取得するため、Apple がシミュレーターをリリースする新しいデバイスまたは iOS バージョンが含まれます。
手動で実行したり、ビルド スクリプトで使用したりするのは簡単です。ビルドの前にアクション前の実行スクリプトとして追加することをお勧めします。