Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法通过测试单元(ruby)传递ARGV_Ruby_Watir Webdriver_Testunit - Fatal编程技术网

无法通过测试单元(ruby)传递ARGV

无法通过测试单元(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

我正在用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
需要“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