看看 XCTWaiter().wait(...) 我相信我们可以使用这段代码等待多个期望成为现实
let notHittablePredicate = NSPredicate(format: "hittable == false")
let myExpectation = XCTNSPredicateExpectation(predicate: notHittablePredicate, object: element)
let result = XCTWaiter().wait(for: [myExpectation], timeout: timeout)
//for takes array of expectations
Run Code Online (Sandbox Code Playgroud)
但这在提供的期望中使用 AND 之类的。有没有办法在提供的期望中做 OR。
就像我在登录时有一个用例一样,在点击提交后,我想等待两个元素之一。第一个元素是“您已经在另一台设备上登录。如果继续,您另一台设备上的任何未保存数据将丢失?”。第二个元素是登录后的主屏幕。所以任何人都可以出现。目前我首先等待第一个元素,直到超时发生,然后等待第二个元素。但是我想在这里优化时间并在两个元素中的任何一个存在时继续前进==真。然后我将检查 element1 是否存在,然后点击 YES,然后等待主屏幕,否则只需断言 element2 的存在。
如果问题中有不清楚的地方,请发表评论。谢谢
android 的测试文档和许多其他教程一直说我应该@RunWith(AndroidJUnit4.class)在我的所有仪器测试中包含这一行。但是,我没有在我的任何指令中添加这个注释。测试,仍然所有这些都运行良好。所以,
发生了什么以及为什么要添加 @RunWith(AndroidJUnit4.class)上面的指令。考试班?