2012-05-29 16 views
6

私は、アプリケーションをテストするためにtuneup.jsを使って計測器に自動テストケースを設定しました。私はtuneup.jsを使用してテストを個々のテストケースに分け、個々のスクリプトからセット全体を実行できるようにしましたが、すべてのテストが正常に実行されればうまく動作しますが、失敗した場合はすべて失敗します。シミュレータは未知の状態に置かれています(私は自分のテストを書いて、すべて同じログイン画面で開始して終了します)。シミュレータをリセットする方法はありますか、テストケース間でアプリを再起動する方法はありますか?テスト間でiOSシミュレータをリセットする

+0

これには解決策が見つかりましたか? –

+1

残念なことに、まだ見ていませんが、解決策を見つけることが大いに期待できません.Appleに直接質問しました。回答があれば更新されます。 – ChrisH

+0

Appleからの回答を得ましたか? – RaffAl

答えて

0

コマンドラインからテストを開始してください。 UI Automationでは、1回の実行で1つのテストのみを実行できます。テストが完了した後(失敗したか合格したかは関係ありません)、アプリケーションはシステムによって起動されます(UIAutomation)。少なくとも実際のデバイスで動作します。

コマンドライン起動スクリプトは次のように動作します。 1.テストへのパスを含む構成ファイル(任意のファイルtxtまたはxml)を読み込みます。この時点で、あなたはあなたのテストへのパスと総テスト数の配列を持っています。 2.単純な 'for'ループ(1から 'testcount'まで)を使用して、必要なパラメータでUIAutomationを起動します。パラメータの1つは、設定ファイルから読み込まれたテストスクリプトへのパスです。

また、コマンドライン起動スクリプトのパラメータとして、「構成ファイル」へのパスを設定することもできます。これにより、起動スクリプトを必要な設定ファイルで呼び出すだけで、任意のテストセットを実行することができます。

0

iOSシミュレータのすべてのバージョンとデバイスの設定を&にリセットするスクリプトを作成しました。メニューからデバイス名とバージョン番号を取得するので、Appleがシミュレータをリリースする新しいデバイスやiOSバージョンが含まれます。

手動で実行したり、ビルドスクリプトで使用するのは簡単です。ビルド前にPre-Action Run Scriptとして追加することをお勧めします。失敗したテストを持つ

https://github.com/michaelpatzer/ResetAllSimulators

0

未知の状態でアプリがそのままであるアップルの楽器ツールを使用しての主な問題の一つであるままにしておきます。私たちはIlluminator (on GitHub, and inspired by tuneup.js)と呼ばれるフレームワークでこれを2つの方法で解決しました。

最初に、私たちはautomation bridge - テストするアプリでRPC用のチャンネルを書いたので、テストごとにアプリをリセットすることができます。

これでは不十分な場合、イルミネータのテストランナーは、シミュレータの独自の起動(例:--retest 1x,solo)で失敗した各テストを再実行することができます。

関連する問題