2014年和Xcode 6.0.1,你會做這樣的事情運行在模擬器上測試UIAutomation,-w開關後命名您的模擬器:
instruments -t '/Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate' \
-w 'iPhone 5s' \
'/Users/sohail/Library/Developer/CoreSimulator/Devices/7232A640-A9D2-4626-A2AD-37AFFF706718/data/Containers/Bundle/Application/E71B915E-051D-4BEF-9083-34416D02EC91/RoadRunnerRadar.app' \
-e UIASCRIPT '/Users/sohail/Developer/clients/acme/roadrunnerradar/ACMERoadRunnerRadarAutomationTests/TestRunner.js' \
-e UIARESULTSPATH '/Users/sohail/Developer/clients/acme/roadrunnerradar/ACMERoadRunnerRadarAutomationTests/TestResults/'
如果您想在您的設備上運行此功能,而不是像上面代碼段中的「iPhone 5s」一樣在模擬器上運行,那麼您需要提供設備的UDID。然後,您可以省略上面給出的漫長應用程序路徑,並提供應用程序的名稱。儀器將能夠在設備上找到它。
用我上面的例子,但被修改爲一個虛構的設備,這將是這樣的:
instruments -t '/Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate' \
-w '8532A640-A9C2-4626-A2AD-37AFFF706799' \
'RoadRunnerRadar' \
-e UIASCRIPT '/Users/sohail/Developer/clients/acme/roadrunnerradar/ACMERoadRunnerRadarAutomationTests/TestRunner.js' \
-e UIARESULTSPATH '/Users/sohail/Developer/clients/acme/roadrunnerradar/ACMERoadRunnerRadarAutomationTests/TestResults/'
這不是用在設備上調用驗證,所以請測試它。參數排序有一些靈活性。
我確實有一個經驗證的UI Automation Runner腳本,它對Xcode 6.0.1和模擬器非常有效。
是安裝在設備上的應用程序?儀器不會自動安裝在設備上(至少現在不會)。你有'{appname}'作爲參數。你不能只指定名稱。您必須指定由Xcode構建的應用程序包的完整路徑。 Instruments使用它來找出包標識符,以便知道要在設備上啓動的應用程序。 – 2013-03-14 18:58:46
哦,這個腳本在我的演示應用程序可能會有所幫助:https://github.com/jonathanpenn/ScheduleDemo/blob/master/test_run.sh – 2013-03-14 18:59:05