我有一个应用程序。应用程序中有一个按钮,如果单击该按钮,将退出应用程序。我正在使用UIAutomation仪器测试应用程序。我想测试这个按钮。但是在应用程序退出后,仪器会停止发出异常。我想要做的是,在应用程序存在之后,我想重新打开应用程序并继续进行剩下的测试。有没有其他人在同一场景?如果是这样,如果您找到了解决方案,请与他人分享解决方案吗?
答案 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)
感谢您的回答,但文档说:
“当用户通过点按”主页“按钮退出应用程序或导致其他应用程序到达前台时,您的应用程序将被暂停。”
所以它没有重新启动但暂停了吗?