2017-11-10 11 views
2

私はUIオートメーションの新機能で、Inspectツール(Inspect.exe Microsoftツール)を使用しています。UIオートメーション - 表示されているイメージを区別する方法

Iは、リストビューを示すUWPアプリケーションを持っているが、各リストビュー項目この

enter image description here

ように見える上記画像ブロック中のほとんどの円は、ソリッドカラーサークル(黒であるInteriorColor画像でありますグレーまたはブラウン)。

私はInspect.exeツールを使用し、少しサークルInteriorColorの画像の上に置くと、それは私が私のXAMLでそれを与える名前であるたAutomationID = InteriorColorIconを示しています。InteriorColorがであるバインド可能なプロパティ、

以上
<Image x:Name="InteriorColorIcon" Source="{Binding InteriorColor, Converter={Static Resource InteriorColorImageConverter}" 

私は正しい文字列のイメージにその文字列を変換するコンバータを使用します。

ので、InteriorColorは「黒」==場合は、私のコンバータは次のようにリソース画像Black.pngを返します。

return new BitmapImage(new Uri("ms-appx:///Black.png")); 

私は少しサークルInteriorColorIconの画像はイメージですかどうかを検出するためにUIオートメーションを書きたいです正しい色。私がInspect.exeツールで画像にマウスを移動すると、AutomationId = InteriorColorIconが表示されます。

しかし、画像が黒、灰色、または茶色であることを確認するにはどうすればよいですか?

XAMLの画像に何らかのプロパティを追加して、Inspectツールで表示でき、UIのテストでイメージの表示が正しいイメージであることを確認できますか?

色を検出するのが難しいと思っていますが、この目的に使用できる文字列プロパティまたはこれらの行に何かを追加する方法がありますか?

答えて

3

常にAutomationPropertiesを設定します。イメージのためのName。これは、スクリーンリーダから画像を正しく読み取るために必要です。オートメーション名が「InteriorColorIcon」であることは、アプリのアクセシビリティバグです。それは、「黒い画像」(または黒い画像が示すもの)のような、より記述的なものでなければなりません。同様に、AutomationPropertiesを設定することができます。 AutomationIdをテストに役立つものに置き換えてください。

は、あなたが実際の画像を確認したい場合は、それはより困難だExpose basic accessibility information

<Image x:Name="InteriorColorIcon" 
     AutomationProperties.Id="{Binding InteriorColor}" 
     AutomationProperties.Name="{Binding InteriorColor}, Converter={Static Resource InteriorColorDescriptiveNameConverter}" 
     Source="{Binding InteriorColor, Converter={Static Resource InteriorColorImageConverter}" 

を参照してください。画像の位置をスクリーンキャプチャして(UIA_BoundingRectanglePropertyIdを参照)、キャプチャのピクセルと参照画像を比較する必要があります。

関連する問題