单击带谓词+ XCUITest的按钮

时间:2017-09-20 19:29:11

标签: ios testing xcode-ui-testing

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

这是属性

enter image description here

我使用以下代码执行此操作

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

但它说未找到元素。

任何建议都会有所帮助。

如果您为XCUITest推荐任何书籍,那就太棒了。

1 个答案:

答案 0 :(得分:0)

为标签指定辅助功能标识符,然后您不需要对文本进行谓词。

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

然后,您可以使用辅助功能标识符搜索label元素,并在需要检查计数时访问其label属性。

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