如何使用cucumber
选择要运行calabash-ios
的设备?
答案 0 :(得分: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
这将打开calabash控制台。使用命令start_test_server_in_background将打开应用程序(必须已在您的设备上安装)。
您需要设置包ID,以便calabash知道要打开哪个应用。您需要将DEVICE_ENDPOINT设置为设备的wifi地址,以便calabash知道在应用程序打开后如何与应用程序进行交互。
如果你想在模拟器上运行calabash,那么fabb的答案应该涵盖它。
根据来自@jmoody的评论修改http端点
答案 1 :(得分:1)
要在特定模拟器上运行,只需在启动DEVICE_TARGET
时设置cucumber
env var。
要找出哪些设备可用,您可以在终端中执行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
。