在进行UI测试时,我可以测试文本是否存在:
XCTAssertTrue(tablesQuery.staticTexts["Born: May 7, 1944"].exists)
但是,如果我只知道前缀,我如何测试文本是否存在?
我想做点什么:
XCTAssertTrue(tablesQuery.staticTextWithPrefix["Born: "].exists)
甚至更好:
XCTAssertTrue(tablesQuery.staticTextWithRegex["Born: .+"].exists)
答案 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。