有没有办法在 UITest 中使用 .selectedSegmentIndex 而不是 .buttons["name"]?

Is there a way to use .selectedSegmentIndex instead of .buttons["name"] in UITest?

在我的 UITests 中进行元素查询时,截取不同的分段控件值的屏幕截图,因为我使用 .buttons["name"],翻译开始时会抛出错误,并且名称是英文的没有按预期翻译。 它是从故事板翻译而来的。所以我想找到一个更简单的解决方案。

我可以用 .selectedSegmentIndex 代替 UITest 中有翻译错误的按钮名称吗?或者有其他方法可以解决这个问题吗?

XCUIApplication().scrollViews
  .children(matching: .other)
  .element
  .children(matching: .other)
  .element(boundBy: 0)
  .children(matching: .other)
  .otherElements
  .segmentedControls["MySegmentedControl"]
  .buttons["name"] // How to add this value to be .selectedSegmentIndex = 1?
  .tap()

您可以使用 element(boundBy:)

访问指定索引处的元素

针对您的情况;

app.scrollViews
.segmentedControls
.buttons
.element(boundBy: 1)
.tap()