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