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

Far*_*sim 7 automated-tests functional-testing ios ios-ui-automation

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

Jon*_*enn 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
Run Code Online (Sandbox Code Playgroud)

因此,不必尝试获取相同的 Instruments 实例来重新启动并重新附加到应用程序,只需运行两个单独的脚本,一个执行重置和中止操作,另一个检查应用程序的结果状态。