React-Native嵌套stack导航下Appium Inspector无法拆分元素如何配置
问题解决方案
这个问题需要在react-navigation侧调整配置,和Appium侧无关。
问题根因
react-navigation v5的嵌套Stack Navigator默认会给栈容器的根视图开启无障碍节点合并特性,整个栈容器会被标记为accessible={true}的单个无障碍节点,内部所有子元素的无障碍属性都会被上层容器属性覆盖,哪怕你给内部视图单独设置accessible={false}也不会生效。
页面放在根层级时没有嵌套栈的默认属性干扰,RN输出的无障碍节点树是正常拆分的,所以Appium可以正常识别子元素。
修复方案
- 在嵌套Stack Navigator的
screenOptions中显式添加如下配置:
screenOptions={{ cardOverlayEnabled: false, accessible: false, accessibilityElementsHidden: false }}
- 如果上述配置不生效,可在嵌套栈所属页面的根容器上添加
accessibilityViewIsModal={false}属性,关闭RN的模态节点合并逻辑。
内容的提问来源于stack exchange,提问作者a million starflakes
相关产品推荐
相关产品推荐

