2017-04-17 7 views

답변

5

잘못된 프로세스의 뷰 계층 구조를 디버그하려고하기 때문에 문제가 발생했습니다. UI 테스트에는 두 가지 프로세스가 있습니다. 첫 번째는 UI Test runner이고 두 번째는 앱입니다. 둘 다 붙어 있지만 디버그보기는 응용 프로그램이 아닌 주자 인 기본적으로 첫 번째 프로세스를 처리합니다. 그리고 러너에 대한 뷰 계층 구조를 가질 수 없습니다. 따라서 다음 메시지가 표시됩니다. enter image description here 어떤 프로세스가 선택되어 있는지 확인하십시오. UI를 테스트가 시작되는 동안

, 당신은 응용 프로그램 자체에이 선택을 변경하고 성공적으로 응용 프로그램을 캡처합니다 디버그보기 계층 버튼을 칠 수있다 :이 비록 조금 까다 롭습니다 enter image description here

합니다. 러너 프로세스는 여전히 활성 상태이며보기 디버그 모드에 있더라도 앱을 죽이거나 다시 시작합니다. 단일 테스트 방법을 테스트하는 동안에 만 계층 구조를 캡처 할 수있었습니다. 실제로 디버그 뷰 계층 구조 단추를 누르기 위해 테스트 실행 속도를 늦추려면 대기 코드를 입력해야합니다.

+0

에서 올바른 프로세스를 실행하고 있지만 MacOS 응용 프로그램 대상을 디버깅 할 때 여전히 동일한 오류가 발생합니다. '뷰 계층 구조를 캡처 할 수 없습니다. 세부 정보 : 로그 제목 : 데이터 소스 표현식 실행이 실패했습니다. 로그 정보 : 표현식 평가 오류 "(ID) [[DBGTargetHub sharedHub] performRequestWithRequestInBase64 :]"실행이 중단되었습니다. 이유 : EXC_BAD_ACCESS (코드 = 2, 주소 = 0x7fff5f3ffff8) 프로세스가 표현식 평가 이전 상태로 돌아 왔습니다. ''나는이 버그라고 생각한다. – stone

+0

http://www.openradar.me/32614709 – stone

0

UI를보기 계층 구조 (일명 요소 서브 트리를) 테스트가 실행되는 동안 애플리케이션.

print(app.debugDescription) 

중요 사항 : 때때로 뷰 계층 구조는 캐시 계층 구조를 사용하고 있기 때문에 당신이 그것을 인쇄 할 때 "뒤에"하나의 뷰입니다. 이를 설명하기 위해 디버그 설명을 인쇄하기 전에 뷰 계층 구조의 새로운 스냅 샷을 트리거하는 조치를 취하십시오.

+0

네,하지만 꽤 똑같습니다. UI 테스트를 실행하는 동안 View UI Hierarchy 도구를 사용하는 방법을 찾고 있는데 –

+0

나도 그래요? 이 Xcode 9 버그입니까? Xcode 9 베타 4 –