0

有没有办法停止自动化测试?实际上我正在使用自动化 javascript 测试我的应用程序。我的脚本中有两个测试。如果第一次测试失败我不想继续我的脚本..我的代码:

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

我强烈推荐使用tuneup_js来运行 UIAutomation。Instruments如果一个测试使用GUI失败,我认为你不能停止测试运​​行,但是当使用tuneup_js库并从命令行运行测试时它会停止

于 2013-02-21T13:03:22.523 回答