Xamarin.forms UI自动化-如何区分显示的图像

Xamarin.forms UI自动化-如何区分显示的图像,xamarin.forms,uwp,microsoft-ui-automation,xamarin.uwp,Xamarin.forms,Uwp,Microsoft Ui Automation,Xamarin.uwp,我对UI自动化和使用Inspect工具(Inspect.exe Microsoft tool)非常陌生,请解释一下 我有一个显示列表视图的UWP应用程序,每个列表视图项如下所示 上面图像块中的小圆是内部彩色图像,它是一个纯色圆(黑色、灰色或棕色) 如果我使用Inspect.exe工具并将鼠标悬停在小圆圈InteriorColor图像上,它将显示AutomationId=InteriorColorIcon,这是我在XAML中给它的名称: <Image x:Name="InteriorCol

我对UI自动化和使用Inspect工具(Inspect.exe Microsoft tool)非常陌生,请解释一下

我有一个显示列表视图的UWP应用程序,每个列表视图项如下所示

上面图像块中的小圆是内部彩色图像,它是一个纯色圆(黑色、灰色或棕色)

如果我使用Inspect.exe工具并将鼠标悬停在小圆圈InteriorColor图像上,它将显示AutomationId=InteriorColorIcon,这是我在XAML中给它的名称:

<Image x:Name="InteriorColorIcon" Source="{Binding InteriorColor, Converter={Static Resource InteriorColorImageConverter}"
我想写UI自动化来检测小圆圈InteriorColorIcon图像是否是正确颜色的图像。如果我将鼠标悬停在Inspect.exe工具中的图像上,它会显示AutomationId=InteriorColorIcon,这很好

但是如何确认图像是黑色、灰色或棕色

是否有一种方法可以向XAML中的图像添加Inspect工具可以看到的属性,并在UI测试中使用该属性来验证显示的图像是否正确


我假设检测颜色会很困难,但是有没有办法添加字符串属性或沿着这些行添加可以用于此目的的内容?

始终设置AutomationProperties。为了一个形象。这是从屏幕阅读器正确读取图像所必需的。自动化名称为“InteriorColorIcon”是应用程序中的一个可访问性错误。它应该是更具描述性的东西,比如“黑色图像”(或者黑色图像表示的任何东西)。同样,您可以设置AutomationProperties。对你的测试有用的东西


return new BitmapImage(new Uri("ms-appx:///Black.png"));
<Image x:Name="InteriorColorIcon"
       AutomationProperties.Id="{Binding InteriorColor}"
       AutomationProperties.Name="{Binding InteriorColor}, Converter={Static Resource InteriorColorDescriptiveNameConverter}"
       Source="{Binding InteriorColor, Converter={Static Resource InteriorColorImageConverter}"