XCUITest, как определить расположение вкладок относительно друг друга - PullRequest
0 голосов
/ 07 ноября 2018

В моих приложениях есть 4 вкладки.

  • Таб
  • TABB
  • tabC
  • TABD

Я должен подтвердить, что они находятся в одинаковом положении слева направо tabA tabB tabC tabD

Например, сбой будет выглядеть так tabB tabC tabA tabD

Есть ли способ проверить это с помощью XCUITest. Я посмотрел в документации XCode, но он не имеет то, что я ищу.

1 Ответ

0 голосов
/ 07 ноября 2018

Используйте 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...