2012-10-03 39 views
4

我想要按照this post從命令行在iOS設備上運行UIAutomation腳本,但是我無法使其工作。使用設備上的儀器進行自動化測試

這是我目前正在使用的命令: 文書-t /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate /用戶/ X/Library/Developer/Xcode/DerivedData/TestiPhoneAutomation2-dyufpxsavtdqkybpagcoawdudzid/Build/Products/Debug-iphoneos/TestiPhoneAutomation2.app -e UIASCRIPT「/Users/X/Workspaces/TestiPhoneAutomation/test2.js」-e UIARESULTSPATH「/ Users/X/Workspaces/TestiPhoneAutomation2 /「-w 80bf5b ... UDID ... dfb52543 -v

它在模擬器上運行良好(用debug-iphonesimulator替換Debug-iphoneos,在這種情況下它也忽略-w),但如果我啓動它使用爲設備編譯的應用程序它崩潰(我與r嘗試elease和調試,我得到相同的結果)。

我得到的錯誤是:

POSIX產卵故障;放棄發射(二進制== /Users/X/Library/Developer/Xcode/DerivedData/TestiPhoneAutomation2-dyufpxsavtdqkybpagcoawdudzid/Build/Products/Debug-iphoneos/TestiPhoneAutomation2.app/TestiPhoneAutomation2)。 2012-10-03 12:10:3​​6.609樂器[76151:1603]錄製取消: 至少有一個目標無法啓動;中止運行儀器跟蹤 錯誤:無法啓動跟蹤。

回答

3

我得到了同樣的錯誤,但我沒有運行多個Instruments工具。我通過在應用程序之前放置-w UDID參數並僅使用應用程序的名稱(應用程序已部署到設備)來實現這一目標。

我使用的命令行是以下(在Xcode 4.6):

儀器-t /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.bundle/內容/資源/ Automation.tracetemplate -w < DEVICE_ID> < APP_NAME> -e UIASCRIPT < path_to_script> -e UIARESULTSPATH < path_to_results>

+1

謝謝,這工作正常...,我使用相同的命令,但「-w udid」位置不同。把它放在tracetemplate之後和應用程序名稱之前對我來說非常棒 –

0

請在命令行中檢查UDID的順序,實際上所有參數也僅在構建版的調試版上運行。希望這有效,因爲它爲我工作。

+2

你能告訴我你使用命令行的例子嗎? – LiohAu

0

對於任何有這個問題的人,我會解釋什麼對我有用,以及我如何解決這個問題。

我做了ps命令來查看哪些進程正在運行。我發現樂器還在運行。然後,我做了killall instruments,並導致儀器過程中斷。然後,我做了我的樂器指令,並在此之後完美奏效。

相關問題