我在项目中将Calabash安装为pod。 gem本身是使用bundler安装的。当我尝试为我的Calabash目标运行黄瓜时,第一个功能开始但只是挂起而模拟器永远不会启动:
$ bundle exec cucumber
Feature: Ensure Login and Oauth Screen Functionality
Scenario: Verify Welcome Page # features/Sign_in.feature:3
我安装的更多详情:
# xcode installation location
$ xcode-select --print-path
/Applications/Xcode.app/Contents/Developer
# xcode version
$ xcodebuild -version
Xcode 5.1.1
Build version 5B1008
# calabash version
$ bundle exec calabash-ios version
0.9.168
# calabash < 0.9.169 or Xamarin IDE users
# start your app manually in the simulator or from Xcode and then launch a console
$ bundle exec calabash-ios console
> server_version
{
"outcome" => "SUCCESS",
"app_id" => "[REDACTED]",
"simulator_device" => "iPhone",
"version" => "0.9.168",
"app_name" => "[REDACTED]",
"iphone_app_emulated_on_ipad" => false,
"4inch" => true,
"git" => {
"remote_origin" => "git@github.com:jmoody/calabash-ios-server.git",
"branch" => "master",
"revision" => "adde106"
},
"app_version" => "2.0.1",
"iOS_version" => "7.1",
"system" => "x86_64",
"simulator" => "iPhone Simulator 463.9.41, iPhone OS 7.1 (iPhone Retina (4-inch)/11D167)"
}
答案 0 :(得分:5)
好的,这意味着calabash无法找到您的应用。
先试试,
#APP_BUNDLE_PATH =
"~/..../../myApp-cal.app"
所以calabash gem可以找到app
自动。gem install calabash-cucumber
这将安装calabash gem它可以再次运行,即使你以前安装它没有任何伤害。然后在该终端输入calabash-ios setup
,这将创建一个calabash目标并将calabash框架添加到您的iOS项目中。有关设置过程的更多详细信息,请参阅here。calabash-ios console
控制台将启动一个可以使用该应用程序的ruby控制台。现在(当模拟器在你的屏幕上,但你的应用程序在该模拟器上是backbround)键入start_test_server_in_background
你的应用程序必须到达前台。如果可行的话,葫芦可以在模拟器上找到并运行你的应用程序。 答案 1 :(得分:0)
Chathura的答案适用于我的一位同事,但我们中的一些人不得不寻找另一种解决方案。
在介绍CocoaPods之后,我们遇到了这个问题。在Xcode中,我打开了Organizer,注意到我们有一个BP(在Pods之前)项目的派生数据文件夹,另一个用于具有Pods的工作区。我删除了BP项目的派生数据文件夹,然后一切正常。
在这之前我已经重新设置了calabash,所以我的案例中的解决方案可能是Chathura的答案和我的答案。