def open_browser_by_selenium(options = {})
        # puts "[DEBUG] [SeleniumDriver] Callling open_browser #{options.inspect}"

        begin
          support_unicode
        rescue => e
          puts "Unicode may not work in IE, #{e}"
        end

  			if options && options.class == String
  			  options = {:base_url => options.to_s }
  			end

  			if options && options.class == Hash && options[:base_url]
        	base_url ||= options[:base_url]
  			end

  			base_url = options[:base_url] rescue nil  
  			base_url ||= $TESTWISE_PROJECT_BASE_URL			
        base_url ||= $BASE_URL
        base_url ||= options[:url]
        
        raise "base_url must be set" if base_url.nil?

        default_options = {:speed => "fast",
          :visible => true,
          :highlight_colour => 'yellow',
          :close_others => true,
          :start_new => true, # start a new browser always
          :go => true }

        options = default_options.merge options

        if $TESTWISE_BROWSER
          options[:browser] = $TESTWISE_BROWSER.downcase
        end

        if (RUBY_PLATFORM =~ /darwin/ || RUBY_PLATFORM =~ /linux/) && 
            (options[:browser].nil? || options[:browser].to_s == "ie")
          options[:browser] = "firefox"          
        end
        
        if base_url =~ /^file:/
          uri_base = base_url
        else
          uri = URI.parse(base_url)
          uri_base = "#{uri.scheme}://#{uri.host}:#{uri.port}"
        end

        puts "[DEBUG] Starting a new browser #{uri_base} with options: #{options.inspect}"
        if options[:start_new]
          # puts "[DEBUG] [SeleniumBrowser] creating a new browser"
          @web_browser = WebBrowser.new(uri_base, nil, options)
          # puts "[DEBUG] [SeleniumBrowser] browser: #{@web_browser.inspect}"
        else
          @web_browser = WebBrowser.reuse(uri_base, options) # Reuse existing browser
        end
					
        if base_url =~ /^file:/
          goto_url(base_url) # for files, no base url
        else
          (uri.path.length == 0) ? begin_at(base_url) : begin_at(uri.path) if options[:go]
        end

				# remembering browser handle for debugging need
				$browser = @web_browser				
		
        return @web_browser
      end
def open_browser_by_selenium(options = {})
        # puts "[DEBUG] [SeleniumDriver] Callling open_browser #{options.inspect}"

        begin
          support_unicode
        rescue => e
          puts "Unicode may not work in IE, #{e}"
        end

  			if options && options.class == String
  			  options = {:base_url => options.to_s }
  			end

  			if options && options.class == Hash && options[:base_url]
        	base_url ||= options[:base_url]
  			end

  			base_url = options[:base_url] rescue nil  
  			base_url ||= $TESTWISE_PROJECT_BASE_URL			
        base_url ||= $BASE_URL
        base_url ||= options[:url]
        
        raise "base_url must be set" if base_url.nil?

        default_options = {:speed => "fast",
          :visible => true,
          :highlight_colour => 'yellow',
          :close_others => true,
          :start_new => true, # start a new browser always
          :go => true }

        options = default_options.merge options

        if $TESTWISE_BROWSER
          options[:browser] = $TESTWISE_BROWSER.downcase
        end

        if (RUBY_PLATFORM =~ /darwin/ || RUBY_PLATFORM =~ /linux/) && 
            (options[:browser].nil? || options[:browser].to_s == "ie")
          options[:browser] = "firefox"          
        end
        
        if base_url =~ /^file:/
          uri_base = base_url
        else
          uri = URI.parse(base_url)
          uri_base = "#{uri.scheme}://#{uri.host}:#{uri.port}"
        end

        puts "[DEBUG] Starting a new browser #{uri_base} with options: #{options.inspect}"
        if options[:start_new]
          # puts "[DEBUG] [SeleniumBrowser] creating a new browser"
          @web_browser = WebBrowser.new(uri_base, nil, options)
          # puts "[DEBUG] [SeleniumBrowser] browser: #{@web_browser.inspect}"
        else
          @web_browser = WebBrowser.reuse(uri_base, options) # Reuse existing browser
        end
					
        if base_url =~ /^file:/
          goto_url(base_url) # for files, no base url
        else
          (uri.path.length == 0) ? begin_at(base_url) : begin_at(uri.path) if options[:go]
        end

				# remembering browser handle for debugging need
				$browser = @web_browser				
		
        return @web_browser
      end
open a browser, and set base_url via hash, but does not acually

 example:
   open_browser :base_url => http://localhost:8080

 There are 3 ways to set base url
   1. pass as first argument
   2. If running using TestWise, used as confiured
   3. Use default value set


 New Options:
    :browser => :ie | :firefox | :chrome