Sha256: 3cd2d27fff7b9fe1f7cd0a07243d3184ff4c2b22b32e9ab14ddb847a579a9fe9

Contents?: true

Size: 1.43 KB

Versions: 1

Compression:

Stored size: 1.43 KB

Contents

module SeleniumConnect
  class Server
    attr_reader :configuration, :current_dir_path

    def initialize(configuration)
      @configuration = configuration
      @current_dir_path = File.join(File.dirname(File.expand_path(__FILE__)))
    end

    def start
      rake "start"
    end

    def stop
      rake "stop"
    end

    def restart
      rake "restart"
    end

    private

    def generate_rake_task
      "require 'selenium/rake/server_task'

       Selenium::Rake::ServerTask.new(:server) do |t|
         #{
            if configuration.jar
              "t.jar = '#{configuration.jar}'"
            else
              "t.version = :latest"
            end
         }
         t.background
         #{
          if configuration.log
            "t.log = '#{configuration.log}/server.log'"
          else
            "t.log = false"
          end
         }
         t.port = #{configuration.port}
         #{
            if configuration.browser == 'chrome'
              "t.opts = '-Dwebdriver.chrome.driver=#{current_dir_path + '/../../bin/chromedriver'}'"
            end
         }
       end"
    end

    def get_rake_file
      rake_file_path = current_dir_path + '/rake.task'
      rake_file = File.open(rake_file_path, 'w')
      rake_file << generate_rake_task
      rake_file.close
      return rake_file_path
    end

    def rake(task)
      system "rake -f #{get_rake_file} server:#{task}"
    end

  end #Server
end #SeleniumConnect

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
selenium-connect-1.9.1 lib/selenium-connect/server.rb