Запуск тестов 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 предварительная документация (требуется вход в систему; см. Заголовок раздела« Выполнение сценария инструмента автоматизации из командной строки »), и у меня ничего не выскакивает, как неправильно, так как я просто ориентируюсь на симулятор.
- Мне где-то не хватает флага или переключателя.
Кто-нибудь думает?