当我在ios 9 ipad视网膜模拟器中运行我的自动脚本(UIautomation ios)时,我在此行收到错误 - deactivateAppForDuration(5); 代码是:
var target = UIATarget.localTarget();
......
......
target.deactivateAppForDuration(5);
错误是:
[UIElementNil prepareForAction] ...
进程:我的应用程序在safari中打开一个链接,我的应用程序转到后台,现在5秒后我想将我的应用程序带回前台。
答案 0 :(得分:1)
问题是iOS9上的不同UI布局(相对于iOS7,iOS8),在您尝试切换回应用时显示:https://forums.developer.apple.com/thread/19047
正如您所看到的,Apple知道问题但不会解决问题。在尝试使用函数deactivateAppForDuration()将应用程序发送到BG一段时间时,它无法返回到FG并始终抛出以下异常:
-[UIAElementNil _prepareForAction:]: unrecognized selector sent to instance
作为解决方法,我可以建议以下内容:
try {
UIATarget.localTarget().deactivateAppForDuration(time);
} catch (error) {
UIALogger.logMessage("Trying to perform workaround for iOS9");
// here you are tapping almost to the screen center and coming back to the app as result
UIATarget.localTarget().tap({origin:{x:35,y:140}, size:{width:99, height:70}});
}