Class: Jasmine::SimpleClient
- Inherits:
-
Object
- Object
- Jasmine::SimpleClient
- Defined in:
- lib/jasmine-ruby/jasmine_runner.rb
Instance Method Summary collapse
- #connect ⇒ Object
- #disconnect ⇒ Object
- #eval_js(script) ⇒ Object
-
#initialize(selenium_host, selenium_port, selenium_browser_start_command, http_address) ⇒ SimpleClient
constructor
A new instance of SimpleClient.
- #run ⇒ Object
- #tests_have_finished? ⇒ Boolean
Constructor Details
#initialize(selenium_host, selenium_port, selenium_browser_start_command, http_address) ⇒ SimpleClient
Returns a new instance of SimpleClient.
186 187 188 189 190 191 192 193 194 195 |
# File 'lib/jasmine-ruby/jasmine_runner.rb', line 186 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 |
Instance Method Details
#connect ⇒ Object
201 202 203 204 |
# File 'lib/jasmine-ruby/jasmine_runner.rb', line 201 def connect @driver.start @driver.open("/") end |
#disconnect ⇒ Object
206 207 208 |
# File 'lib/jasmine-ruby/jasmine_runner.rb', line 206 def disconnect @driver.stop end |
#eval_js(script) ⇒ Object
220 221 222 223 224 225 |
# File 'lib/jasmine-ruby/jasmine_runner.rb', line 220 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}]")[0] end |
#run ⇒ Object
210 211 212 213 214 215 216 217 218 |
# File 'lib/jasmine-ruby/jasmine_runner.rb', line 210 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 |
#tests_have_finished? ⇒ Boolean
197 198 199 |
# File 'lib/jasmine-ruby/jasmine_runner.rb', line 197 def tests_have_finished? @driver.get_eval("window.jasmine.getEnv().currentRunner.finished") == "true" end |