2014-08-30 2 views
3

"일부 조건이 표시되지 않아야하는 경우 일부 WPF 컨트롤"과 같은 코딩 된 UI 테스트를 작성하고 싶습니다. "보이지 않습니다"라고 어떻게 주장합니까? 으로MS 코딩 된 UI 테스트 (CUIT)를 사용하여 WPF 컨트롤이 숨겨 지거나 접혀 있는지 확인하는 방법

재현 문제 :

  • 만든 새 WPF 응용 프로그램
  • 메인 창에 하나 개의 큰라는 이름의 버튼만을 추가하지
  • 이 CUIT 편집기로 이동하고 버튼을 인식
  • 없이 CUIT 편집기 닫기 WPF 응용 프로그램 닫기
  • 추가 가시성 = "숨김"버튼
  • CUIT 편집기에서 버튼을 선택하고 "새로 고침"버튼을 누르십시오.
  • 참고 : 숨겨진 버튼의 속성은 보이는 버튼의 속성과 완전히 동일합니다!

버튼이 숨겨져 있음을 주장하는 방법은 없습니다. 또한

:

  1. 난 당신이 사용하고있는 해결 방법에 대해 듣고 기꺼이 것입니다. 내가 필요로하는 것은 CUITs가 아닌 테스트를 작성하는 것입니다.
  2. 스크린 샷을 비교할 수 있다는 것을 알고 있습니다.
  3. 흥미롭게도 숨겨진 버튼으로 물건을 만들려고하면 CUIT가 던질 것입니다. 그것은 버튼이 숨겨져있을 때 CUIT이 알고 있음을 의미합니다.
  4. 흥미롭게도 "숨김"대신 Visibility = "Collapsed"인 경우 CUIT는 Width = Height = -1을보고하여이를 인식합니다. 나는 IsVisible 제한이 UITestControl 개체의 TryGetClickablePoint(out System.Drawing.Point) 방법을 사용하는 것입니다 해결하는 가장 좋은 방법을 발견했습니다 :(

답변

1

불구 즉, 축소 버튼으로 도움이되지 않습니다.이 방법은 그래서. 부울 값을 반환합니다 예를 들어, 당신은 WpfButton이 있습니다.?

하지보다 더 자주 일했다
WpfButton mine = new WpfButton(parent); 
mine.SearchProperties["id"] = "id"; 

Point toString; 
bool result = mine.TryGetClickablePoint(out toString); 
Assert.IsTrue(result, "My Assertion here."); 

축소 또는 확장 처리하기 위해,하지만, 그 상태에 따라 바뀌는 개체의 일부 특성이 예를 들어, 클래스가 class="myobject expanded" 인 경우 mine.GetProperty("Class").ToString().Contains("expanded");을 기준으로 쉽게 부울 값으로 지정할 수 있습니다.

-1

GetProperty를 방법을 사용해보십시오 :이이 부결 이유

WpfButton myButton = new WpfButton(); 
if(myButton.GetProperty("Enabled").Equals(true)) 
{ 
    ... CODE 
} 
+0

확실하지, 그것은 허용 대답만큼 좋은입니다. 유일한 문제는이 답변과 수락 된 답변이 가끔씩 만 작용한다는 것입니다. 바보 코드 된 UI 테스트와 같은 방법으로 단추를 숨길 수 있습니다. – Ewan

관련 문제