2015-12-15 6 views
2

Приложение, которое я разрабатываю для тестирования Xcode UI, имеет несколько обратных кнопок. Один из них можно скрыть, а другой - нет. Я попробовал обернуть в do/catch, но тест завершится неудачно, если какая-либо одна строка не удастся.Как проверить, является ли элемент tappable

app.navigationBars.buttons [ "Назад"] имеет несколько матчей, как:

app.navigationBars.childrenMatchingType(.Button).elementBoundByIndex(0) 

и

app.navigationBars.childrenMatchingType(.Button).elementBoundByIndex(1) 

Можно попробовать один, и если не делать другую? Или проверить, является ли элемент tappableable?

В зависимости от размера устройства (6+ и iPad против небольших устройств) элемент кнопки «Назад» изменяется.

ответ

2

Опираясь на ответ @ dasdom, вы можете сделать следующее в Swift:

let buttonQuery = app.navigationBars.element.childrenMatchingType(.Button) 
var button = buttonQuery.elementBoundByIndex(0) 
if (button.hittable == false) { 
    button = buttonQuery.elementBoundByIndex(1) 
} 
button.tap() 

Примечание тат button не обязательно, поэтому не ? не требуется. Кроме того, перечисление не переводится напрямую, поэтому следует использовать .Button.

+3

Я удалю свой ответ, так как ваша версия верна. :) – dasdom

+0

Не понимал, что это было легко и организовано. Благодаря! –

+0

Можно ли добавить тег с элементами? Мне нужно перемещаться по экрану в стиле bfs/dfs. Итак, как мы можем отслеживать, какой элемент уже используется? –

Смежные вопросы