7

我有一个应用程序。应用程序中有一个按钮,如果单击该按钮,将退出应用程序。我正在使用 UIAutomation 工具测试应用程序。我想测试这个按钮。但是在应用程序退出后,仪器停止给出异常。我想做的是在应用程序存在后,我想重新打开应用程序并继续进行其余的测试。有没有其他人遇到过同样的情况?如果是这样,您能否分享解决方案,如果您找到任何解决方案?

4

3 回答 3

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

于 2012-05-14T13:53:48.030 回答
0

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

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

所以它不是重新启动而是暂停?

于 2013-11-06T10:00:13.053 回答
0

您可以使用:

UIATarget.localTarget().deactivateAppForDuration(n); 

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

于 2013-07-12T14:32:30.960 回答