Sha256: 204d5815825faf0004b28e46364b9de8700f8804bd359ed7fd8d0e5b8adfc1b9

Contents?: true

Size: 1.13 KB

Versions: 24

Compression:

Stored size: 1.13 KB

Contents

module Jasmine
  class SeleniumDriver
    def initialize(selenium_host, selenium_port, selenium_browser_start_command, http_address)
      require 'selenium/client'
      @driver = Selenium::Client::Driver.new(
        selenium_host,
        selenium_port,
        selenium_browser_start_command,
        http_address
      )
      @http_address = http_address
    end

    def tests_have_finished?
      @driver.get_eval("window.jasmine.getEnv().currentRunner.finished") == "true"
    end

    def connect
      @driver.start
      @driver.open("/")
    end

    def disconnect
      @driver.stop
    end

    def run
      until tests_have_finished? do
        sleep 0.1
      end

      puts @driver.get_eval("window.results()")
      failed_count = @driver.get_eval("window.jasmine.getEnv().currentRunner.results().failedCount").to_i
      failed_count == 0
    end

    def eval_js(script)
      escaped_script = "'" + script.gsub(/(['\\])/) { '\\' + $1 } + "'"

      result = @driver.get_eval("try { eval(#{escaped_script}, window); } catch(err) { window.eval(#{escaped_script}); }")
      JSON.parse("{\"result\":#{result}}")["result"]
    end
  end
end

Version data entries

24 entries across 24 versions & 2 rubygems

Version Path
jasmine-1.0.1 lib/jasmine/selenium_driver.rb
jasmine-1.0.0 lib/jasmine/selenium_driver.rb
jasmine-0.11.1.0 lib/jasmine/selenium_driver.rb
jasmine-0.11.0.0 lib/jasmine/selenium_driver.rb
jasmine-0.10.4.0 lib/jasmine/selenium_driver.rb
jasmine-0.10.3.5 lib/jasmine/selenium_driver.rb
jasmine-0.10.3.4 lib/jasmine/selenium_driver.rb
jasmine-0.10.3.3 lib/jasmine/selenium_driver.rb
jasmine-0.10.3.2 lib/jasmine/selenium_driver.rb
jasmine-0.10.3.1 lib/jasmine/selenium_driver.rb
jasmine-0.10.3 lib/jasmine/selenium_driver.rb
jasmine-0.10.2.4 lib/jasmine/selenium_driver.rb
jasmine-0.10.2.3 lib/jasmine/selenium_driver.rb
jasmine-0.10.2.2 lib/jasmine/selenium_driver.rb
jasmine-0.10.2.1 lib/jasmine/selenium_driver.rb
jasmine-0.10.2.0 lib/jasmine/selenium_driver.rb
jasmine-0.4.6 lib/jasmine/selenium_driver.rb
jasmine-0.4.5 lib/jasmine/selenium_driver.rb
jasmine-0.4.4 lib/jasmine/selenium_driver.rb
satisfaction-jasmine-0.4.3 lib/jasmine/selenium_driver.rb