В этом тесте используются 2 селектора:
a)
element(by.id('FirstName').withAncestor(by.id('SignUpScreen'));
b)
element(by.id('FirstName').withAncestor(by.id('SignUpScreen')).and(by.traits(['selected'])));
, а второй, который не срабатывает, генерируетследующий «запрос»:
(
(
!(kindOfClass('RCTScrollView')) &&
(
(
(
(respondsToSelector(accessibilityIdentifier) && accessibilityID('FirstName'))
&& (
(kindOfClass('UIView') || respondsToSelector(accessibilityContainer))
&& ancestorThatMatches((respondsToSelector(accessibilityIdentifier) && accessibilityID('SignUpScreen')))
)
) && ((respondsToSelector(isAccessibilityElement) && isAccessibilityElement) && accessibilityTraits: UIAccessibilityTraitSelected))
&& !(kindOfClass('UIAccessibilityTextFieldElement'))
)
) ||
(
(
(kindOfClass('UIView') || respondsToSelector(accessibilityContainer))
&& parentThatMatches(kindOfClass('RCTScrollView'))
)
&& (
(kindOfClass('UIView') || respondsToSelector(accessibilityContainer))
&& parentThatMatches(((
(
(respondsToSelector(accessibilityIdentifier) && accessibilityID('FirstName')) &&
(
(kindOfClass('UIView') || respondsToSelector(accessibilityContainer))
&& ancestorThatMatches((respondsToSelector(accessibilityIdentifier) && accessibilityID('SignUpScreen')))
)
) && ((respondsToSelector(isAccessibilityElement) && isAccessibilityElement) && accessibilityTraits: UIAccessibilityTraitSelected)
) && !(kindOfClass('UIAccessibilityTextFieldElement'))))
)
)
)
И иерархия:
|--<RCTScrollView:0x7f92ab6ee4d0; AX=N; AX.id='SignUpScreen';>
| | |--<RCTView>
| | | |--<RCTSinglelineTextInputView>
| | | | |--<RCTUITextField AX.id='LastName'; AX.traits='UIAccessibilityTraitSelected'>
| | | | | |--<_UITextFieldCanvasView>
| | | | | |--<UIAccessibilityTextFieldElement AX.id='LastName'; AX.traits='UIAccessibilityTraitSelected'>
| | |--<RCTTextView AX.id='Typography'; AX.label='Last name'; AX.traits='UIAccessibilityTraitStaticText'>
| |--<RCTView AX.label='First name';>
| | |--<RCTView>
| | | |--<RCTSinglelineTextInputView>
| | | | |--<RCTUITextField AX.id='FirstName'; AX.traits='UIAccessibilityTraitSelected'>
| | | | | |--<UIFieldEditor>
| | | | | | |--<_UITextFieldCanvasView>
| | | | | | | |--<UITextSelectionView>
| | | | | | | | |--<UIView>
| | | | | |--<UIAccessibilityTextFieldElement AX.id='FirstName'; AX.traits='UIAccessibilityTraitSelected'>
Теперь мне странно, что вся проблема связана с частью .and(by.traits(['selected'])))
, которая использовалась дляработать до 0.61.3.
И, насколько я понимаю, и запрос, и иерархия имеют UIAccessibilityTraitSelected
... так ... почему именно он терпит неудачу? Чего мне не хватает?
Некоторые другие тесты, которые я сделал:
Неудачи
element(by.id('FirstName').and(by.traits(['selected'])))
Неудачи
element(by.traits(['selected']).withAncestor(by.id('SignUpScreen')))
Работы
element(by.id('FirstName'))
Работы
element(by.id('FirstName').withAncestor(by.id('SignUpScreen')))