2014-04-16 2 views
1

WPF를 사용하여 Visual Studio for my UI 프로젝트에 대한 몇 가지 UI 테스트를 C#에서 수행하려고합니다.Visual Studio UI 테스터를 사용하려고하면 FailedToperformActionOnBlockedControlException이 발생합니다.

그래서 저는 테스트 프로젝트를 만들었고 Microsoft의 튜토리얼에서 말한 것처럼 코드화 된 UI 테스트를 만들기 시작했습니다 : http://msdn.microsoft.com/en-us/library/dd286681%28v=vs.100%29.aspx. 내가 윈도우 리본의 버튼 중 하나를 클릭

MyProjectTestsUnitaires.CodedUITest1.CodedUITestMethod1 test method threw an exception: 
Microsoft.VisualStudio.TestTools.UITest.Extension.FailedToPerformActionOnBlockedControlException: Control is blocked by another control. Make the blocked control visible and retry. 

이 추가합니다 내가 테스트를 시작할 때

는하지만, 나는 다음과 같은 예외가 있습니다. 내가이 테스트를 위해 생성 된 코드를 연구 할 때 더 정확하게, 여기에 내가 무엇을 :

WpfTabList uIRibbonTabList = this.UIProjectWindow.UIRubbanCustom.UIRibbonTabList; 
      WpfTabPage uIONGLET2TabPage = this.UIProjectWindow.UIRubbanCustom.UIRibbonTabList.UIONGLET2TabPage; 
      WinListItem uIImagesjpgListItem = this.UIOuvrirWindow.UIItemWindow.UIVuedélémentsList.UIImagesjpgListItem; 
      #endregion 

     ApplicationUnderTest MyProjectApplication = ApplicationUnderTest.Launch(this.RecordedMethod1Params.ExePath, this.RecordedMethod1Params.AlternateExePath); 

     // Clic 'Ribbon' liste d'onglets 
     Mouse.Click(uIRibbonTabList, new Point(0, 82)); 

     // Clic 'ONGLET2' onglet 
     Mouse.Click(uIONGLET2TabPage, new Point(-152, 58)); 

     // Clic 'ONGLET2' onglet 
     Mouse.Click(uIONGLET2TabPage, new Point(-129, 53)); 

     // Double-clic 'images.jpg' élément de liste 
     Mouse.DoubleClick(uIImagesjpgListItem, new Point(25, 60)); 

는 반면 나는, 클릭이 두 번째 헤더 인 리본의 ONGLET2에서 수행되는이 코드 참조 화면에 표시되지 않습니다. 클릭 수는 첫 번째 헤더 인 ONGLET1에 등록되었습니다.

Windows 리본에서 UI 테스트를 어떻게 사용할 수 있습니까? 당신의 도움에 대한

감사

답변

2

이 오래된 질문이고, 불행히도 내가 그것을 대답하는 방법을 알고하지 않습니다,하지만 당신은 인터넷 검색에 의해 여기에 도착하면 "FailedToperformActionOnBlockedControlException는"내가 도울 수있을 ... 여기서 문제는 다른 컨트롤이 당신이 컨트롤하려는 컨트롤을 차단하고 있다는 것입니다. 이런 종류의 디버깅을위한 첫 번째 단계는 원하는 컨트롤을 차단하고있는 컨트롤을 확인하는 것입니다. 당신이 녹음 또는 핸드 코딩 (아직 코딩하지 않은 경우 핸드 코딩으로 전환하는 것이 장기적으로 시간을 절약 할 수 있다고 믿는다)에 관계없이 CodedUi Test Builder를 사용하여 차단 컨트롤의 속성을 가져옵니다 . VS 2015에서 커서를 테스트 메소드에 놓은 다음 테스트> 코드 생성 된 테스트 용 코드 생성> CodedUI 테스트 빌더 사용을 선택합니다. 컨트롤이 보이면 선택하려는 객체 주위에 직사각형이 보일 때까지 회색 "대상"아이콘을 클릭하고 끌어옵니다. 가자. 당신은 차단 제어에 대한 메타 데이터를 갖게 될 것이다. 거기에서 해당 컨트롤을 사용하거나 (클릭하는 경우) 컨트롤을 사용하여 상대 지점을 얻거나 다른 창의적인 솔루션을 찾을 수 있습니다. 희망이 도움이됩니다!

관련 문제