Как я могу выбрать, на каком устройстве запускать cucumber
с calabash-ios
?
Выберите устройство для запуска для calabash-ios
Ответы (2)
Если вы хотите запустить calabash-ios на реальных устройствах, вам нужно установить пару переменных среды.
BUNDLE_ID=com.bundle.id.for.your.app DEVICE_ENDPOINT=http://192.168.1.111:37265 calabash-ios console your_app.ipa
это откроет консоль калебаса. С помощью команды start_test_server_in_background откроется приложение (которое уже должно быть установлено на вашем устройстве).
Вам нужно установить идентификатор пакета, чтобы Calabash знал, какое приложение открывать. Вам нужно установить DEVICE_ENDPOINT на адрес Wi-Fi устройства, чтобы Calabash знал, как взаимодействовать с приложением после его открытия.
Если вы хотите запустить калебас на симуляторе, ответ fabb должен охватывать его.
Отредактировано, чтобы исправить конечную точку http согласно комментарию @jmoody.
Для запуска на конкретном симуляторе просто установите переменную окружения DEVICE_TARGET
при запуске cucumber
.
Чтобы узнать, какие устройства доступны, вы можете выполнить instruments -s devices
в терминале.
В моем проекте я запускаю cucumber
дважды, один раз для iPad и один раз для iPhone. Я делаю это следующим образом:
#!/bin/bash
set -x
cd ${0%/*}/..
: ${APP_BUNDLE_PATH:?"Need to set APP_BUNDLE_PATH"}
export DEBUG=1
SCREENSHOT_PATH_IPHONE=`pwd`/calabash_screenshots/iphone/
SCREENSHOT_PATH_IPAD=`pwd`/calabash_screenshots/ipad/
mkdir -p ${SCREENSHOT_PATH_IPHONE}
mkdir -p ${SCREENSHOT_PATH_IPAD}
export RESET_BETWEEN_SCENARIOS=1
SCREENSHOT_PATH=${SCREENSHOT_PATH_IPHONE} DEVICE_TARGET="iPhone 6 (8.1 Simulator)" bundle exec cucumber --tags @ios_phone -p ios
SCREENSHOT_PATH=${SCREENSHOT_PATH_IPAD} DEVICE_TARGET="iPad Retina (8.1 Simulator)" bundle exec cucumber --tags @ios_tablet -p ios
Обратите внимание, что это зависит от cucumber.yml. и в соответствии с тегами @ios_phone
и @ios_tablet
, установленными в файлах функций.