我有一套用于 Xamarin Forms 项目的 UITest。所有的 AutomationId 都存在于 XAML 文件中,并且在 iOS 项目上工作正常。但是,在 Android 上运行测试时,AutomationId 不存在,这导致我的测试失败。
我已经使用 REPL 和树进行了双重检查,以检查每个视图的 ID
我有一套用于 Xamarin Forms 项目的 UITest。所有的 AutomationId 都存在于 XAML 文件中,并且在 iOS 项目上工作正常。但是,在 Android 上运行测试时,AutomationId 不存在,这导致我的测试失败。
我已经使用 REPL 和树进行了双重检查,以检查每个视图的 ID
在使用 Xamarin Forms 构建的 android 应用程序中,自动化 id 被转换为cont-desc。您可以使用 cont-desc 进行测试。
您是否正在初始化Android 本机项目中的AutomationId
's ?OnCreate
MainActivity
之后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;
}
};
在 REPL 中没有可见的automationId 本身,但只有标签或id 的值等于automationId 上设置的值,因此您应该只使用Marked 传入值。