UITesting в iOS: метод tap() не работает должным образом

Я сталкиваюсь со странной проблемой с UITesting в Swift под iOS 10.3.2 и Xcode 8.3.3 .

Я выполняю простой тест внутри моего приложения, который должен коснуться и проверить каждую строку внутри TableView (это представление "Настройки" моего приложения, поэтому каждая отдельная строка загружается с диска и на этом этапе ничего не загружается из Интернета), но по странной причине, когда я нажимаю на строку, которую раньше не было видно, метод.tap() не работает.

Пример кода:

let app = XCUIApplication()  

let myTableView = app.tables.element(matching: .table, identifier:    "tableView01")  
myTableView.swipeUp(). //I swipe so that the cell becomes visible...  

let myCell = myTableView.cells.element(matching: .cell, identifier: "tappableCell")  

myCell.tap()  

Странно то, что у меня правильный вывод с консоли в Xcode.

 t =   328.24s     Tap "tappableCell" Cell
    t =   328.24s         Wait for app to idle
    t =   328.80s         Find the "tappableCell" Cell
    t =   328.80s             Snapshot accessibility hierarchy for com.thefloow.enterprise.ownbrand
    t =   328.92s             Find: Descendants matching type Table
    t =   328.92s             Find: Element at index 0
    t =   328.92s             Find: Descendants matching type Cell
    t =   328.92s             Find: Elements matching predicate '"tappableCell" IN identifiers'
    t =   329.04s             Wait for app to idle
    t =   329.22s         Synthesize event
    t =   329.37s         Wait for app to idle

Еще одна странная вещь: если я ставлю точку останова перед методом tap, а затем запускаю ее из командной строки, она отлично работает, давая мне тот же вывод из консоли.

Что может быть причиной этого странного поведения?


Спасибо за помощь! Andrea

1 ответ

Решение

Я обнаружил, что проблема в рамках. После прокрутки пользовательский интерфейс не отвечает должным образом, поэтому мне пришлось дважды нажать на ячейку, чтобы оставить UIResponder, а затем тест работает должным образом. Я также сообщил о проблеме , чтобы узнать, является ли это обычным поведением или нет.

Однако спасибо всем! Удачного кодирования!

Другие вопросы по тегам