2010-01-20 4 views
1

난 당신이 WPF를 사용하는 경우 내가 UI 자동화를C#의 UI 자동화

+2

질문의 문구를 다시 말하십시오. – Bobby

+2

UI * animation *을 실제로 의미합니까? 아니면 UI 테스트를위한 자동화 구현을 시도하고 있습니까? 자세한 내용을 추가하십시오. – Ash

+0

가능한 중복 (하지만 아직 완전히 대답하지 않음) : http://stackoverflow.com/questions/2052915/whats-a-good-if-any-net-windows-automation-library – Abel

답변

3

Microsoft의 UI 자동화 라이브러리를 사용할 수 있지만 그리 재미있는 것은 아닙니다. "화이트는"더 나은 대안입니다 ... 참조 : http://www.codeplex.com/white

편집 :

새 URL로는 GitHub의에 TestStack로 이동되었습니다으로 "화이트"프로젝트 : https://github.com/TestStack/White

+2

더 나은 이유는 무엇입니까? 죽지 않았 니? (버전 0.21 이후에 업데이트가 표시되지 않습니다.) –

+0

Microsoft의 UI 자동화 라이브러리를 사용하여 작성된 테스트는 흰색이 아닌 자세한 정보입니다. 그리고 나는 그것이 죽었다고 생각하지 않습니다. 사람들의 99 %가 원하는 것을 수행합니다.프로젝트를 살아있는 것처럼 보이게 코드 조각에서 아무 요점도 ... –

+0

만약 내가 뭘하는지는 테스트에 관한 것이 아니라 자동화 목적으로 다른 윈도우에 연결하는 것에 관한 것이고, 제 코드는 다소 일반적인 것입니다. (저는 많은 다른 것들을 지원해야합니다. 응용 프로그램) 다음 화이트 좋은 선택이되지 않을 것이라고? 필자가 이해하는 한, UIA는 좀 더 일반적이고 더 자세한 정보를 제공하지만 White는 구문을 더 쉽게 읽고 사용할 수 있지만 일반 코드를 만드는 데는 덜 적응합니다. –

5

을 시작할 수 있습니다 괜찮나 브라우저 자동화로이 같은 됐나 C#에서 GUI를 자동화하기 위해 노력하고, 마이크로 소프트는 매우 상세한 UI 자동화 라이브러리를 가지고있다.

http://msdn.microsoft.com/en-us/library/ms747327.aspx

나는 주위를 살펴했지만, 나는 윈폼에 대한 동등한를 찾을 수 없습니다.

+0

매우 흥미 롭습니다. 나는 이것에 대해 몰랐습니다. 일부 Winforms UI 자동화를 허용하는 타사 테스트 도구가 있습니다. Ranorex (http://www.ranorex.com)는 하나입니다. –

1

WiPFlash은 쉽게 좋은 Microsoft의 UI 자동화 라이브러리 위에 오픈 소스 래퍼를 사용합니다. 그러나 이들은 기본 Microsoft 자동화 구조로 인해 제한됩니다.

0

http://msdn.microsoft.com/en-us/library/ms747327.aspx Alastair Pitts와 같은 것을 사용할 수있다. 필자가 알고 있듯이, Windows가 응용 프로그램에서 사용하는 컨트롤을 표준 컨트롤이나 자동화 지원이있는 컨트롤로 인식하는 한 모든 자동화 작업에 유용합니다. 모든 주요 통제 공급 업체의 경우에 해당해야합니다. 그리고 MFC, Win32, WinForms 및 아마도 WPF와 Silverlight도 무시합니다.

Spy ++를 실행하고 표시되는 내용을 보면서 최대 (최대)에 대한 아이디어를 얻을 수 있습니다.

흰색 (opensource) 또는 Rannorex (상업용)와 같은 도구를 사용하여 다른 아이디어를들을 수도 있습니다.

0

GUI가 Devexpress 컨트롤이나 Telerik 컨트롤과 같은 타사 Windows 컨트롤을 사용하는 경우주의하십시오.

MS UI 자동화는 멋진 격자, 멋진 메뉴 및 예쁜 아이콘을 찾는 데 어려움이 있습니다.

TestStack.White에 대해 말하면 MS UI 자동화를 초석으로 사용하므로 상세한 GUI 요소를 찾는 것과 동일한 문제가 발생합니다.

그리드를 행별로 조작해야 할 때 UI Automation 또는 TestStack.White가 테이블 객체 만 반환 할 수 있다는 것을 알게되면 프로젝트 시작 전에 모두 R & 개의 노력을하게됩니다. 그것이 내가 그 교훈을 얻은 방법이지만, 이제 저는 전문가입니다.