Detox/Appium tap, multiTap и longPress не работают с элементом

Использование детоксикации в проекте React Native. Вот компонент:

<TouchableWithoutFeedback
  testID={'rss_list_' + this.props.index}
  onPress={this.selectItem}
>
  <View testID={'rss_list_text_' + this.props.index}>
    <Text style={styles.itemText}>
      {this.props.item.title ? this.props.item.title.trim() : "no title"}
    </Text>
  </View>
</TouchableWithoutFeedback>

Собственно тест:

  it('should have an Rss List', async () => {
    await expect(element(by.id('RssList'))).toExist();
  });

  it('should have a Header', async () => {
    await expect(element(by.id('main_header'))).toExist();
  });

  it('should have a populated rss list', async () => {
    await expect(element(by.id('rss_list_populated'))).toExist();
  });

  it('should have an rss item', async () => {
    await expect(element(by.id('rss_list_2'))).toBeVisible();
  });

  it('should tap on the rss item', async () => {
    await element(by.id('rss_list_2')).tap();
  });

  it('should see the item view', async () => {
    await waitFor(element(by.id('item_view'))).toBeVisible().withTimeout(10000);
  });

Проблема:

должен иметь элемент rss, и элемент найден. Однако попытка коснуться элемента TouchableWithoutFeedback, View или Text завершается успешно, но функция под ним не срабатывает. Тест проходит успешно Детокс говорит, что Tap произошел, однако item_view, полученный в результате Tap, никогда не появляется в поле зрения. Я перепробовал все методы, указанные в заголовке: тап, мультитап и долгое нажатие. Я также пытался нажать вручную во время теста, и это также не работает. Только некоторые типы элементов можно использовать в детоксикации?

Обновление: я попробовал сегодня в Appium, и он также не смог щелкнуть элемент. Похоже, проблема связана с TouchableWithoutFeedback.


person liminal18    schedule 09.02.2018    source источник


Ответы (1)


TouchableWithoutFeedback не поддерживает опору testID, равно как и View непосредственно под ней.

person Kevin Lalka    schedule 24.10.2018