如何在Xcode的UITests下以通用方式访问后退按钮项?

Bar*_*zyk 31 ios swift xcode-ui-testing

问题是当我尝试访问后退栏按钮项时,因为它显示为:

  • Restaurants 标题,
  • Back 标题
  • 没有头衔

喜欢它在屏幕上:

在此输入图像描述 在此输入图像描述 在此输入图像描述

目前我这样访问它:

let backButton = XCUIApplication().buttons["Restaurants"]
Run Code Online (Sandbox Code Playgroud)

但它不适用于其他情况.这不是普遍的方式.我可以以某种方式设置accessibilityIdentifier或者其他吗?

Luk*_*uke 43

通常,后退按钮往往是导航栏中的第一个按钮元素

app.navigationBars.buttons.element(boundBy: 0).tap()
Run Code Online (Sandbox Code Playgroud)

  • 你也可以在创建它时向后退按钮添加一个accessibilityIdentifier(例如,`backButton.accessibilityIdentifier ="back"`)然后你只需要执行`app.buttons ["back"].tap()`. (6认同)

d4R*_*4Rk 11

根据Aaron Sofaer的评论,您也可以accessibilityIdentifier直接在Interface Builder中进行设置.

在此输入图像描述


dus*_*rwh 10

以下是在Swift 3中如何做到这一点:

app.navigationBars.buttons.element(boundBy: 0).tap()
Run Code Online (Sandbox Code Playgroud)