React Native + Appium测试嵌套的可访问性标签

时间:2018-08-01 18:06:05

标签: reactjs react-native appium e2e-testing

我在React Native中有几个自定义组件,在使用Appium进行端到端测试时,我想访问它们。例如,我的某些组件具有嵌套视图(已删除不必要的细节):

MyView

<View accessibilityLabel={this.props.accessibilityLabel}>
      <TextInput accessibilityLabel={'input'} />
      <Text accessibilityLabel={'error'}>{this.props.error}</Text>
</View>

请注意包含视图如何由父视图设置其可访问性标签。

我有一个包含上面多个视图的视图,例如:

<MyView accessibilityLabel={'email'}/>
<MyView accessibilityLabel={'password'}/>
<MyView accessibilityLabel={'confirmPassword'}/>

在Appium中,我想分别访问每个元素的TextInput字段,如下所示:

const emailInput = await driver.elementByAccessibilityId('email')
     .elementByAccessibilityId('input');
const passwordInput = await driver.elementByAccessibilityId('password')
     .elementByAccessibilityId('input');

但是,passwordInput无法正确加载。 accessibilityLabel是否必须唯一?嵌套它们是不可能的吗?我该如何解决这个问题?

我知道我可以只包含另一个prop来将accessibilityLabel中的TextInput的{​​{1}}保留在MyView中,但这似乎是肿的,不是我的答案。我在寻找。

0 个答案:

没有答案