2014-01-06 2 views
0

webdriver 테스트를 여러 서버에 적용해야합니다. 내 솔루션 명령 행 매개 변수에 전달했지만optparse ruby에서 웹 서버용 대상 서버 설정

루비 webdriver/E2E/*. RB -s = localhost를

또는

루비 webdriver 사용하여 아래의 코드를 실행할 때 /e2e/*.rb --server = localhost

그러나 다음 오류가 발생합니다. 나는

opts.on('-serv', '--server server', 'Server to run tests against') do|server| 

opts.on('-s', '--server server', 'Server to run tests against') do|server| 

을 변경

C:/Ruby193/lib/ruby/1.9.1/test/unit.rb:49:in `process_args': invalid argument: -s=localhost (OptionParser::InvalidArgument) 
    from C:/Ruby193/lib/ruby/1.9.1/minitest/unit.rb:891:in `_run' 
    from C:/Ruby193/lib/ruby/1.9.1/minitest/unit.rb:884:in `run' 
    from C:/Ruby193/lib/ruby/1.9.1/test/unit.rb:21:in `run' 
    from C:/Ruby193/lib/ruby/1.9.1/test/unit.rb:326:in `block (2 levels) in autorun' 
    from C:/Ruby193/lib/ruby/1.9.1/test/unit.rb:27:in `run_once' 
    from C:/Ruby193/lib/ruby/1.9.1/test/unit.rb:325:in `block in autorun' 

test.rb

require 'test/unit' 
require 'optparse' 

class SuperTestClass < Test::Unit::TestCase 
    def setup 
     @server = "https://localhost/" 
     optparse = OptionParser.new do|opts|    
      opts.on('-s', '--server server', 'Server to run tests against') do|server| 
       @server = server 
      end 
     end 

     ... 
    end 
    ... 
end 

UPDATE

다음과 같은 오류를 얻을

하지만 난 내 이론을 증명할 수 있도록이

답변

0

테스트에서 매개 변수를 사용할 수 있다고 생각하지 않습니다. 나는 env paramters를 설정하기 위해 갈퀴질을 사용하여 끝났다.

task :selenium,[:env,:type] do |t, args| 
    args.with_defaults :env => 'local',:type => 'all' 

    case args.env 
     when 'local' 
      ENV['URL'] = 'localhost' 
      ... 
    end 

    puts 
    puts '****Running '+args.type+' tests on: '+ ENV['URL'] 
    puts 

    Rake::Task[args.type].execute 
end 
0

불행하게도 내가 문서를 찾을 수 없습니다 해결되지 않았다,하지만 난 짧은 -s 옵션은 이미 다른 무언가를 위해 예약되어 있다고 생각합니다.

짧은 인수를 다른 것으로 변경하고 다시 시도해보십시오.