Как приостановить XCUITest для ручной симуляции манипуляции?

Я пытаюсь автоматизировать части моего тестирования пользовательского интерфейса с помощью XCUITest. Я не хочу, чтобы тест выполнялся автоматически, а потом ждал, пока я что-то сделаю вручную. Есть ли хороший способ сделать это?

Прямо сейчас я просто делаю это:

class QDBUITestHost: XCTestCase {

  override func setUp() {
    continueAfterFailure = false
    XCUIApplication().launch()
  }

  override func tearDown() {}

  func testHosting() {
    let app = XCUIApplication()
    app.buttons["Select Group"].tap()
    app.sheets.buttons["com-mist-qdb-1"].tap()
    app.buttons["Host"].tap()
    sleep(600) // This is an ugly hack
  }

}

Итак, есть ли лучший способ сделать это, а не просто sleep(600)?

1 ответ

Существует структура xctwaiter.

Вы можете использовать ожидания, чтобы дождаться результатов. Они очень гибкие.

let result = XCTWaiter().wait(for:[expectation], timeout: 10)

Как использовать ожидание вы можете увидеть в документации. Пример.

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