我有一个简单的 watir(网络驱动程序)脚本,它可以转到谷歌。但是,我想使用选项解析器在 cmd 中设置一个参数来选择浏览器。下面是我的脚本:
require 'optparse'
require 'commandline/optionparser'
include CommandLine
require 'watir-webdriver'
describe 'Test google website' do
before :all do
options = {}
opts = OptionParser.new do |opts|
opts.on("--browser N",
"Browser to execute test scripts") do |n|
options[:browser] = n
$b = n.to_s
end
end
opts.parse! ARGV
p options
end
describe 'The test website should be displayed' do
it 'should go to google' do
$ie = Watir::Browser.new($b)
#go to test website
$ie.goto("www.google.com")
end
end
end
执行 rspec ietest.rb --browser firefox -f doc 只是给我无效的选项,ietest 是我的文件的名称。欢迎任何其他通过 Web 驱动程序设置浏览器而不更改脚本代码的直观方法。
最佳答案
您不能将 rspec 与 OptionParser
一起使用,因为 rspec 可执行文件本身会解析自己的选项。您不能在 rspec 选项上“搭载”您的选项。
如果您必须这样做,请使用设置文件(spec_config.yml
或类似文件),或使用环境变量:
BROWSER=firefox spec test_something.rb
然后在您的代码中,您可以使用 ENV['BROWSER']
来检索设置。
关于ruby - 无法使用 OptionParser 和 rspec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7077026/