Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 反应本机+;Appium测试嵌套的可访问性标签_Reactjs_React Native_Appium_E2e Testing - Fatal编程技术网

Reactjs 反应本机+;Appium测试嵌套的可访问性标签

Reactjs 反应本机+;Appium测试嵌套的可访问性标签,reactjs,react-native,appium,e2e-testing,Reactjs,React Native,Appium,E2e Testing,我在React Native中有几个自定义组件,我希望在使用Appium进行端到端测试时可以访问这些组件。我的某些组件具有嵌套视图,例如(删除了不必要的详细信息): MyView <View accessibilityLabel={this.props.accessibilityLabel}> <TextInput accessibilityLabel={'input'} /> <Text accessibilityLabel={'error

我在React Native中有几个自定义组件,我希望在使用Appium进行端到端测试时可以访问这些组件。我的某些组件具有嵌套视图,例如(删除了不必要的详细信息):

MyView

<View accessibilityLabel={this.props.accessibilityLabel}>
      <TextInput accessibilityLabel={'input'} />
      <Text accessibilityLabel={'error'}>{this.props.error}</Text>
</View>
但是,
passwordInput
无法正确加载。
accessibilityLabel
s是否要求唯一?筑巢是不可能的吗?我该如何解决这个问题呢


我知道我可以在
MyView
中添加另一个
prop
来保存
TextInput
accessibilityLabel
,但这似乎有些臃肿,不是我要找的答案。

你能不能先添加一个新的prop?例如,
(那些内部撇号应该是反撇号,但我不想这么做..说得好。尽管如此,我还是想知道辅助功能标签是否必须是唯一的&它们是否可以嵌套。我没有特别使用appium,但从您如何使用名称来判断
等待驱动程序。elementByAccessibilityId('email'))
,我认为它们必须是唯一的,因为没有其他方法可以知道要使用哪个“email”字段。是的,但看看我是如何嵌套这些调用的,以便下一个
elementByAccessibilityId('email'))
通常在
emailInput
上调用,而不是
驱动程序
。我找不到关于它在React Native中如何工作的文档,但这允许我获取嵌套标签吗?解决方案?
<MyView accessibilityLabel={'email'}/>
<MyView accessibilityLabel={'password'}/>
<MyView accessibilityLabel={'confirmPassword'}/>
const emailInput = await driver.elementByAccessibilityId('email')
     .elementByAccessibilityId('input');
const passwordInput = await driver.elementByAccessibilityId('password')
     .elementByAccessibilityId('input');