如何暂停XCUITest进行手动模拟器操作?

时间:2018-11-11 20:31:09

标签: ios swift xcode xcuitest

我正在尝试使用XCUITest自动执行部分UI测试。我不会自动执行测试的一部分,然后等待我手动执行一些操作。有什么好方法吗?

现在我正在这样做:

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 个答案:

答案 0 :(得分:0)

有一个xctwaiter框架。

您可以使用期望值等待结果。它们非常灵活。

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

如何使用期望值,您可以在文档中看到。 An example