使用本机反应的 UI 测试。如何修复时间戳事件匹配错误:找不到匹配元素
Posted
技术标签:
【中文标题】使用本机反应的 UI 测试。如何修复时间戳事件匹配错误:找不到匹配元素【英文标题】:UI Tests with react native. How to fix Timestamped Event Matching Error: Failed to find matching element 【发布时间】:2018-05-28 10:58:26 【问题描述】:我正在尝试将 UI 测试集成到一个相当大的 React Native 项目中。但只要我想记录 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>
我刚刚建立了一个新的 react native 项目,并试图让 ui 测试运行,这很好。所以这让我想到了元素检索被现有代码/构建设置以某种方式阻止的问题。
有什么可以禁用或阻止 ui 测试的想法吗?
【问题讨论】:
发现了什么?遇到同样的问题... 遗憾的是没有可靠的解决方案。我们切换到基于 python 的 appium 测试。它比原生 xcuitests 更好用 【参考方案1】:对于其他正在寻找答案的人 - 我发现 RN 中的 Touchable 元素在 UI 测试方面存在问题。
如果您在 Touchable 上设置了accessable=false,则 testID 在录制时适用于子 Text & View 元素。
<TouchableOpacity onPress=onPressFn accessible=false>
<View style=styles.buttonContainer testID="button">
<Text style=styles.buttonText>
children
</Text>
</View>
</TouchableOpacity>
【讨论】:
伟大的发现莱斯!这真的很有帮助! Ace,很高兴我能帮助别人解决这个问题 - 这让我疯狂了一天左右! 还是这样吗?以上是关于使用本机反应的 UI 测试。如何修复时间戳事件匹配错误:找不到匹配元素的主要内容,如果未能解决你的问题,请参考以下文章
如何使用钩子在反应 i18next 中修复“未指定回退 UI”
如何使用shoutem / ui和指数在本机反应中设置自定义导航标头
从本机事件发射器回调后,React 本机 UI 未呈现。甚至回调有状态改变
如何在本机反应中修复“TypeError:未定义不是对象(评估'_reactNativeCamera.default.constants')”错误?