【问题标题】:testID & accessibilityLabel for Android and IOS适用于 Android 和 IOS 的 testID 和 accessibilityLabel
【发布时间】:2021-12-29 10:43:39
【问题描述】:

我正在开始用 React Native 编写的新项目。想建议开发人员编写正确和自定义的定位器,这些定位器稍后将用作 Appium 元素。

当我深入研究主题时,我有点迷失了两个想法:testID 和accessibilityLabel。

在 Appium 官方网站上是这样写的: “这里的解决方案是确保不仅要在重要组件上使用 testID 属性,还要设置 accessibilityLabel 属性,以确保通过 Appium 的 'accessibility id' 定位器策略始终可以找到元素。 "

另一方面,我发现了一个短语:对于 React Native 中的 iOS,您可以使用 testID,对于 android,据我所知,accessibilityLabel 是唯一的方法。”

为 Android 和 IOS Appium 自动化命名定位器属性的最佳方式是什么?

【问题讨论】:

    标签: mobile automation appium


    【解决方案1】:

    您必须同时使用这两者才能使其在 android 和 iOS 上运行。

    最简单的命名约定是prefix_id。在这里,前缀可以是您的类名或从父容器传递的值。这样,您将能够为单个屏幕上的相同元素赋予唯一的名称。例如,假设您创建了一个输入框组件。该组件将在您的容器中多次使用,您需要唯一的 ID。在这种情况下,只需传递前缀,输入和标签都会被赋予唯一的 id。用于测试

    这里还有另一层复杂性。 AccesibilityLabel 也用于画外音,您可能希望在发布版本中添加另一个有意义的文本。因此,最好创建一个处理所有这些的注入器类。如果您需要特定于平台的处理,那么可以在这个注入器类中完成。

    对于测试版本,您还需要将可访问属性标记为 false。 https://github.com/facebook/react-native/issues/6560

    【讨论】:

      猜你喜欢
      • 2021-02-18
      • 2016-01-04
      • 2018-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多