我正在使用UIAutomation。当应用程序在后台运行时,我需要更改位置。我试过下面的代码行:
var target = UIATarget.localTarget();
UIATarget.localTarget().deactivateAppForDuration(30);
target.setLocation({longitude:77.50, latitude:12.50});
但target.setLocation
直到应用程序出现在前台才被调用。
有人可以告诉我该应用在后台时如何更改位置。
不幸的是,UIAutomation只能自动执行它所附加的应用程序。当应用程序不是“活动的”时,它没有什么可与之对话的。在将控制权交给系统时使用lockForDuration
,,会deactivateAppForDuration
阻塞,从而使您的应用程序处于非活动状态。当应用程序处于该状态时,UIAutomation无法再发送任何消息。我建议提交雷达,要求在应用程序处于非活动状态时能够设置位置。
过去,当我遇到类似的问题时,我不得不使用AppleScript来更改模拟器的位置,以获得所需的效果。
此后,您已经更新了注释,表明您正在测试导航应用程序。好!有点不同。如果您实际上并不需要UIAutomation,而只是尝试将其用作设置位置的一种方式:
Xcode允许您使用GPX文件模拟路由,并且可以与Instruments一起使用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句