如何使用 Flutter 在 Android 上的 Appium 检查器中设置“文本”属性?

问题描述 投票:0回答:1

我需要每个可见的 UI 组件(Flutter 中的小部件)都是可区分的,并且在使用 Appium 的 Inspector 检查时具有

accessibility-id
text
属性。我还需要这两个属性不同。

我一直在使用 Flutter 的 Semantics 小部件来尝试实现此目的,但尚未找到设置

text
属性的方法。

假设我希望将accessibility-id 设置为“label”,将文本设置为“textContent”。

Semantics(
   label: 'label',
   child: Text('textContent'),
)

这就是上面的代码使用 Appium Inspector 检查时的结果:

如果我将 exceptSemantics 属性设置为 true:

Semantics(
   excludeSemantics: true,
   label: 'label',
   child: Text('textContent'),
)

accessibility-id 设置正确,但 Appium Inspector 中仍然没有可用文本:

我还尝试过 Semantics 的“value”属性,该属性在 iOS 上运行良好,但在 Android 上它只是将其附加到accessibility-id 的开头:

Semantics(
   excludeSemantics: true,
   label: 'label',
   value: 'value',
   child: Text('textContent'),
)

结果:

我不确定我想要实现的目标是否可能。如果有人知道使用语义或任何其他替代方案的解决方案,我们将不胜感激。

flutter dart appium ui-automation appium-android
1个回答
0
投票

我不确定这是否能解决您的 Appium 问题,但为什么不直接使用

semanticsLabel
属性呢?

Text(
  'An error occurred',
  semanticsLabel: 'error-occurred',
)
© www.soinside.com 2019 - 2024. All rights reserved.