Тестовый вызов UIAutomation из командной строки с Xcode 6

Запуск тестов UIAutomation из командной строки, кажется, часто ломается с новыми выпусками XCode (судя по прошлым сообщениям). Никогда не использовав для этого сценариев командной строки, я нашел этот пост 2012 года: инструмент автоматизации из командной строки.

Проблема: Моя команда возвращается без ошибок, без результатов вывода и без чего-либо зарегистрированного в системную консоль. Симулятор даже не запускается!

Проверяя некоторые пути для обновлений (в частности, путь инструмента трассировки автоматизации), я придумал эту команду. Обратите внимание на путь в первом параметре (он отличается от предыдущих выпусков Xcode):

instruments -t "/Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate"         
"/Users/sohail/Library/Developer/CoreSimulator/Devices/7232A640-A9D2-4626-A2AD-37AFFF706718/data/Containers/Bundle/Application/D07FEC4B-76AD-4844-8362-08E771B81053/MyAppName.app"
-e UIASCRIPT  "/Users/sohail/source/MyAppName/MyAppNameAutomationTests/TestRunner.js" 
-e UIARESULTSPATH "Users/sohail/source/MyAppName/MyAppNameAutomationTests/TestResults"

Это может быть легче прочитать, выбрав "сырой" из этой сути.

Конечно:

  • Я подтвердил, что путь, указанный в моем.app действительно существует; он возник после успешной сборки и запуска.
  • Я подтвердил, что в моей указанной выходной папке ("TestResults"), что на самом деле ничего не было зарегистрировано.
  • Я подтвердил, что вышеупомянутое TestRunner.js указанный файл может быть найден по указанному пути и успешно запускается в Automation Instrument в интерактивном режиме с приложением Instruments.
  • Я проверил предварительную документацию Apple Xcode6/iOS8 (требуется вход в систему; см. Заголовок раздела, "Выполнение скрипта инструмента автоматизации из командной строки"), и ничего не показалось мне неправильным, поскольку я просто нацелен на симулятор,
Мое подозрение
  • Мне не хватает какого-то флага или переключателя где-то.

Мысли кто-нибудь?

1 ответ

Решение

Я увидел точно такую ​​же проблему, после явно предоставленного параметра -w $DEVICE мои тесты наконец-то начались

instruments -t /Applications/Xcode6.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate 
-w "iPhone 5s (8.0 Simulator)" /path/to/my/TestApp.app -e UIASCRIPT /tmp/script.js -e UIARESULTSPATH /tmp
Другие вопросы по тегам