1

cucumberで実行するデバイスを選択するにはどうすればよいcalabash-iosですか?

4

2 に答える 2

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 エンドポイントを修正するために編集

于 2014-11-07T16:18:51.363 に答える
1

特定のシミュレーターで実行するには、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、機能ファイルで設定されていることに注意してください。

于 2014-11-07T07:03:38.323 に答える