微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – 由于MBProgressHud,XCUI测试失败

我在视图控制器上运行XCUI测试.每次初始化视图时,都会进行api调用显示MBProgressHud.我的测试要求搜索按钮然后点击它,但是我无法点击,因为显示了重叠的MBProgressHud,并且api也没有收到显示按钮所需的响应.这导致测试失败.

我的问题是我做错了.

>我们可以在ui测试中包含这种类型的场景(如api调用)吗?
>如何等待api通话完成继续我们的ui测试?

解决方法

是.我们可以在我们的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元素出现.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐