UI 자동화 테스트의 모범 사례는 가능한 한 적은 작업을 수행하는 것입니다. UI가 자주 변경되므로 지속적으로 자동화를 업데이트해야합니다. UI 자동화없이 자동 테스트를 수행 할 수있는 방식으로 제품 코드를 구성하는 것이 일반적으로 바람직합니다.
즉, 항상 UI 자동화를 제거 할 수는 없습니다. 당신은 office를 언급하므로 Windows 용으로 코딩하고 .Net을 사용한다고 가정합니다. 나는 현재 직장에서 꽤 많은 일을합니다. 여기 내가 배운 것들이 있습니다.
1) .Net 3.0에 도입 된 UIAutomation 라이브러리를보십시오. 자동화를 위해 광범위하고 상당히 사용하기 쉬운 라이브러리를 제공합니다. (http://msdn.microsoft.com/en-us/library/ms753107.aspx)
2) UISpy 다운로드 (http://msdn.microsoft.com/en-us/library/ms727247.aspx)
3) 제품의 UI를 자동화하십시오.
3a) WPF 인 경우 AutomationID를 모든 것에 배치하십시오.
3b) 고유 한 제어 및 창 클래스 이름 (소스 코드 클래스 이름이 아닌 UI 클래스 이름)을 작성하십시오. 무슨 뜻인지 모르면 UI Spy를로드하고 창을보기 시작하십시오. 클래스 이름이 # 32770 인 여러 앱의 여러 창에 주목하십시오. Windows 대화 상자의 클래스 이름입니다. 대화 상자를 확장하고 자체 이름을 설정하지 않은 모든 창은 기본적으로이 값으로 설정됩니다. 이것은 UI 자동화 관점에서 모든 종류의 슬픔을 유발합니다.
4) Thread.Sleep () 문을 피하십시오. 대신 웨이터를 사용하십시오 (UIAutomation 문서 참조).
5) 테스트 코드와 UI 자동화 코드를 절대로 섞지 마십시오. UI 자동화를 수행하기 위해 별도의 라이브러리를 작성하십시오. 테스트에서이 라이브러리를 호출하십시오. UI가 변경되면 자동화를 훨씬 쉽게 업데이트 할 수 있습니다.
6) 이벤트를 발생시키는 조치를 수행하기 전에 항상 UI 이벤트에 대한 리스너를 등록하십시오. 실제로 이것은 스레드로 작업하고 있음을 의미합니다.
6a) 예 : 창을 열기 위해 단추를 클릭 한 후 창 열기 이벤트를 기다리지 마십시오. 웨이터가 등록되기 전에 창이 열리고 이벤트를받지 않습니다.
7) 방금 연 창을 원하는 창이라고 가정하지 마십시오. Windows에서 모든 종류의 창이 예기치 않게 열립니다.
나는 더 갈 수 있지만 이것은 점점 길어지고 있습니다.