0

自動化テストを停止する方法はありますか? 実際に、自動化 JavaScript を使用してアプリをテストしています。スクリプトには 2 つのテストがあります。最初のテストが失敗した場合、スクリプトを続行したくありません..私のコード:

var target = UIATarget.localTarget();
var testname = "Test1";
UIALogger.logStart(testname);
target.frontMostApp().mainWindow().buttons()[0].tap();
UIALogger.logPass(testname);
target.delay(2);

var testname = "Test2";
UIALogger.logStart(testname);
target.frontMostApp().mainWindow().buttons()[1].tap();
target.frontMostApp().mainWindow().buttons()[0].tap();
UIALogger.logPass(testname);

ここで、test1 が失敗した場合は、スクリプトを実行してプロセスを停止する必要があります。この問題に対する提案があれば教えてください。ありがとう...

4

2 に答える 2

2

テストを抽象化することを本当に検討する必要があります。次のようなものを使用できます。

function test(description, steps) {
    try{
        UIALogger.logStart(description);
        steps();
        UIALogger.logPass("Test Passed");
    } catch (exception) {
        UIALogger.logError(exception.message);
        UIATarget.localTarget().logElementTree();
        UIALogger.logFail("Test Failed");
        throw exception;
    }
}

関数としてテストをラップできます。ご覧のとおり、テストが開始され、テストの手順が完了します (可能な場合)。失敗した場合、テストは要素ツリーをログに記録し (非常に便利です)、同じエラーを再度スローして、テストの続行を停止し、発生したエラーに関する情報を提供します。

于 2014-06-27T15:25:02.403 に答える
0

UIAutomation の実行にはtuneup_jsを使用することを強くお勧めします。InstrumentsGUIを使用して1つのテストが失敗した場合にテストの実行を停止できるとは思いませんが、tuneup_jsライブラリを使用してコマンドラインからテストを実行すると停止します

于 2013-02-21T13:03:22.523 に答える