运行命令黄瓜版失败,

时间:2018-01-18 15:35:04

标签: android automated-tests cucumber calabash-android

我尝试使用cucumber / calabash-android,但我面临一个问题无法激活calabash-android-0.9.2,因为json-2.1.0与json(〜> 1.8)冲突? ,我试图取消使用cucmber并安装它。enter image description here

2 个答案:

答案 0 :(得分:0)

Calabash Android和iOS不支持json 2.1 - 它们被固定到json 1.8。

如果你的ruby不支持json 1.8,你应该降级到ruby 2.3.x。

答案 1 :(得分:0)

使用Calabash gem的最推荐的Ruby版本仍然是v2.3.1。如我所见,你使用rbenv。这很好,安装该版本并设置为全局默认值:

rbenv install 2.3.1
rbenv global 2.3.1
eval "$(rbenv init -)"

使用bundler确定要在Ruby项目中使用的gem版本。安装bundler:

gem install bundler

使用以下内容制作Gemfile
(您也可以使用bundler init命令创建骨架。)

source "https://rubygems.org"

gem 'calabash-android', '~> 0.9.2'
gem 'calabash-cucumber', '~> 0.21.4'
gem 'cucumber', '~> 2.4'
gem 'json', '~> 1.8.6', '< 2.0'

使用bundler安装指定的gem(如果更改Gemfile,则必须再次运行):

bundle install

使用此配置运行Ruby项目:

bundle exec calabash-android run myApp.apk

Gemfile的小解释:

  • ~>关系仅允许轻微更新
  • >=表示您也会获得重大更新
  • 或者您可以准确定义版本:gem 'json', '1.8.6'

json 1.8.6是适用于我的最新版本。

https://rubygems.org/gems/json/versions