17 Stimmen

XCode Testautomatisierung für IPhone

Ich möchte, dass meine iPhone-Test-App automatisch in einem iPhone getestet wird. Im Folgenden sind die Schritte aufgeführt, die ich gerne durchführen würde:

  1. Kompilieren, Verknüpfen und Signieren der iPhone-Anwendung (Xcodebuild)
  2. Hochladen der neu erstellten App auf das iPhone
  3. die hochgeladene Anwendung automatisch auf dem iPhone ausführen
  4. das Ergebnis in der gdb-Konsole sammeln
  5. Schließen Sie die App

Im Moment habe ich Problem mit Schritt 2 und 3, wo ich es nicht automatisch tun kann (ich kann es von XCode über "Build und Debug" Schaltfläche tun. Dies wird jedoch manuelle Klicken erfordern).

Ich habe einige Nachforschungen über den Automator angestellt, aber er gibt keine Antwort auf mein Problem. Eine weitere Option, die ich denke über ist die App für iPhone-Simulator kompiliert haben und führen Sie es von dort, aber ich bin nicht sicher, wie genau das Testergebnis wird im Vergleich zu den realen Gerät sein.

Ich bin neu in der Mac/IPhone-Entwicklung, vielleicht hat jemand eine bessere Möglichkeit, dies zu testen. Jede Rückmeldung und jeder Beitrag ist willkommen. Danke.

16voto

chuan Punkte 793

Der Kommentarbereich bietet keine gute Möglichkeit, die Lösung richtig darzustellen. Hier ist die Zusammenfassung der Antwort.

Die Aufgabe, die IPhone-App zu erstellen, hochzuladen und den Debug-Prozess auf dem IPhone auszulösen, wird über AppleScript erledigt. Hier sehen Sie, wie das AppleScript aussieht:

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 akzeptiert ":" anstelle von "/" als Datei- und Ordnertrennzeichen.

Die GDB-Konsolenausgabe kann aufgezeichnet werden, indem die GDB-Option zum Schreiben in eine Datei gesetzt wird. Dies geschieht durch Eingabe des folgenden Befehls in Terminal:

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

Abschließend möchte ich mich bei den verschiedenen Personen bedanken, die mir bei der Lösung dieses Problems geholfen haben.

5voto

Rob Napier Punkte 265102

Das Tool, das Sie wahrscheinlich für die Erstellung und Installation verwenden möchten, ist Applescript. Etwas wie:

tell application "Xcode" to launch

Ich behaupte nicht, dass dies eine vollständige Antwort ist; es gibt noch viele Dinge zu klären. Aber ich glaube, dass Applescript eines der wichtigsten Werkzeuge für Sie sein wird.

2voto

Brian Punkte 119

Prüfen Sie UISpec http://code.google.com/p/uispec/

Es handelt sich um einen vollständigen Automatisierungstestrahmen, der für das iPhone entwickelt wird.

2voto

Giordano Scalzo Punkte 6254

Auschecken iphone_testify Es funktioniert gut mit OCUnit und Google Toolbox For Mac, und ich denke, es könnte möglich sein, es für etwas wie UISpec zu erweitern.

Mit freundlichen Grüßen

1voto

Es gibt ein Kommandozeilen-Tool "xcodebuild", das Sie aufrufen können, um einen XCode-Build zu starten, ohne dass er geöffnet ist. Es gibt Flags, die Sie verwenden können, um Ziele und so weiter zu setzen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X