UIAutomation脚本ios - deactivateAppForDuration抛出nil

时间:2015-10-23 12:25:07

标签: ios ios-ui-automation

当我在ios 9 ipad视网膜模拟器中运行我的自动脚本(UIautomation ios)时,我在此行收到错误 - deactivateAppForDuration(5); 代码是:

 var target = UIATarget.localTarget();
 ......
 ......
 target.deactivateAppForDuration(5);

错误是:

  

[UIElementNil prepareForAction] ...

进程:我的应用程序在safari中打开一个链接,我的应用程序转到后台,现在5秒后我想将我的应用程序带回前台。

1 个答案:

答案 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}});  
    }