2015-05-27 21 views
0

这是3D视图中UIHieracrchy如下无法自动 “点击确认按钮” 与UIAutomation

APP -> UIWindow -> UILayoutContainerView -> UINavigationTransitionView -> UIViewControllerWrapperView->UIView->UIButton 

(详细UIButton

UIButton -> UIImageView -> MyButton ->UIButtonLabel 

,所以我尝试以下

  1. UIATarget.onAlert = function onAlert(alert) 
    { 
        var title = alert.name(); 
        if(title == "Failed" || title == "Warning") 
        { 
         target.delay(5); 
         alert.buttons()["OK"].tap(); 
         return true; 
        } 
        UIALogger.logPass("Sign In Failed"); 
        return false; 
    } 
    
    1. target.frontMostApp().mainWindow().buttons()["OK"].tap();

    2. target.frontMostApp().mainWindow().buttons()[0].tap();

    请帮我解决这个自动化按钮这个问题。

+0

您可以发布更多您正在使用的代码,特别是可以让您从'UIALogger.logStart'到达警报处理程序的代码吗? – Ian

回答

0

看起来你已经注释掉,你实际上是解除警报线:

//alert.buttons()["OK"].tap(); 

这意味着该按钮不能用UIAutomation到达 - 警报仍然阻止它。

在某些情况下,还有一个错误提示弹出窗口会改变target的值,您必须重新初始化它。

+0

对不起,虽然我试着没有评论,而问了这个问题,我评论说,所以我编辑的问题,请看看,谢谢:) –

+0

我的猜测是,你混淆了'onAlert'函数(只处理操作系统级别的弹出窗口,例如要求许可使用该位置的操作系统级别的弹出窗口)与您自己的弹出窗口(参见'target.frontMostApp()。)mainWindow()。buttons()[“OK”]。tap();') 。根据您在问题中发布的有限代码很难确切知道。 – Ian