Как получить метку для вида прокрутки в Xcode 7.2 XCTestCase?

В XCode 7.2, если я могу получить XCUIApplication ().scrollViews [«Foo»].другие элементы.otherElements [«название страницы»], как сказать: «Дайте мне название страницы для этого scrollView с именем»Foo»?»

Я пытался попросить accessibilityLabel и staticTexts.

Я попытался добавить XCUIApplication ().scrollViews [«Foo»], XCUIApplication().scrollViews [«Foo»].otherElements, etc to my watch list but I don’t see any useful information.

Когда я делаю poнаXCUIApplication().scrollViews["Foo"].otherElements, Я получаю:

<snip>
↪︎Find: Descendants matching type Other
Output: {
      Other 0x7f904b60e910: traits: 8589934592, {{0.0, 0.0}, {768.0, 1024.0}}, label: 'PDF article'
      Other 0x7f9049efb6e0: traits: 8589934592, {{0.0, 0.0}, {768.0, 1024.0}}
    }

(Заголовок страницы в этом случае — ‘PDF article’)

Поэтому я чувствую, что я должен быть в состоянии получить доступ к нему, по крайней мере, со статическими текстами.

1 ответ

  1. Похоже, что заголовок страницы является пользовательским представлением, которое не наследуется от UILabel (потомки UILabel помечены как StaticTexts).

    Вы должны установить идентификатор специальных возможностей (а не метку) в заголовке страницы в коде приложения.

    pageTitle.accessibilityIdentifier = "Page Title"
    

    Это должно заставить ваш код работать и будет лучшей практикой.

    Кроме того , если вы измените цепочку поиска, чтобы использовать значение метки вместо"Page Title", это тоже должно работать. Однако если вы откроете другую страницу с другим заголовком, Это не сработает.

    XCUIApplication().scrollViews["Foo"].otherElements["PDF article"]