UITest:检查是否存在带前缀的文本

时间:2016-05-25 15:56:11

标签: ios xcode swift xcode-ui-testing

在进行UI测试时,我可以测试文本是否存在:

XCTAssertTrue(tablesQuery.staticTexts["Born: May 7, 1944"].exists)

但是,如果我只知道前缀,我如何测试文本是否存在?

我想做点什么:

XCTAssertTrue(tablesQuery.staticTextWithPrefix["Born: "].exists)

甚至更好:

XCTAssertTrue(tablesQuery.staticTextWithRegex["Born: .+"].exists)

1 个答案:

答案 0 :(得分:8)

您可以使用谓词按前缀查找元素。例如:

let app = XCUIApplication()
let predicate = NSPredicate(format: "label BEGINSWITH 'Born: '")
let element = app.staticTexts.elementMatchingPredicate(predicate)
XCTAssert(element.exists)

请注意,如果多个元素与谓词匹配,则可能会失败。更多信息可以在博客文章中找到,Cheat Sheet for UI Testing