Mac, тестирование автоматизации iOS из терминала с использованием instruments.app - PullRequest
1 голос
/ 16 ноября 2011

Я запускаю тест iOS UIAutomation из командной строки, используя следующую команду:

instruments -t /Developer/Platforms/iPhoneOS.platform/Developer/Library/Instruments/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate /Users/ctester/Library/Developer/Xcode/DerivedData/TestView-acwgjlejvnjkqietyevgfnsjngpd/Build/Products/Debug-iphonesimulator/TestView.app -e UIASCRIPT ta.js -e UIARESULTSPATH .

TestView.app успешно запущен в симуляторе, однако скрипт не запустится.

Я попытался указать несуществующий скрипт, об ошибках не сообщалось.Поэтому я думаю, аргумент -e UIASCRIPT ta.js ... игнорируется.

Версия команды instruments на моем ноутбуке:

instruments, version 1.0
usage: instruments [-t template] [-D document] [-l timeLimit] [-i #] [-w device] [[-p pid] | [application [-e variable value] [argument ...]]]

имеет ли значение?ta.js отлично работает в instruments.app (GUI).

Спасибо.

1 Ответ

0 голосов
/ 22 ноября 2011

Есть несколько вещей, которые инструментам нравится меньше, чем пробелам в дорожках. Если у вас есть пробелы на любом пути, избегайте их. Использование кавычек не работает надежно. В то время как инструменты могут запускаться, затем они заполняют пробелы в процессе запуска.

Дайте инструментам абсолютный путь к ta.js и избегайте его. Пример:

find ${PWD} -name ta.js -exec echo {} \; | sed 's/ /\\ /g'

Сед бит ускользает от пути вашего найденного ta.js.

Вы можете попробовать: instruments -t /Developer/Platforms/iPhoneOS.platform/Developer/Library/Instruments/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate /Users/ctester/Library/Developer/Xcode/DerivedData/TestView-acwgjlejvnjkqietyevgfnsjngpd/Build/Products/Debug-iphonesimulator/TestView.app -e UIASCRIPT ``find ${PWD} -name ta.js -exec echo {} \; | sed 's/ /\\ /g'`` -e UIARESULTSPATH .

Но замените двойные обратные отметки одинарными обратными отметками. `является зарезервированным символом в SO формате: (

...