문제

내 Cocoa 프로그램의 GUI에 대한 몇 가지 테스트를 작성하고 싶습니다.

Cocoa 앱을 위한 좋은 GUI 테스트 프레임워크가 있나요?내가 찾은 유일한 것은 스퀴시, 2.400€로 내 예산을 훨씬 초과합니다…

어떤 아이디어가 있나요?어떻게 코코아 GUI를 테스트하시겠습니까?

도움이 되었습니까?

해결책

"Cocoa GUI 테스트"의 의미에 따라 다릅니다.

예전과 같은 도구를 원한다면 가상 사용자 MPW에 포함된 도구는 거의 없습니다.Squish 및 Eggplant와 같은 도구를 보게 될 것입니다.

글을 쓰고 싶다면 단위 테스트 귀하의 애플리케이션의 휴먼 인터페이스에 대해서는 "신뢰하되 확인하라"당신이 있는 곳으로 다가가세요. 신뢰하다 프레임워크에 따라 올바른 연결을 만드는 한 사용자가 프레임워크와 적절하게 상호 작용할 수 있습니다.이는 대부분의 테스트를 다음과 같이 수행할 수 있음을 의미합니다. 확인 중 모델과 컨트롤러 코드가 뷰에 올바르게 연결되었습니다.

내 웹로그에 Cocoa를 사용하여 이 작업을 수행하는 방법에 대한 몇 가지 예를 작성했습니다. 타겟 액션으로 구축된 사용자 인터페이스 테스트, 그리고 하나는 Cocoa 바인딩으로 구축된 사용자 인터페이스 테스트.(물론 두 기술이 배타적이지 않다는 점을 기억하십시오.Cocoa 바인딩을 통해 관리되는 테이블 뷰에서 드래그 앤 드롭을 수행하려면 데이터 소스도 있어야 하며 아마도 대상 작업을 통해 연결된 대리자가 있을 것입니다.)

내가 단위 테스트를 작성하지 않는 이유는 일반적으로 상위 뷰에 있는 컨트롤의 위치나 유형 때문입니다.그러나 때로는 올바른 정보를 얻고 유지하는 것이 중요합니다.이 경우 컨트롤의 적절한 속성을 쿼리하고 표준 어설션을 사용하여 이를 확인할 수 있습니다.

내가 무엇을 사실상 전혀 "이벤트 시뮬레이션"에 대한 코드를 작성하는 것입니다. 내가 가장 가까운 것은 가짜 드래그 정보 객체를 구성하고 그것을 개요 뷰 데이터 소스로 전달하여 드래그를 올바르게 처리 할 수 ​​있도록하는 것입니다.

다른 팁

Google을 살펴 보는 것이 좋습니다. Macintosh 용 도구 상자. 그것은 다른 좋은 음식들 중에서도 NSVIEW 및 CALAYERS에 대한 매우 멋진 상태와 렌더링 테스트 추가 기능을 가지고 있습니다. 장치 테스트에서는보기/레이어 상태 또는 렌더링 된 이미지가 저장된 (이름 별) 템플릿과 일치한다고 주장합니다. 템플릿이 테스트 번들에 존재하지 않거나 저장된 버전과 일치하지 않으면 새로운 인코딩 된 상태 또는 렌더링 된 TIFF가 검토를 위해 생성됩니다. GTM은 NSView 및 Calayer가 상태 인코딩 및 렌더링을 수행 할 수있는 카테고리를 제공합니다. 분명히 귀하는 자신의 NSView 또는 Calayer 서브 클래스에서 이러한 범주를 무시하여 관련 상태 (NSCoder 프로토콜 사용) 또는 렌더링을 인코딩 할 수 있습니다.

또한 주요 이벤트를 (쉽게) (쉽게) 전송하고 단위 테스트로 실행 루프를 실행할 수 있으며 OS X 및 iPhone 모두에서 장치 테스트를 지원합니다.

Apple Accessibility API를 사용하여 클래식 GUI 자동화 라이브러리를 만들어 Cocoa GUIS와의 가시성과 상호 작용을 제공하는 오픈 소스 파이썬 패키지를 만들었습니다. Pyatom 홈페이지

Testplant (공식적으로 Redstone 소프트웨어)에 의한 가지를 확인하고 고려할 수 있습니다. http://www.testplant.com/.

여기 애플이 작년에 소개 한 기사이다.

최신 Cocoacast Podcast는 Ian Dees와 "Ruby와의 스크립트 GUI 테스트"의 저자와 인터뷰를했습니다. 더 많은 것을 찾을 수 있습니다 코코 아스트

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top