Детокс: использование нескольких элементов соответствия приводит к ошибке
Я использую Detox для тестирования E2E в приложении React Native, используя следующие спецификации:
React Native 0.55.4
Node 9.2.0
Detox 7.3.7
Когда я нахожусь на странице в моем приложении, я могу прокрутить, используя scrollView с Matcher element(by.id('scrollView'))
и я могу нажать на кнопку с Matcher element(by.text('This Button'))
но если я хочу выбрать элемент кнопки, используя цепочку с .and()
метод я получаю ошибку Cannot find UI element
,
Я не могу понять, почему я могу взаимодействовать с этими двумя элементами независимо, но когда я связываю их, они больше не работают.
Вот обработанный пример того, как выглядит код React Native:
Route.js
<ScrollView style={styles.container} testID={"scrollView"}>
<View style={styles.header} />
this.body()
</ScrollView>
this.body () выполняет некоторую проверку, но render()
ничего особенного
<View>
<CustomButtonComponent />
</View>
Пользовательский компонент кнопки представляет собой другой вид с некоторым текстом и элементом Button.
Мое единственное предположение, что, поскольку я использую вложенные представления / пользовательские компоненты, возможно, логика Matcher не может справиться с этим. Есть идеи? Возможно я не полностью понимаю Документацию.
1 ответ
Как отметил @Andrew в своем комментарии, мой вопрос недействителен, потому что я неправильно понял документацию. Если вы хотите соответствовать на основе отношения к другим элементам, используйте withDescendant()
или же withAncestor()
вместо того, чтобы пытаться связать and()
,