有了这个JSX: View Text testID='t1'text 1/Text Text testID='t2'text 2/Text/View 我可以通过他们的testID找到子元素(例如使用Appium) 如果我将View更改为TouchableOpacity,则子元素似乎会聚集到iOS上的单个UI
<View> <Text testID='t1'>text 1</Text> <Text testID='t2'>text 2</Text> </View>
我可以通过他们的testID找到子元素(例如使用Appium)
如果我将View更改为TouchableOpacity,则子元素似乎会聚集到iOS上的单个UIAElement中,然后无法找到.
看起来TouchableOpacity将其可访问属性硬编码为true并启用收集行为(请参阅https://code.facebook.com/posts/435862739941212/making-react-native-apps-accessible/)
这是预期的行为吗?它使测试变得非常困难.
可触摸的任何元素或组件默认为accessible = {true}.如果您不希望它们组合在一起,请尝试以下方法:<View accessible={false}> <Text testID='t1'>text 1</Text> <Text testID='t2'>text 2</Text> </View>
这应该允许孩子成为他们的一个元素,而不是一个元素(视图元素).