无法通过测试单元(ruby)传递ARGV
我正在用watir webdriver运行自动化测试。 我无法通过测试单元传递命令行参数ARGV,我得到一个ArgumentError无法通过测试单元(ruby)传递ARGV,ruby,watir-webdriver,testunit,Ruby,Watir Webdriver,Testunit,我正在用watir webdriver运行自动化测试。 我无法通过测试单元传递命令行参数ARGV,我得到一个ArgumentError require 'rubygems' require 'watir-webdriver' require 'test/unit' ARGV.each do |arg| if arg.downcase.include? 'chrome' $browser = 'chrome' elsif arg.do
require 'rubygems'
require 'watir-webdriver'
require 'test/unit'
ARGV.each do |arg|
if arg.downcase.include? 'chrome'
$browser = 'chrome'
elsif arg.downcase.include? 'firefox'
$browser = 'firefox'
elsif arg.downcase.include? 'ff'
$browser = 'firefox'
elsif arg.downcase.include? 'ie'
$browser = 'ie'
end
end
class TEST_SITE < Test::Unit::TestCase
def setup
if $browser == 'chrome'
$b = Watir::Browser.new :chrome
elsif $browser == 'firefox'
$b = Watir::Browser.new :ff
elsif $browser == 'ie'
$b = Watir::Browser.new :ie
end
end
end
需要“rubygems”
需要“watir webdriver”
需要“测试/单元”
ARGV.每个do | arg|
如果arg.downcase.include?“铬'
$browser='chrome'
elsif arg.downcase.include?”firefox'
$browser='firefox'
elsif arg.downcase.include?”ff'
$browser='firefox'
elsif arg.downcase.include?”ie'
$browser='ie'
结束
结束
类测试\u站点
是否有其他选项或以某种方式重写test unit类?test/unit似乎有关于如何处理ARGV中的值的逻辑,但并不确切确定它正在检查哪些值。但是,如果您使参数更像参数,它们将被Test/Unit忽略,您的测试应该运行 尝试从命令行运行以下命令(不需要更改代码):
你的代码对我有用。我使用“ruby filename.rb ff”等命令调用它。我通过命令行“ruby filename.rb chrome”调用它@JustinKo,您是否也包含了所需的文件?我将上面的代码复制到一个文件中,然后在命令提示符下运行它。你能添加你看到的完整异常吗?我得到以下错误:C:/Ruby193/lib/ruby/1.9.1/test/unit.rb:167:in`block in non_options':file not found:ff(ArgumentError)Ah。对不起,我使用的是Ruby 1.8.7,它没有这个问题。当我使用Ruby 1.9.3时,我现在看到了您的问题。
ruby filename.rb -browser=ff