2017-11-10 1 views
2

저는 UI 자동화 및 검사 도구 (Inspect.exe Microsoft 도구)를 처음 사용 했으므로 설명 드리겠습니다.UI 자동화 - 표시되는 이미지를 구별하는 방법

나는, (목록보기를 보여주는 UWP 응용 프로그램이 각 목록보기 항목이

enter image description here

이미지 블록의 작은 원은 위의 단색 원입니다 InteriorColor 이미지처럼 보이는 검은 색이 회색 또는 갈색). 내가 Inspect.exe 도구를 사용하여 작은 원 InteriorColor 이미지 위에 마우스를 올려 경우

, 그것은 내 XAML에서 그것을주는 이름이다 AutomationId = InteriorColorIcon 보여줍니다 위

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

는, 바인딩 특성 InteriorColor은이다 문자열 유형 및 나는 변환기를 사용하여 해당 문자열을 올바른 색상의 이미지로 변환합니다. 작은 원 InteriorColorIcon 이미지의 이미지 인 경우

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

내가 감지하는 UI 자동화를 작성하려합니다 : InteriorColor는 "블랙"== 경우

그래서, 내 컨버터는 자원 이미지 Black.png처럼 반환 올바른 색상. Inspect.exe 도구에서 이미지 위로 마우스를 가져 가면 해당 AutomationId = InteriorColorIcon이 표시됩니다.

하지만 이미지가 검정색인지, 회색인지, 갈색인지 어떻게 확인합니까?

XAML의 이미지에 속성을 추가하고 UI 테스트에서 이미지가 올바른 이미지인지 확인하는 데 사용할 수있는 방법이 있습니까?

색상을 찾는 것이 어려울 것이라고 생각하지만이 목적을 위해 사용할 수있는 줄을 따라 문자열 속성이나 무언가를 추가하는 방법이 있습니까?

답변

3

항상 AutomationProperties를 설정하십시오. 이미지의 경우 Name 이미지가 화면 판독기에서 올바르게 읽히는 데 필요합니다. 자동화 이름이 "InteriorColorIcon"인 것은 앱의 접근성 버그입니다. "검은 색 이미지"(또는 검은 색 이미지가 나타내는 것)와 같이 좀 더 기술적 인 내용이어야합니다. 마찬가지로 AutomationProperties를 설정할 수 있습니다. AutomationId을 테스트에 유용하게 활용하십시오. 그 더 어려운 당신이 실제 이미지를 확인하려면

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

Expose basic accessibility information를 참조하십시오. 이미지의 위치를 ​​화면 캡처하여 (UIA_BoundingRectanglePropertyId 참조) 캡처 한 픽셀을 참조 이미지와 비교해야합니다.