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 将打开应用程序(必须已经安装在您的设备上)。

您需要设置 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 回答