【问题标题】:UI Testing Failure - Neither element nor any descendant has keyboard focus on TextViewUI 测试失败 - 元素和任何后代都没有键盘焦点在 TextView
【发布时间】:2015-12-12 19:20:21
【问题描述】:

我遇到了“Textview”类型字段的问题。我无法在FeedbackTextView 字段中输入文本。

let FeedbackTextView = app.staticTexts["Feedback Textview"]

FeedbackTextView.tap()

FeedbackTextView.typeText("This is test feedback")

执行上述代码时显示以下错误。

UI 测试失败 - 元素和任何后代都没有键盘 重点。元素:

【问题讨论】:

  • 为了使您的代码更易于阅读,您应该以小写字母 (feedbackTextView) 开始实例变量
  • 这段代码能编译吗? FeedbackTextView 是可选的,但我没有看到你打开可选的包装。
  • 代码编译成功。但是,feedbackTextView 上的 tap() 命令执行成功。执行“typeText”函数时,它不会在字段中写入任何内容并引发以下错误。 UI 测试失败 - 元素和任何后代都没有键盘焦点。元素:
  • 这能回答你的问题吗? Xcode UI Testing Error keyboard

标签: swift xctest xcode7-beta6


【解决方案1】:

我在使用 Xcode 7.0.1 时遇到了同样的问题,并且能够通过在模拟器设置中关闭连接的硬件键盘来解决它。硬件 -> 键盘 -> 连接硬件键盘(取消选中此项)。在给定视图中对多个 TextField 调用 tap() 时,硬件键盘会导致问题。此错误已报告,希望在以后的版本中解决。

【讨论】:

  • 要记住的另一件事是staticTexts、textFields 和secureTextFields 之间的区别。在尝试通过调用 XCUIApplication 上的 textFields 而不是 secureTextFields 来访问安全文本字段时,我再次遇到了这个问题。 Xcode 抛出了类似的错误。
【解决方案2】:

另一个问题可能与模拟器有关。 iOS 9.0 和 9.1 工作,但似乎在 9.2 和 9.3 上被破坏了。有雷达开http://www.openradar.me/23899170

【讨论】:

    【解决方案3】:

    我今天早上遇到了同样的问题,并在每个 UITextField 修复它之后添加 app.typeText("\n")

    【讨论】:

      猜你喜欢
      • 2015-11-18
      • 2016-04-20
      • 2017-12-17
      • 2017-01-19
      • 2019-01-15
      • 1970-01-01
      • 1970-01-01
      • 2020-03-22
      • 2020-09-13
      相关资源
      最近更新 更多