Ошибка тестирования пользовательского интерфейса — для SearchField не найдено совпадений

Мой тест пользовательского интерфейса, записанный в XCode, завершается ошибкой во второй строке:

XCUIElement *musicselectviewNavigationBar = app.navigationBars[@"MusicSelectView"];
[[musicselectviewNavigationBar.otherElements childrenMatchingType:XCUIElementTypeSearchField].element tap];
[[musicselectviewNavigationBar.searchFields containingType:XCUIElementTypeButton identifier:@"Clear text"].element typeText:@"Lean"];

При тестировании я получаю эту ошибку:

UI Testing failure - No matches found for "MusicSelectView" NavigationBar

Идеи?


person Foti Dim    schedule 10.01.2016    source источник


Ответы (2)


Получите прямой доступ к панели поиска вместо использования записанного пути.

[app.searchFields[@"Clear text"] tap];
[app.searchFields[@"Clear text"] typeText:@"Lean"];

Если присутствует только одно поле поиска, вы можете получить к нему доступ с помощью element.

[[app.searchFields element] tap];
[[app.searchFields element] typeText:@"Lean"];
person Joe Masilotti    schedule 10.01.2016
comment
Ваши вторые предложения работают. Спасибо за это. Я немного изменил свой вопрос. Это вторая строка, которая терпит неудачу. - person Foti Dim; 10.01.2016

  1. проверьте, что у вас есть в строке 1 в app.navigationBars
  2. установите для панели навигации accessibilityIdentifier значение @"MusicSelectView"
  3. получить доступ к панели навигации с помощью вызова метода matchingIdentifier:@"MusicSelectView"
person Oleg Shanyuk    schedule 12.01.2016