XCUI测试失败,因为MBProgressHud

问题描述 投票:4回答:2

我运行一个视图控制器上的XCUI测试。每次视图是初始化,API调用是由和MBProgressHud被示出。我的测试需求来搜索按钮,然后点击就可以了,但是我不能,因为重叠MBProgressHud挖掘显示,也API不接受它需要显示按钮的响应。这导致试验失败。

我的问题是什么,我做错了。

  1. 我们可以包括这种类型的在我们的UI测试场景(如API调用)?
  2. 如何等待API调用完成,继续我们的UI测试?
ios xcuitest
2个回答
5
投票

是。我们可以包括我们的UI测试这些场景。这是我们需要等待UI元素出现的功能:

func waitForElementToAppear(_ element: XCUIElement) -> XCUIElement? {
    let predicate = NSPredicate(format: "exists == true")
    let expectation = XCTNSPredicateExpectation(predicate: predicate,
                                                object: element)

    let result = XCTWaiter().wait(for: [expectation], timeout: 10)
    if result == .completed {
        return element
    }

    return nil
}

此功能会等待完成API调用,并要求UI元素出现。


0
投票

您可以使用这个工作正常。

func waitForExistence(timeout: TimeInterval) -> Bool

https://developer.apple.com/documentation/xctest/xcuielement/2879412-waitforexistence

© www.soinside.com 2019 - 2024. All rights reserved.