cucumber
で実行するデバイスを選択するにはどうすればよい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 を使用すると、アプリが開きます (デバイスに既にインストールされている必要があります)。
ひょうたんが開くアプリを認識できるように、バンドル ID を設定する必要があります。DEVICE_ENDPOINT をデバイスの Wi-Fi アドレスに設定する必要があります。これにより、calabash は、アプリが開いたときにアプリと対話する方法を認識できます。
シミュレーターでひょうたんを実行したい場合は、fabbの答えがそれをカバーするはずです。
@jmoody からのコメントに従って、http エンドポイントを修正するために編集
特定のシミュレーターで実行するには、DEVICE_TARGET
起動時に環境変数を設定するだけcucumber
です。
instruments -s devices
利用可能なデバイスを見つけるには、ターミナルで実行できます。
私のプロジェクトではcucumber
、iPad 用と iPhone 用の 2 回実行します。私は次のようにします:
#!/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
、機能ファイルで設定されていることに注意してください。