有没有一种方法可以在UITest中使用.selectedSegmentIndex而不是.buttons [“ name”]?

时间:2020-07-21 07:54:10

标签: swift localization screenshot ui-testing nssegmentedcontrol

在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()

1 个答案:

答案 0 :(得分:1)

您可以使用element(boundBy:)

访问指定索引处的元素

适合您的情况;

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