7

私はアプリを持っています。アプリにはボタンがあり、クリックするとアプリを終了します。UIAutomation機器を使用してアプリをテストしています。このボタンをテストしたいと思います。ただし、アプリが終了すると、機器は例外の発生を停止します。私がやりたいのは、アプリが存在した後、アプリを再度開いて、残りのテストを続行したいということです。他の誰かが同じシナリオに参加したことがありますか?もしそうなら、あなたが何かを見つけた場合、あなたは解決策を共有できますか?

4

3 に答える 3

3

Instrumentsが終了すると、アプリプロセスとの接続が失われるため、これは不可能です。

コマンドラインからUIオートメーションのスクリプトを作成している場合は、最初のスクリプトがアプリを終了した後に2番目の自動化スクリプトを実行して、すべてがリセットされていることを確認できます。

instruments \
    -D [trace document] \
    -t [instruments template] \
    /path/to/Bundle.app \
    -e UIARESULTSPATH [directory to store test output] \
    -e UIASCRIPT reset_the_app.js

instruments \
    -D [trace document] \
    -t [instruments template] \
    /path/to/Bundle.app \
    -e UIARESULTSPATH [directory to store test output] \
    -e UIASCRIPT check_that_the_app_is_reset.js

したがって、Instrumentsの同じインスタンスを取得してアプリを再起動して再接続しようとするのではなく、2つの別々のスクリプトを実行するだけです。1つはリセットとアボートを実行し、もう1つはアプリの結果の状態をチェックします。

于 2012-05-14T13:53:48.030 に答える
0

使用できるもの:

UIATarget.localTarget().deactivateAppForDuration(n); 

ここで、nはこのアプリを再起動する秒数です。これがお役に立てば幸いです。

于 2013-07-12T14:32:30.960 に答える
0

回答に感謝しますが、ドキュメントには次のように書かれています。

「ユーザーがホームボタンをタップするか、他のアプリを前面に表示してアプリを終了すると、アプリは一時停止されます。」

では、再起動せずに一時停止しますか?

于 2013-11-06T10:00:13.053 に答える