Ошибка утверждения: ошибка тестирования пользовательского интерфейса — ни элемент, ни потомок не имеют фокуса клавиатуры

я новичок в 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"], но это не сработало.

Любые идеи? Ваше здоровье

"Подключить аппаратную клавиатуру" выключен.


person emoleumassi    schedule 14.01.2016    source источник
comment
Перепроверьте, все ли ваши текстовые поля на месте и проверьте флаги User Interaction Enabled и Accessibility в Интерфейсном Разработчике. Где текстовое поле имеет вашу строку "XXXXXX"? В собственности Accessibility Identifier или где-то в другом месте?   -  person Cemen    schedule 16.01.2016
comment
Отвечает ли это на ваш вопрос? Клавиатура ошибки тестирования пользовательского интерфейса Xcode   -  person Sameer Technomark    schedule 11.12.2020


Ответы (1)


Проверьте наличие текстового поля «b», возможно, b получает значение 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()
}

Поставьте точку останова и проверьте, существует она или нет.

person Vinay Hosamane    schedule 13.07.2016