2011-10-20 16 views
3

キュウリ試験中にレールアプリが動作しているポートをテストで取得する方法はありますか?私はCapybara.server_portを試しましたが、それはゼロです。キュウリ試験を実行するときのRailsアプリのポート

ありがとうございました。

+0

[キュウリ/カピバラの可能な複製 - 現在の実行のホストとポートを取得する方法](http://stackoverflow.com/questions/6791601/cucumber-capybara-how-to-the-host-host現在実行中のポート) –

+0

[インスタンスが実行されているローカルポートを見つけるにはどうすればいいですか?](http://stackoverflow.com/questions/1554267/how-to-find -the-local-port-a-rails-instance-is-running-on) –

答えて

5

WebKitのドライバを歌う、それは上で見つけることができます:

Capybara.current_session.driver.server_port 

代替、あなたは既知の値に

Capybara.server_port 

を設定し、それを使用することができます。

3

私が理解しているところは、デフォルトのCapybaraドライバであるラックテストを使用している場合、リクエストを行うために実際に稼働しているWebサーバーは実際にはありません。

あなたはキュウリ/カピバラは、その後、あなたが選択したポート上で手動で起動する必要があるだろうと同じようにアプリを表示したい場合:

$ RAILS_ENV=test rails s -p 4000 

そしてenv.rbにこのような何かを持っています:

Capybara.current_session.driver.rack_server.port 

及びU:セレンのドライバを使用する場合、ポート上で見つけることができる

Capybara.configure do |config| 
    config.run_server = false 
    config.app_host = "http://localhost:4000" 
end 
関連する問題