如何选择在哪个设备上cucumber
运行calabash-ios
?
问问题
1624 次
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 将打开应用程序(必须已经安装在您的设备上)。
您需要设置 bundle id 以便 calabash 知道要打开哪个应用程序。您需要将 DEVICE_ENDPOINT 设置为设备的 wifi 地址,以便 calabash 在应用程序打开后知道如何与应用程序交互。
如果您想在模拟器上运行葫芦,那么 fabb 的答案应该涵盖它。
根据@jmoody 的评论,编辑以修复 http 端点
于 2014-11-07T16:18:51.363 回答
1
要在特定模拟器上运行,只需DEVICE_TARGET
在启动时设置 env var 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
在功能文件中设置。
于 2014-11-07T07:03:38.323 回答