黄瓜红宝石 - 在cucumber.yml配置文件中的空间ENV变量

时间:2017-02-08 17:02:36

标签: ruby cucumber environment-variables browserstack

我使用ruby编写黄瓜测试脚本,并在定义一些变量时遇到问题。

我需要在iPhone 6设备上运行测试,所以我将以下(BrowserStack)定义添加到我的黄瓜env.rb文件中;

capabilities['device'] = ENV['MOBILE_DEVICE']

以下配置文件进入我的cucumber.yml文件;

bsmobile: BROWSER_NAME=iPhone PLATFORM=MAC MOBILE_DEVICE='iPhone 6'

然而,当我在Windows上运行它时,它不允许“MOBILE_DEVICE”中的空格。 ENV。

我已经尝试过了;

MOBILE_DEVICE="iPhone 6"
"MOBILE_DEVICE=iPhone 6"
MOBILE_DEVICE="'iPhone 6'"
MOBILE_DEVICE='iPhone\ 6'
MOBILE_DEVICE=iPhone\ 6

但似乎都没有效果。

我错过了一些明显的东西吗?

任何帮助都会很棒。

2 个答案:

答案 0 :(得分:0)

我相信你可以将设备作为iPhone6传递一个空格。这同样适用于iPhone6S和其他移动模拟器。你有没试过这个?

答案 1 :(得分:0)

答案可在line 34 of the cucumber gem file profile_loader.rb找到:

args_from_yml = Shellwords.shellwords(args_from_yml)

从这里我们可以测试看看irb中有什么用,经过一些实验我们发现了这个:

Shellwords.shellwords("xxx yyy zzz=\'aaa bbb\'")
=> ["xxx", "yyy", "zzz=aaa bbb"]

因此,您的问题的解决方案应该是:

MOBILE_DEVICE='iPhone 6'
相关问题