Тестовый вызов 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