2016-05-11 2 views
3

Я хочу написать тест автоматизации пользовательского интерфейса, который входит в систему с помощью Google. Веб-приложение встроено в приложение. В Earlgrey, как я могу выбрать текстовое поле или кнопку веб-представления. ThanksНайти элементы в UIWebView

+0

Если WebView встроен в приложение затем каждый элемент, который нужно выбрать, у него есть обтекатель доступности. Вы должны иметь возможность взаимодействовать с элементами, используя это, и запускать регулярные выражения EarlGrey. Есть ли конкретная иерархия или случай, с которым вы хотели бы справиться? –

+0

Никакой конкретной иерархии вообще. Например, я просто хочу нажать кнопку «Разрешить». Пытался использовать matcher 'grey_buttonTitle (@" Allow ")', но он не может найти кнопку. Я сомневаюсь, что EarlGrey может выбрать элемент внутри UIWebview – sahara108

+0

. Обратите внимание, что 'grey_buttonTitle' выбирает только классы UIButton, 'grey_text (@" Allow ")' является лучшей альтернативой здесь. – Gautam

ответ

1

EarlGrey предоставляет отличный журнал иерархии пользовательского интерфейса, когда тест выходит из строя. Мое предложение состоит в том, чтобы написать тест, который переходит в режим входа в систему, а затем заставить EarlGrey потерпеть неудачу. Затем в журнале найдите нужные элементы. Вы должны увидеть что-то вроде:

--<WebAccessibilityObjectWrapper:0x7fbca2422fb0; AX=Y; AX.value='Email'; AX.frame={{72, 145}, {270, 38}}; AX.activationPoint={207, 164}; AX.traits='UIAccessibilityTraitNone'; AX.focused='Y'> 
--<WebAccessibilityObjectWrapper:0x7fbca4e82360; AX=Y; AX.value='Password'; AX.frame={{72, 201}, {270, 38}}; AX.activationPoint={207, 220}; AX.traits='UIAccessibilityTraitNone'; AX.focused='N'> 

Из этого журнала вы можете увидеть, что эти два элемента доступны через:

EarlGrey().selectElementWithMatcher(grey_accessibilityValue("Email")) 
EarlGrey().selectElementWithMatcher(grey_accessibilityValue("Password")) 
+1

Или вы даже можете поставить точку перерыва и перенести это в gdb: 'po [GREYElementHierarchy hierarchyStringForElement: [UIApplication sharedApplication] .keyWindow]' – Gautam

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