即使在应用程序退出后,如何使用UIAutomation仪器继续测试iOS应用程序?

时间:2012-05-04 18:28:37

标签: ios automated-tests functional-testing ios-ui-automation

我有一个应用程序。应用程序中有一个按钮,如果单击该按钮,将退出应用程序。我正在使用UIAutomation仪器测试应用程序。我想测试这个按钮。但是在应用程序退出后,仪器会停止发出异常。我想要做的是,在应用程序存在之后,我想重新打开应用程序并继续进行剩下的测试。有没有其他人在同一场景?如果是这样,如果您找到了解决方案,请与他人分享解决方案吗?

3 个答案:

答案 0 :(得分:3)

这是不可能的,因为一旦退出,Instruments会失去与应用程序进程的连接。

如果您是从命令行编写UI自动化脚本,则可以在第一个退出应用程序之后运行第二个自动化脚本,然后检查以确保所有内容都已重置。

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实例重新启动并重新连接到应用程序,而是运行两个单独的脚本,一个用于执行重置和中止,另一个用于检查应用程序的结果状态

答案 1 :(得分:0)

您可以使用:

UIATarget.localTarget().deactivateAppForDuration(n); 

其中n是您希望此应用重启的秒数。我希望这有帮助。

答案 2 :(得分:0)

感谢您的回答,但文档说:

“当用户通过点按”主页“按钮退出应用程序或导致其他应用程序到达前台时,您的应用程序将被暂停。”

所以它没有重新启动但暂停了吗?