0

次のようなさまざまなコマンドで構成されるスクリプトを実行しようとしています。

1) システム「bundle exec rails s -e test -d」

2) システム "bundle exec selenium-rc"

3) システム "bundle exec rspec test/selenium/*_sel.rb"

1行目でサーバーが実行され、コンソールの制御が戻されます。しかし、行2の実行後、セレンサーバーは実行されますが、行3が実行されないため、コンソールの制御は戻されません。

したがって、私の質問は、3 つのコマンドすべてを同時に実行する方法です。

4

1 に答える 1

0

2行目ではなく、いくつかの調査で解決策を見つけました。現在、次のコードを使用してセレンサーバーを実行しています。

require 'selenium/rake/tasks'
JAR_FILE_PATTERN = "vendor/selenium-remote-control/selenium-server-*.jar"    
@port = 4444      
@jar_file = "YOUR_PROJECT_PATH/vendor/selenium-server-standalone-2.28.0.jar"   
@background = true   
@timeout_in_seconds = 3 * 60   
@wait_until_up_and_running = true  
@additional_args = []  
@additional_args << "-singleWindow"   

raise "Could not find jar file '#{@jar_file}'. Expected it under     #{JAR_FILE_PATTERN}"      unless @jar_file && File.exists?(@jar_file)    
remote_control = Selenium::RemoteControl::RemoteControl.new("0.0.0.0", @port, :timeout => @timeout_in_seconds)   
remote_control.jar_file = @jar_file    
remote_control.additional_args = @additional_args   
remote_control.log_to = @log_to   
remote_control.start :background => true       
if @background && @wait_until_up_and_running       
  TCPSocket.wait_for_service :host => @host, :port => @port     
end      

3)#3行目がここに来る

4)remote_control.stop#この行はサーバーを停止します

于 2013-02-19T07:09:20.800 に答える