Детокс: использование нескольких элементов соответствия приводит к ошибке

Я использую 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(),

Другие вопросы по тегам