IOS UI测试 - 等待网络呼叫

时间:2018-02-21 10:31:59

标签: ios xctest ios-ui-automation xctestcase

我正在使用XCTest框架为IOS编写测试用例。我们如何在网络呼叫结束后等待网络呼叫并开始执行。 目前,我正在使用sleep()进行等待。但是,它不是最好的方式 那么,还有其他办法吗?

1 个答案:

答案 0 :(得分:1)

阅读文档here

func testDownloadWebData() {
    // Create an expectation for a background download task.
    let expectation = XCTestExpectation(description: "Download apple.com home page")

    // Create a URL for a web page to be downloaded.
    let url = URL(string: "https://apple.com")!

    // Create a background task to download the web page.
    let dataTask = URLSession.shared.dataTask(with: url) { (data, _, _) in

        // Make sure we downloaded some data.
        XCTAssertNotNil(data, "No data was downloaded.")

        // Fulfill the expectation to indicate that the background task has finished successfully.
        expectation.fulfill()

    }

    // Start the download task.
    dataTask.resume()

    // Wait until the expectation is fulfilled, with a timeout of 10 seconds.
    wait(for: [expectation], timeout: 10.0)
}