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

Test / Unitには、ARGVの値をどのように処理するかについてのロジックがあるようですが、チェックしている値は正確にはわかりません。ただし、引数をよりパラメータのようにすると、テスト/ユニットによって無視され、テストを実行する必要があります。

コマンドラインから次のコマンドを実行してみてください(コードを変更する必要はありません)。

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