【问题标题】:XCTest - Waiting for predicate failsXCTest - 等待谓词失败
【发布时间】:2016-10-12 23:25:48
【问题描述】:

我试图在 UI 测试期间等待一个字符串出现在导航栏中。当试图设置期望时,我得到一个“线程 1:断点 1.1”。我在这里做错了什么?

expectation(for: NSPredicate(format: "label CONTAINS 'Rent'"), 
    evaluatedWith: XCUIApplication().navigationBars.staticTexts, 
    handler: nil)
waitForExpectations(timeout: 10, handler: nil)

【问题讨论】:

  • 你设置了断点吗?如果你这样做,请将其删除。
  • 没有。没有设置断点。断点 1.1 通常表示一些内部异常。从那一点继续通常会提供更多信息,但在这种情况下不会。

标签: ios swift xcode xcode-ui-testing


【解决方案1】:

好的,我想通了。您需要一个元素而不是查询。所以代码应该是:

expectation(for: NSPredicate(format: "exists == 1"), 
  evaluatedWith: XCUIApplication().navigationBars.staticTexts.
  element(matching: NSPredicate(format: "label CONTAINS 'Rent'")), 
  handler: nil)
waitForExpectations(timeout: 10, handler: nil)

【讨论】:

  • 更新为改进的匹配,因为以前并不总是正确匹配
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多