Xcode UITesting - Как нажать кнопку внутри пользовательского tableSectionFooterView? - PullRequest
1 голос
/ 17 января 2020

У меня есть таблица с несколькими разделами. Каждый раздел имеет собственный вид нижнего колонтитула с кнопкой внутри. Из UITests я не могу заставить автоматизированный процесс нажать кнопку.

Я попытался вручную написать действие tap (), а также попытался записать тест в Xcode, но безуспешно.

То, что я пытался:

isAccessibilityElement = true/false
accessibilityIdentifier = ...
accessibilityLabel = ...

для пользовательского представления нижнего колонтитула, а также для кнопки UIB.

Это то, что Xcode печатает при записи теста на момент нажатия кнопки:

app.otherElements["ACTIVITY_VIEW"].tables["ACTIVITY_TABLE_VIEW"].children(matching: .other)["FOOTER_VIEW"].children(matching: .other)["FOOTER_VIEW"].tap()

Также при печати результатов XCUIApplication (). debugDescription Я вижу только следующее для раздела:

Other, 0x600002251880, {{0.0, 272.0}, {414.0, 68.0}}, identifier: 'FOOTER_VIEW'
   Other, 0x60000224bc60, {{0.0, 0.0}, {0.0, 0.0}}

Я не могу видеть там кнопку, даже если я установил для нее accessibilityIdentifier.

1 Ответ

0 голосов
/ 20 января 2020

Исправлено!

Была проблема с фиктивными данными. TableView путал строки между различными разделами.

Установка accessibilityIdentifier для целевой кнопки достаточно.

...