From d9d9cc1fccca18a3cc10dfc6ddb98b7f69a32471 Mon Sep 17 00:00:00 2001 From: lukemelia Date: Mon, 18 Jan 2010 09:47:32 -0500 Subject: [PATCH] Added application_port_for_selenium to webrat configuration. The use case is when you want to test through a web server sitting in front of your application server. --- History.txt | 4 ++++ lib/webrat/core/configuration.rb | 9 ++++++++- lib/webrat/selenium/selenium_session.rb | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/History.txt b/History.txt index 9b3d12d..f861147 100644 --- a/History.txt +++ b/History.txt @@ -1,3 +1,7 @@ +* Minor enhancements + + * Added application_port_for_selenium to webrat configuration. The use case is when you want to test through a web server sitting in front of your application server. (Luke Melia) + == 0.7.0 / 2010-01-17 * Major enhancements diff --git a/lib/webrat/core/configuration.rb b/lib/webrat/core/configuration.rb index 29c9e81..619ef7b 100755 --- a/lib/webrat/core/configuration.rb +++ b/lib/webrat/core/configuration.rb @@ -40,6 +40,13 @@ module Webrat webrat_deprecate :selenium_port, :application_port webrat_deprecate :selenium_port=, :application_port= + # Which port should selenium use to access the application. Defaults to application_port + attr_writer :application_port_for_selenium + + def application_port_for_selenium + @application_port_for_selenium || self.application_port + end + # Which underlying app framework we're testing with selenium attr_accessor :application_framework @@ -76,7 +83,7 @@ module Webrat tmp_dir = Pathname.new(Dir.pwd).join("tmp") self.saved_pages_dir = tmp_dir.exist? ? tmp_dir : Dir.pwd end - + def open_error_files? #:nodoc: @open_error_files ? true : false end diff --git a/lib/webrat/selenium/selenium_session.rb b/lib/webrat/selenium/selenium_session.rb index 53d6016..8db30fa 100644 --- a/lib/webrat/selenium/selenium_session.rb +++ b/lib/webrat/selenium/selenium_session.rb @@ -232,7 +232,7 @@ EOS def create_browser $browser = ::Selenium::Client::Driver.new(Webrat.configuration.selenium_server_address || "localhost", - Webrat.configuration.selenium_server_port, Webrat.configuration.selenium_browser_key, "http://#{Webrat.configuration.application_address}:#{Webrat.configuration.application_port}") + Webrat.configuration.selenium_server_port, Webrat.configuration.selenium_browser_key, "http://#{Webrat.configuration.application_address}:#{Webrat.configuration.application_port_for_selenium}") $browser.set_speed(0) unless Webrat.configuration.selenium_server_address at_exit do