2

「http://subdomain.domain.au:CURRENT_PORT_NUMBER/」のようなURLに含める必要があるサーバーポートを取得するために、すべてのテストの前にCapybaraサーバーを実行しようとしています。

# I create new session:
session = Capybara::Session.new(:selenium)
# then I start browser
session.driver.browser
# And try to get port number like some folks suggested
Capybara.current_session.driver.rack_server.port # => nil
# And get nil

私の意見では、ブラウザが起動したときにポート番号が必要です。それとも私が間違っていますか?すべてのリクエストに対してポート番号をハードコードする必要はありません。自分のアプリケーションにアクセスするためのポートを取得する方法を誰か提案できますか?

私がブラウザを理解している限り、それは別のプロセスであり、ローカルサーバーなしで開始できます。これは、ネットワーク経由でサーバーにクエリを実行する場合にのみ意味があります。「selenium」テストの開始時にラック サーバーを実行するメカニズムが必要です。ではない?

4

1 に答える 1

0

Capybara.default_portポートの取得/設定に使用できます。

于 2012-07-11T06:08:33.290 に答える