1
在UITest中,點擊登錄按鈕後,我需要等待兩個事件,登錄成功後纔會顯示更新或主屏幕,並決定如何操作。 文檔說,即XCTest waitForExpectations(...)等待多個結果
只有一個-waitForExpectationsWithTimeout:處理程序:可以在任何給定的時間活性,但{期望 - >等待} *多個分立序列可以被鏈接在一起。
所以需要努力一下,但最後想通了。
在UITest中,點擊登錄按鈕後,我需要等待兩個事件,登錄成功後纔會顯示更新或主屏幕,並決定如何操作。 文檔說,即XCTest waitForExpectations(...)等待多個結果
只有一個-waitForExpectationsWithTimeout:處理程序:可以在任何給定的時間活性,但{期望 - >等待} *多個分立序列可以被鏈接在一起。
所以需要努力一下,但最後想通了。
您可以將參數添加到謂詞並在條件之間使用「或」。
let skipUpdateButtonPredicate = NSPredicate(format: "%@.exists == 1 OR %@.exists == 1", skipUpdateButton, homeTabBar)
self.expectation(for: skipUpdateButtonPredicate, evaluatedWith: [Any](), handler: nil)
testCase.waitForExpectations(timeout: Constants.loginTimeout,
handler: nil)
然後你就可以在這裏分支,如果家裏或更新提出:
if skipUpdateButton.exists {
skipUpdateButton.tap()
}