2009-06-15 5 views
17

아이폰 테스트 앱을 아이폰에서 자동 테스트하고 싶습니다.아이폰 용 XCode 테스트 자동화

  1. 컴파일, 링크 및 코드는
  2. 가 자동으로 아이폰에
  3. 업로드 된 응용 프로그램을 실행 아이폰에 신축 된 응용 프로그램을 업로드 아이폰 응용 프로그램 (Xcodebuild)
  4. 서명 : 다음 내가하고 싶은 단계는
  5. 은 현재 응용 프로그램을

을 닫으 GDB 콘솔에서 결과를 수집, 난 할 수 없어 2 단계 및 3 문제가 자동으로 ("빌드 및 디버그"버튼을 통해 XCode에서 수행 할 수 있습니다. 그러나 수동으로 클릭해야합니다.)

나는 automator에 대한 몇 가지 연구를했는데 내 문제를 해결하지 못했습니다. 내가 생각하고있는 또 다른 옵션은 아이폰 시뮬레이터 용으로 앱을 컴파일하고 거기에서 실행하는 것이다. 그러나 테스트 결과가 실제 기기와 얼마나 비견 될지 확신 할 수 없다.

Mac/IPhone 개발에 익숙하지 않은 사람이이 방법을 더 잘 테스트 할 수 있습니다. 모든 피드백과 입력을 환영합니다. 감사.

답변

5

빌드 및 설치에 사용하려는 도구는 AppleScript입니다. 다음과 같이 입력하십시오 :

tell application "Xcode" to launch 

나는 완전한 대답 인 척하지 않습니다. 해결해야 할 것들이 많이 남아 있습니다. 하지만 애플 스크립트는 내가 믿는 핵심 도구 중 하나가 될 것이다.

+0

포인터에 감사드립니다. 필자는 애플 스크립트를 사용하여 XCode를 시작할 수있었습니다. 지금 당장, 클릭 할 문법이 무엇인지 알아 내야합니다. 올바른 프로젝트를 선택하고 "빌드하고 이동"을 클릭하십시오. 유용하게 사용하기 전에 꽤 오래 걸릴 것입니다. – chuan

+2

"클릭 빌드 및 이동"으로 생각하지 마십시오. 이벤트에 대해 생각해야합니다. 당신이 머리에 "클릭"을하면, 당신은 종종 잘못된 길로 내려갈 것입니다. 빌드 명령은 "빌드"입니다. Applescript Editor의 "Open Dictionary"에서 Xcode가 제공하는 것을보기 위해 많은 시간을 보내고 싶을 것입니다. 첫 번째 프로젝트의 "릴리스"라는 빌드 구성을 사용하여 빌드와 같은 명령을 원할 것입니다. '발사'는 그것을 실행할 것입니다. '활성 아키텍처 설정'또한 중요 할 수 있습니다. 더 어려운 질문은 콘솔 출력을 쉽게 얻는 방법입니다. 단말기 유형에서 다음 명령을 : –

+1

콘솔 출력이 방법을 수행 할 수 있습니다 기본값 com.apple.Xcode PBXGDBDebuggerLogToFile YES 기본값은 <내 GDB 출력 파일의 경로> com.apple.Xcode PBXGDBDebuggerLogFileName 쓰기 쓰기이와 , 빌드를 호출하고 테스트 응용 프로그램을 실행하는 파이썬 스크립트를 작성합니다. 그런 다음 테스트 후 출력 로그를 가져옵니다. Btw, AppleScript 포인터에 대해 다시 한 번 감사드립니다. 나는 오늘 그것을 시험 할 것이다. – chuan

1

Xcode 빌드를 열어 보지 않고 시작할 수있는 명령 줄 도구 "xcodebuild"가 있습니다. 타겟을 설정하는 데 사용할 수있는 플래그가 있습니다.

+0

도움에 감사드립니다. xcodebuild는 바이너리를 빌드하고 새로 컴파일 된 바이너리를 iphone에 업로드하지 않습니다. 작동하도록 지정해야하는 플래그/옵션이 있으면 그것에 대해 알고 싶습니다. – chuan

0

박사 닉의 testing with Ruby 당신이 아이폰에 진을 업로드하는 스크립트를 실행하는 대상에 빌드 단계를 추가 할 수 있습니다이

0

들과 함께 도와 드릴까요?

오른쪽 대상을 클릭, 추가 -> 새 빌드 위상 -> 새 스크립트 실행이 주석 부분은 솔루션이 제대로 표시의 좋은 방법을 제공하지 않습니다 단계

16

을 구축 할 수 있습니다. 다음은 답 요약입니다.

아이폰 앱을 빌드하고, 아이폰에 디버그 프로세스를 업로드하고 트리거하는 작업은 AppleScript를 통해 수행됩니다. 다음은 AppleScript의 모습입니다.

tell application "Xcode" 
    open "Users:chuan:Desktop:iphone_manual_client:iphone_manual_client.xcodeproj" 
    tell project "iphone_manual_client" 
     clean 
     build 
     (* for some reasons, debug will hang even the debug process has completed. 
      The try block is created to suppress the AppleEvent timeout error 
     *) 
     try 
      debug 
     end try 
    end tell 
    quit 
end tell 

AppleScript는 파일 및 폴더 구분 기호로 "/"대신 ":"를 사용할 수 있습니다.

GDB 옵션을 설정하여 GDB 콘솔 출력을 캡처 할 수 있습니다. 이것은 터미널에서 다음 명령을 입력하여 수행됩니다

defaults write com.apple.Xcode PBXGDBDebuggerLogToFile YES 
defaults write com.apple.Xcode PBXGDBDebuggerLogFileName <path to my gdb output file> 

마지막으로,이 문제를 해결하는 데 도움이 다양한 PPL에 많은 감사.UISpec http://code.google.com/p/uispec/

밖으로

2

확인은 그것은 전체 자동화 테스트 프레임 워크는 아이폰 개발되고있다.

0

xcodebuild는 바이너리를 빌드하기 만하면 새로 컴파일 된 바이너리를 iphone에 업로드하지 않습니다.

실제로는 (그것을 서명 후) 업로드,하지만 너무 나쁜 실행할 수 없습니다 ... 어쩌면 대상에 연결되면 GDB하지만 어떻게 사용하여 실행할 수 있습니다 (IP?, USB를? usbnet?)?

2

iphone_testify을 확인하십시오. OCUnit 및 Google Toolbox for Mac에서 잘 작동하며 UISpec과 같은 것으로 확장 할 수도 있습니다.

감사합니다.