iOS UIAавтоматизация из командной строки - PullRequest
1 голос
/ 14 февраля 2012

У меня проблема с пониманием того, как это работает.Я хочу запустить свой тест на устройстве, поэтому у меня есть команды

instruments -w [...] -t /Developer/Platforms/iPhoneOS.platform/Developer/Library/Instruments/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate /Users/lazarenok/Default/Shasta/iOS/Shasta/Shasta.xcodeproj -e UIASCRIPT /Users/lazarenok/Desktop/SignInAndOut.js -e UIARESULTSPATH /Users/lazarenok/Desktop/1

Итак, [...] - это идентификатор устройства, /Users/lazarenok/Default/Shasta/iOS/Shasta/Shasta.xcodeproj - путь к приложению.

Но, наверное, так не должно быть?Как я могу найти путь для моего приложения, например .app?Или мой путь правильный?А какой должна быть UIARESULTSPATH?Где сохраняются результаты?

Ответы [ 2 ]

0 голосов
/ 21 сентября 2014

В 2014 году с Xcode 6.0.1 вы бы сделали что-то подобное для симулятора, назвав ваш симулятор после ключа -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 и симулятора.

0 голосов
/ 25 июня 2012

Для пути к приложению вы использовали путь к вашему файлу .xcodeproj.Это не должно быть так.Вместо этого вы должны использовать путь к вашему файлу .app.Файл .app обычно создается xcode при сборке приложения с использованием xcode.Чтобы найти это, перейдите по ссылке: /Users/<username_with_which_you_are_currently_logged_in>/Library/Application Support/iPhone Simulator Затем перейдите в папку, соответствующую версии используемого имитатора, а затем перейдите к Applications.Здесь вы найдете несколько папок с загадочными именами.Каждая из этих папок соответствует приложениям, которые вы установили в симуляторе.Выберите приложение, соответствующее приложению, которое вы автоматизируете, и внутри вы найдете файл .app.

Что касается UIARESULTSPATH, это может быть путь к любой папке, в которой вы хотите сохранить результаты теста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...