4

我有一套用于 Xamarin Forms 项目的 UITest。所有的 AutomationId 都存在于 XAML 文件中,并且在 iOS 项目上工作正常。但是,在 Android 上运行测试时,AutomationId 不存在,这导致我的测试失败。

我已经使用 REPL 和树进行了双重检查,以检查每个视图的 ID

4

3 回答 3

1

在使用 Xamarin Forms 构建的 android 应用程序中,自动化 id 被转换为cont-desc。您可以使用 cont-desc 进行测试。

于 2018-11-13T05:26:01.357 回答
1

您是否正在初始化Android 本机项目中的AutomationId's ?OnCreateMainActivity

之后Xamarin.Forms.Forms.Init (this, bundle);

Xamarin.Forms.Forms.ViewInitialized += (object sender, Xamarin.Forms.ViewInitializedEventArgs e) => {
   if (!string.IsNullOrWhiteSpace (e.View.AutomationId)) {
      e.NativeView.ContentDescription = e.View.AutomationId;
   }
};
于 2016-05-18T19:38:42.440 回答
-1

在 REPL 中没有可见的automationId 本身,但只有标签或id 的值等于automationId 上设置的值,因此您应该只使用Marked 传入值。

于 2017-10-25T18:56:38.050 回答