2011-05-12 3 views
0

복잡한 UI가있는 WPF 응용 프로그램을 사용하고 동일한 CodedUITest 스크립트를 작성하려고합니다. 이 글을 처음 접한 이래로 CodedUITest 스크립트를 작성하려면 적절한 지침/접근 방법이 필요합니다. Record &을 사용하여 모든 작업을 수행 할 수는 없습니다. 사용자 정의 컨트롤이 UI에 있으며 언제든지 변경할 수 있기 때문에 Play stuff을 재생할 수 있습니다.CodedUITest를 사용하여 WPF 응용 프로그램을 테스트하는 올바른 방법은 무엇입니까

C# 코드를 사용하여이 작업을 수행하려고합니다. 사용자 지정 그리드에서 특정 레코드를 가져 오는 동안 C# 코드를 사용하여 컨트롤을 식별 할 수 있습니다.

  • CodedUITest에서 쉽게 식별 할 수 있도록 어떤 종류의 속성을 제어해야합니까?
  • AutomationId를 모든 컨트롤에 제공하는 것은 의무입니까?
  • Treeview 및 그리드와 같은 동적 컨트롤을 위해 수행해야 할 작업은 무엇입니까?
  • & 드롭 유형의 창을 어떻게 식별 할 수 있습니까?

답변

1

이론적 측면 :

코딩 UI는 UI 회귀 테스트를 수행하게된다 테스트. 어떤 데이터가 주어지면 UI는 특정 방식으로 반응해야합니다.. 이 테스트의 왕의 생각은 UI와 동일한 데이터가 동일한 방식으로 계속 작동한다는 것입니다. 다른 말로하면 : 특정 데이터 세트가 주어지면 UI가 반응하는 방식 (녹음 내용을 기반으로)을 변경하면 테스트는으로 나뉩니다.

실용 사실 :

코딩 된 UI 테스트는 테스트 프레임 워크, 그리고 녹음이 코드를 생성합니다. 당신은 그 코드를 볼 수 있으며, IMHO 당신은 그 물건이 어떻게 작동하는지보아야합니다. 좀더 다용도로 코딩 된 UI가 필요하다면 생성 된 코드를 수정하여이를 구현할 수 있습니다. 사실 내가 STRONGLY 생성 된 클래스와 메서드를 분할하고 몇 가지 clanup 할 것을 권장합니다.

코드는 일종의 UI Map (테스트에서 사용하는 UI 개체를 참조하는 속성이있는 클래스)을 생성합니다. 그지도를 수동으로 추가하거나 제거 할 수 있으며 (실제로는 단지 코드 일뿐입니다), 실제로 복잡한지도를 만들 수 있습니다. 실제로지도를 다른지도에서 "상속"할 수도 있습니다 (aaa). ASP.Net 마스터 페이지).

WPF에서는 컨트롤이 있는지 여부, UI 스타일, 내용 및 자녀 (있을 경우)를 확인할 수 있습니다. AutomationID 제목에서 확인할 필요가있는 컨트롤에서만 필수 항목입니다. D & D ... 나는 잘 모른다. D & D.에 대한 UI 테스트를 한 적이 없었습니다.

+0

감사합니다. Microsoft UI 자동화 라이브러리라는 테스트 라이브러리가 하나 더 있습니다. 확인하고 싶습니다. WPF 응용 프로그램 테스트, CodedUITest 또는 Microsoft UI 자동화 라이브러리에 어떤 라이브러리를 사용해야합니까? – CodingNinja

+0

http://blogs.msdn.com/b/dpksinghal/archive/2011/09/28/how-to-test-deep-hierarchy-controls-using-coded-ui-test-in-wpf.aspx를 참조하십시오. WPF 컨트롤을 찾지 못하는 테스트 레코더와 관련된 문제를 수정하는 코딩 된 UI 테스트 레코더 시각 트리 깊이 문제에 대한 수정. –

관련 문제