2

我正在使用 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.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

是否有另一种选择或以某种方式覆盖测试单元类?

4

1 回答 1

1

测试/单元似乎有关于它如何处理 ARGV 中的值的逻辑,尽管不完全确定它正在检查什么值。但是,如果你让你的参数更像参数,它们会被测试/单元忽略,你的测试应该运行。

尝试从命令行运行以下命令(您不需要更改代码):

ruby filename.rb -browser=ff
于 2012-07-10T21:32:17.783 回答