- PVSM.RU - https://www.pvsm.ru -
В пятой версии XCode появился Continuous Integration. Он работает через XCode службу OS X Server ($20, AppStore [1]).
XCode Service умеет все тоже что и любой Continuous Integration сервер, возможно чуть меньше. Огромный плюс — полная интеграция с XCode и свойственная Apple «работа из коробки». Я запустил авто-сборку проекта за полчаса, хотя раньше ни разу не настраивал CI сервер. И не нужно курить мануалы как правильно собирать приложение из командной строки, как включить эмулятор или запустить тесты на устройстве.
XCode Service работу по автоматизации выполняют боты [2]. Бот
Сборка проекта запускается по времени, вручную или после каждого коммита.
Подробная инструкция по установке на сайте Apple [4].
Настройка занимает 30 минут. Очень порадовало, что все работает из коробки и интегрировано. Юнит-тесты и боты создаются в XCode, там же красивые отчеты о выполнении тестов и сборки.
И пара полезный рецептов.
В пункте Archive схемы добавляем примерно такой Post-Action
curl http://testflightapp.com/api/builds.json
-F file=${BUILD_ROOT}/Debug-iphoneos/${FULL_PRODUCT_NAME}
-F api_token='your_api_token'
-F team_token='your_team_token'
-F notes='This build was uploaded via the upload API'
-F notify=True
-F distribution_lists='Internal, QA'
К сожалению, автоматизированное тестирование UI через стандартный UIAutomation [5] нельзя запустить на build-сервере (ладно, вообще можно [6], но java script и его глюки сводят на нет преимущества).
Попробуем наладить UI-тестирование через KIF [7]
Автор: junk
Источник [9]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/ios/47065
Ссылки в тексте:
[1] AppStore: https://itunes.apple.com/us/app/os-x-server/id714547929?mt=12
[2] боты: https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/xcode_guide-continuous_integration/ConfigureBots/ConfigureBots.html#//apple_ref/doc/uid/TP40013292-CH9-SW1
[3] схемы: https://developer.apple.com/library/ios/recipes/xcode_help-scheme_editor/Articles/SchemeManage.html
[4] на сайте Apple: https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/xcode_guide-continuous_integration/000-About_Continuous_Integration/about_continuous_integration.html
[5] UIAutomation: https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/UsingtheAutomationInstrument/UsingtheAutomationInstrument.html
[6] можно: http://stackoverflow.com/questions/4191945/can-the-ui-automation-instrument-be-run-from-the-command-line
[7] KIF: https://github.com/kif-framework/KIF
[8] хабра-блог: http://habrahabr.ru/company/touchinstinct/
[9] Источник: http://habrahabr.ru/post/199110/
Нажмите здесь для печати.