Интегрировать калебас в андроид Дженкинс
Я разработал тест с использованием Calabash-Android. Все работает так, как должно. Теперь я хочу запустить сценарии в Дженкинс.
1) Какой плагин я должен установить в Jenkins?
2) Как запустить тест? В настоящее время я использую команду: запустить Calabash-Android, я не добился другого пути.
3) Что мне дополнительно установить на сервере?
1 ответ
- устанавливать
Android Emulator plugin
, Вам нужно виртуальное устройство для запуска ваших тестов. - устанавливать
Rake
а такжеRVM
плагины, как описано здесь. Тебе нужноruby
установлен вjenkins
чтобы запустить ваши тесты, используяcalabash-android
драгоценный камень. - Создайте
shell script
вjenkins
и установитьBundler
, добавлять
gemfile
к вашей рабочей области и укажите необходимые драгоценные камни. В нашем случае нам нужноcalabash-android
перл:# A sample Gemfile source "https://rubygems.org" # gem "rails" gem "calabash-android", "0.5.12"
Бежать
bundle install
вjenkins
используя сценарий оболочки. Это установитcalabash-android
драгоценный камень.Запустите ваши тесты из папки, которая содержит
gemfile
с 4-го шага. В этот момент вы должны иметьbundler
а такжеcalabash-android
установлен вjenkins
,bundle exec calabash-android run "PATH_TO_APK" ADB_DEVICE_ARG=${ANDROID_AVD_DEVICE}
${ANDROID_AVD_DEVICE}
- имя эмулятора, предоставленноеAndroid Emulator plugin
,Вам также может понадобиться
Cucumber reports plugin
а такжеCucumber test results plugin
,
Обновление: скриншоты из Jenkins
Работа и сценарий оболочки.
- Конфигурация эмулятора Android для 1-го шага
- Рубиновая среда для 2-й ступени
- Сценарий оболочки для 6-го шага
- Отчеты об испытаниях огурцов за 7 этап
- Огурец + структура проекта калебас.
calabash
папка находится в корневой папкеAndroid
проект.
Cucumber.yml
Файл содержит различные настройки, связанные с огурцом. Особенно там указаны указанные функции для платформы. И можно выбрать платформу, используя параметр"-p android"
или же"-p ios"
,
.calabash_settings
содержит информацию оkeystore
используется для.apk
подписание во время сборки.Calabash
нужно то же самоеkeystore
дляtest_server
подписание.
Скрипт run_android_features:
cd ..
PARAMS="-p android"
while getopts ":rd:" OPTION; do
case $OPTION in
r)
PARAMS=$PARAMS" --format json -o cucumber.json"
;;
d)
PARAMS=$PARAMS" ADB_DEVICE_ARG=$OPTARG"
;;
[?]) echo "Usage: $0 [-r] [-d DEVICE_ID].\n -r: should create reports.\n DEVICE_ID: where to run tests."
exit 1;;
esac
done
# clear old files
rm -rf screenshot*
rm -rf test_servers
# resign apk
bundle exec calabash-android build "../app/build/outputs/apk/app-debug.apk"
# run tests
bundle exec calabash-android run "../app/build/outputs/apk/app-debug.apk" $PARAMS