【问题标题】:Assertion Failure: UI Testing Failure - Neither element nor any descendant has keyboard focus断言失败:UI 测试失败 - 元素和任何后代都没有键盘焦点
【发布时间】:2016-04-20 00:22:58
【问题描述】:

我是新的 im xcode-ui 并且有一个问题。

Assertion Failure: UI Testing Failure - Neither element nor any descendant has keyboard focus. Element:
Attributes: Other 0x7f8c1cb703d0: traits: 8589934592, {{0.0, 167.0}, {375.0, 44.0}}, label: 'XXXXXXX'
Element subtree:
 →Other 0x7f8c1cb703d0: traits: 8589934592, {{0.0, 167.0}, {375.0, 44.0}}, label: 'XXXXXXX'
Path to element:
 →Application 0x7f8c1cb71870: {{0.0, 0.0}, {375.0, 667.0}}, label: 'A'
  ↳Window 0x7f8c1cb78850: Main Window, {{0.0, 0.0}, {375.0, 667.0}}
   ↳Other 0x7f8c1cb77470: {{0.0, 0.0}, {375.0, 667.0}}
    ↳Other 0x7f8c1cb68100: traits: 8589934592, {{0.0, 0.0}, {375.0, 667.0}}
     ↳Other 0x7f8c1cb62260: traits: 8589934592, {{0.0, 0.0}, {375.0, }}
      ↳Other 0x7f8c1cd44e20: traits: 8589934592, {{0.0, 0.0}, {375.0,}}
       ↳Other 0x7f8c1cd45580: traits: 8589934592, {{0.0, 0.0}, {375.0,}}
        ↳Other 0x7f8c1cb63040: traits: 8589934592, {{0.0, 0.0}, {375.0,}}
         ↳ScrollView 0x7f8c1cb60e80: traits: 8589934592, {{0.0, 0.0}, 
          ↳Other 0x7f8c1cb73fc0: traits: 8589934592, {{0.0, 64.0}, {375.0}}
           ↳Other 0x7f8c1cb73930: traits: 8589934592, {{0.0, 124.0}, 
            ↳Other 0x7f8c1cb703d0: traits: 8589934592,  label: 'XXXXXXXX'
Query chain:
 →Find: Target Application 0x7f8c19c46190
  Output: {
    Application 0x7f8c1cb71870: {{0.0, 0.0}, {375.0, 667.0}}, label: 'App'
  }
  ↪︎Find: Descendants matching type ScrollView
    Output: {
      ScrollView 0x7f8c1cb60e80: traits: 8589934592, {{0.0, 0.0}, {375.0,}}
    }
    ↪︎Find: Descendants matching type Other
      Output: {
        Other 0x7f8c1cb7bb90: traits: 8589934592, {{0.0, 124.0}, {375.0, 
        Other 0x7f8c1cc55950: traits: 8589934592, {{0.0, 168.0}, {375.0, 
        Other 0x7f8c1cc55270: traits: 8589934592, {{0.0, 124.0}, {375.0, 
        Other 0x7f8c1cb74650: traits: 8589934592, {{0.0, 124.0}, {375.0, 44.0}}, label: 'XXXXXXXX'
        Other 0x7f8c1cb703d0: traits: 8589934592, {{0.0, 167.0}, {375.0, 44.0}}, label: 'XXXXXXXX'

我录制了一个测试并播放它,但它确实有效。代码如下:

let elementsQuery = app.scrollViews.otherElements
let a = elementsQuery.otherElements["XXXXXXXXX"]
a.tap()
app.typeText("rerererdre")
let b = elementsQuery.otherElements["YYYYYYYYY"]
b.tap()

在 a 字段中输入文本后测试崩溃。 a 和 b 是滚动视图中的两个文本字段。我用 app.textFields["XXXXXXXXX"] 试过了,但没有用。

有什么想法吗? 干杯

“连接硬件键盘”已关闭。

【问题讨论】:

  • 重新检查您的文本字段是否到位,并在 Interface Builder 中检查 User Interaction Enabled trait 和 Accessibility 标志。文本字段在哪里有你的"XXXXXX" 字符串?在Accessibility Identifier 属性或其他地方?
  • 这能回答你的问题吗? Xcode UI Testing Error keyboard

标签: ios swift ui-testing xcode-ui-testing


【解决方案1】:

检查文本字段 'b' 是否存在,也许 b 正在获取 null 值,并且使用该 null 值调用 tap() 方法。

试试这样,

let app = XCUIApplication()
 let elementsQuery = app.scrollViews.otherElements
 if(elementsQuery.textFields["XXXXXXXX"].exists)
{
  let x = elementsQuery.textFields["XXXXXXXX"]
  x.tap()
}
if(elementsQuery.textFields["YYYYYYYY"].exists)
{
  let y = elementsQuery.textFields["YYYYYYYY"]
  y.tap()
}

下一个断点,检查是否存在。

【讨论】:

    猜你喜欢
    • 2015-12-12
    • 2015-11-18
    • 2017-12-17
    • 2017-01-19
    • 2017-10-31
    • 2020-09-13
    • 2018-08-29
    • 1970-01-01
    • 2019-01-15
    相关资源
    最近更新 更多