Используйте element(boundBy: Int)
в сочетании со строками на вкладках - https://developer.apple.com/documentation/xctest/xcuielementquery/1500842-element
Я предполагаю, что ваши вкладки содержат некоторый текст (допустим, текст на них tabA, tabB, tabC, tabD ), поэтому лучшим решением будет проверка текста на вкладке и индекс вкладки .
Проверяя текст, вы знаете, что элемент является правой вкладкой (tabA, tabB ...), а проверяя индекс элемента, вы знаете, что он находится в правильном положении.
После этого все просто - найдите свой путь к кнопкам панели вкладок (обычно это: например, XCUIApplication.tabBars.buttons["tabA"]
). Затем проверьте их строку и положение следующим образом:
let app = XCUIApplication()
let tabA = XCUIApplication.tabBars.buttons["tabA"].element(boundBy: 0)//tabA is on the first position
let tabB = XCUIApplication.tabBars.buttons["tabB"].element(boundBy: 1)//tabB is on the second position etc...
let tabC = XCUIApplication.tabBars.buttons["tabC"].element(boundBy: 2)
let tabD = XCUIApplication.tabBars.buttons["tabD"].element(boundBy: 3)
XCTAssertTrue(tabA.exists)
XCTAssertTrue(tabB.exists)
XCTAssertTrue(tabC.exists)
XCTAssertTrue(tabD.exists)
Редактировать: вместо строк я бы предложил использовать accessibilityIdentifier
- https://developer.apple.com/documentation/uikit/uiaccessibilityidentification#//apple_ref/occ/intfp/UIAccessibilityIdentification/accessibilityIdentifier