单击带有谓词的按钮 + XCUITest

Click button with predicate + XCUITest

我正在尝试单击一个按钮,该按钮只有标题,并且会根据添加到购物车中的产品数量而变化。

这是属性

我使用了下面的代码来做到这一点

let predicate = NSPredicate(format: "title BEGINSWITH[cd] 'Cart'")
    let button = XCUIApplication().buttons.element(matching: predicate)
    tap(on: button)

但是它说找不到元素。

任何建议都会有所帮助。

如果您能推荐任何有关 XCUITest 的书籍,那就太好了。

为标签分配一个可访问性标识符,然后您就不需要对文本进行断言了。

// app code
let label: UILabel!
label.accessibilityIdentifier = "cartCount"

然后您可以使用可访问性标识符搜索标签元素并访问其 label 属性 如果您需要检查计数。

// test code
let app = XCUIApplication()
let cartLabel = app.staticTexts["cartCoint"]
let cartCountText = cartLabel.label // => "Cart: 5"