2017-04-04 15 views
5

NSDocument가 파일을 생성하고 저장하는 테스트 사례를 기록하려고합니다 (그러면 +가 다시 열리고 내용이 다시 확인됩니다). 문제는 NSSavePanel이 시작되고 XCTestCase 기록이 중지되면 테스트 사례를 기록 할 때입니다. 저장/열기 패널과 상호 작용하는 테스트 사례의 예를 검색하려고했지만 행운이 없었습니다.XCTestCase 파일을 저장 하시겠습니까? (NSSavePanel 기록)?

XCTestCases가 NSSavePanels와 상호 작용할 수있는 경우 아무에게도 자세히 알려 줄 수 없습니까? 코드 예제가 좋지만 문서도 훌륭합니다!

답변

-1

예. 가능합니다.

XCUIApplication XCUIApplication을 활용

최소한의 API를 가지고 있지만 몇 가지 방법이 특별한 관심 보증 :

-launch을 - 기본적으로 새로운 템플릿은 새를 인스턴스화 -setup에서 줄을 포함 XCTestCase XCUIApplication을 실행하고 시작합니다. -launch가 호출되면 이전에 실행중인 대상 응용 프로그램의 인스턴스를 종료합니다. 이는 기본적으로 추가 한 각 테스트 케이스가 각 테스트 메소드 이전에 앱을 다시 실행한다는 것을 의미합니다. 전체 테스트 시간을 제외하고 한 번만 실행하는 단일 XCUIApplication에 대한 공유 참조를 사용하면이 문제를 피할 수 있습니다.

-launchEnvironment - 시작할 때 대상 응용 프로그램에 전달 된 사용자 지정 환경 변수를 제어 할 수 있습니다. 이것은 (다른 것들 중에서) 앱이 자동 UI 테스트의 타겟으로 실행 중인지를 식별하는 데 사용할 수있는 맞춤 변수를 설정하는 데 사용될 수 있습니다. 이 방법이 유용 할 수 있지만 현명하게 사용해야합니다. UI 테스트는 사용자가 동일한 코드를 실행하지 않는 한별로 도움이되지 않습니다.

UI 녹화 엑스 코드 (7)와

애플은 당신이 당신의 UI를 통해 단계 및 편집하든 현재의 테스트 케이스 방법에 당신을 위해 기록 된 행동을 할 수있는 기록 UI 테스트 버튼을 추가했습니다. 이론적으로는 훌륭한 것처럼 들리지만 실제로는 현재의 구현이 버그가 있고 신뢰할 수 없다는 것을 알게되었습니다.

슬로우 모션으로 이동 - 클릭 및 키보드 누르기를 너무 빨리 또는 빠르게 수행하면 일부가 Xcode로 건너 뛰게 될 수 있습니다.

예상 오류 - 경우에 따라 녹음이 단순히 작동하지 않습니다. NSSavePanel에 저장하지 마십시오 단추를 클릭하면 이스케이프 처리 된 유니 코드 문자가 작동하지 않는 문자열이 기록됩니다. 여러 번, 다음과 같은 일반적인 오류 메시지와 함께 녹음이 실패합니다. 암시? 테스트 케이스를 '처음부터'작성하기위한 시작점으로 녹음을 아껴서 사용하십시오.

enter image description here

+0

감사합니다, 그러나 이것은 실제로 XCTestCase가 시스템 NSSavePanel와의 상호 작용에 아무 대답하지 않는 이유는 무엇입니까? – Kyle