是否可以在iOS中关闭UIAutomation中的应用程序

时间:2014-02-05 07:30:41

标签: ui-automation ios-ui-automation

我需要知道是否有任何方法可以关闭应用程序,如果它在UIAutomation中打开。我想分享一些代码,但我根本找不到任何相关内容。

提前致谢。

4 个答案:

答案 0 :(得分:1)

如果您使用Tune_up.js(cmdline)在每个测试功能结束时运行UIA测试,应用程序将重置其状态。

除此之外,您可以做的唯一事情是模拟关闭应用程序将停用应用程序,该应用程序将其发送到后台一段给定的时间,然后将其返回到前台。

此外,你可以模拟锁定设备,但我从来没有专门尝试过。

target.deactivateAppForDuration() https://developer.apple.com/library/ios/documentation/ToolsLanguages/Reference/UIATargetClassReference/UIATargetClass/UIATargetClass.html#//apple_ref/javascript/instm/UIATarget/deactivateAppForDuration

答案 1 :(得分:1)

iOS应用程序无法正常退出。 UI Automation仅执行可由用户执行的操作,并且由于用户无法退出应用程序,因此UI Automation无法退出该应用程序。

另请注意,退出应用程序会中断自动化脚本。

也许您可以将测试用例拆分为2个脚本并按顺序运行它们?

答案 2 :(得分:1)

我们也有这个问题。 您可以编写一个简单的Apple脚本来单击模拟器的Home按钮,该按钮将关闭Application。我相信你能找到苹果脚本来点击模拟器的主页按钮。

甚至更好,见下文:p ...让你的任务变得更轻松..
告诉应用程序“系统事件”     告诉流程“iPhone模拟器”
        告诉菜单栏1
            告诉菜单栏项“硬件”
                告诉菜单“硬件”
                    点击菜单项“Home”
                告诉你             告诉你         告诉你     告诉你 告诉你
希望这会有所帮助。

问题是如何在将应用程序置于后台后打开已关闭的应用程序?如果您找到答案,请告诉我

答案 3 :(得分:1)

如果你只是想关闭应用程序,就像把它放在后台,那么在测试结束时使用 deactivateAppForDuration()方法。

如果你真的想杀死应用程序和模拟器,它实际上非常简单。只需创建一个shell脚本,在其中通过命令行运行测试,然后在完成后通过 killall“iPhone模拟器”命令。