【发布时间】:2015-09-01 14:03:13
【问题描述】:
目前我正在开发一个应该能够在本地和酱汁实验室运行的环境,但我遇到了以下问题:
当使用 Cucumber 时,需要使用标签“@selenium”来将酱汁与并行测试集成。然而,这个标签也强制测试在酱汁实验室运行(我希望能够在酱汁和本地之间切换)。有没有办法可以使用环境变量或标签来改变这种行为?
操作系统:OSX 优胜美地 测试堆栈:Ruby、Capybara、Cucumber、Rake。
注意:如果没有 Selenium 标签,我可以同时运行酱汁实验室和本地以进行单次测试运行或顺序所有测试运行。我是红宝石/水豚/黄瓜的新手,因此非常感谢任何一般提示)
适用于单个特征和黄瓜特征的方法:
if (ENV["RUN_ON_SAUCE"] == "true")
puts('TRUE: ENV["RUN_ON_SAUCE"] = ' + ENV["RUN_ON_SAUCE"])
Capybara.default_driver = :sauce
Capybara.javascript_driver = :sauce
else
puts('FALSE: ENV["RUN_ON_SAUCE"] = ' + ENV["RUN_ON_SAUCE"])
Capybara.default_driver = :selenium
Capybara.javascript_driver = :selenium
end
【问题讨论】: