UI测试与本机反应。如何修复带时间戳的事件匹配错误:找不到匹配的元素

时间:2018-05-28 10:58:26

标签: ios xcode react-native xcuitest

我正在尝试将UI测试集成到一个非常大的反应原生项目中。但是只要我想记录ui测试,我就会收到警告

Timestamped Event Matching Error: Failed to find matching element

这是我正在击中的ui元素。

<TouchableOpacity style={containerStyle}
                  onPress={this.props.onPress}
                  accessibilityLabel='back_button_touchable'
                  accessible={true}
                  testID='back_button_touchable'
                  underlayColor='#99d9f4'>
                <Image style={iconStyle} source={require('../white-arrow.png')}/>
                <Text style={styles.text}>{this.props.text}</Text>
</TouchableOpacity>

我刚刚设置了一个新的反应本机项目,并试图让ui测试运行,这很好。因此,这引出了一个问题,即元素检索以某种方式被现有的代码/构建设置阻止。

有什么想法可以禁用或阻止ui测试吗?

1 个答案:

答案 0 :(得分:4)

对于其他寻求答案的人-我发现RN中的Touchable元素在UI测试方面存在问题。

如果您在Touchable上设置了accessible = {false},则在记录时,testID会作用于子Text&View元素上。

<TouchableOpacity onPress={onPressFn} accessible={false}>
  <View style={styles.buttonContainer} testID="button">
    <Text style={styles.buttonText}>
      {children}
    </Text>
  </View>
</TouchableOpacity>