Выберите устройство для запуска для calabash-ios

Как я могу выбрать, на каком устройстве запускать cucumber с calabash-ios?


person fabb    schedule 07.11.2014    source источник


Ответы (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.

person alannichols    schedule 07.11.2014
comment
Только что понял, что вы сами ответили на свой вопрос! Оставлю свой ответ, вдруг кому пригодится. - person alannichols; 07.11.2014
comment
Да, но я просто ответил на это для симуляторов. Спасибо за ваш вклад. - person fabb; 08.11.2014

Для запуска на конкретном симуляторе просто установите переменную окружения 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, установленными в файлах функций.

person fabb    schedule 07.11.2014