Detox / Appium tap,multiTap和longPress不工作元素

时间:2018-02-09 04:41:36

标签: react-native appium detox

将detox与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元素会成功,但下面的函数不会触发。测试没有失败Detox说Tap发生了,但Tap的结果从未进入视图。我已尝试过标题中的所有方法:tap,multiTap和longPress。我也试过在测试期间手动点击它也没有工作。排毒中是否只有一些类型可以点击?

更新:我今天在Appium尝试过它也无法点击该元素。看起来问题出在 TouchableWithoutFeedback

1 个答案:

答案 0 :(得分:0)

TouchableWithoutFeedback不支持testID道具,View也不在其正下方。