【问题标题】:KIF test failing - view is not enabled for interactionKIF 测试失败 - 视图未启用交互
【发布时间】:2014-02-10 08:52:54
【问题描述】:

尝试运行 KIF 测试。我想点击带有可访问性标签“登录”的按钮,但它超时并显示消息“视图未启用交互”。

[tester tapViewWithAccessibilityLabel:@"SIGN IN"];

按钮在那里,它的标签中有这个文本。如何“启用”这个 UI 元素?

【问题讨论】:

    标签: xcode kif


    【解决方案1】:

    FOR KIF:在视图上告知用户交互信息的另一种方法是打开 iOS 模拟器中的 Accessibility Inspector。这将让您单击视图并查看它们是否实际上可单击/或被其他视图无意中阻止。它还会显示视图是否具有可访问性标签、特征(按钮、标签、静态文本)和/或框架。对于检查您的用户交互很有用 - 即。如果是静态文本或按钮等。

    打开可访问性检查器:运行您的应用程序,打开模拟器--->单击主页按钮---->转到设置--->常规--->可访问性--->切换可访问性检查器打开--->再次运行您的应用程序或再次单击主页按钮,然后单击您的应用程序。

    【讨论】:

      【解决方案2】:

      您应该尝试在用户定义的运行时属性下的身份检查器下的 Xcode 界面构建器中设置accessibilityLabel(键路径设置为“accessibilityLabel”,类型设置为“String”,值设置为“SIGN IN”。

      还有其他方法可以设置accessibilityLabel,例如您可以说的代码:

      [_buttonName setValue:@"SIGN IN" forKey:@"accessibilityLabel"];
      

      我希望这篇文章有所帮助。

      【讨论】:

      • 奇怪的是,显式设置 accessibilityLabel 对我有用,尽管 KIF 将其视为已设置。
      【解决方案3】:

      如果视图的isUserInteractionActuallyEnabled 产生NO,您会收到此错误消息。例如查看KIFUITestActor.mtapAccessibilityElement:inView: 的定义。 isUserInteractionActuallyEnabled 方法在 UIView-KIFAdditions.m 中实现,主要检查视图的属性 isUserInteractionEnabled,并在您点击导航栏或操作表中的按钮时进行更精细的检查。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-08-18
        • 1970-01-01
        • 2017-09-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-07
        相关资源
        最近更新 更多