selenium-client 1.2.4 → 1.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -283,6 +283,58 @@ module Selenium
283
283
  wait_for options
284
284
  end
285
285
 
286
+ # Return all cookies for the current page under test.
287
+ def cookies
288
+ string_command "getCookie"
289
+ end
290
+
291
+ # Returns the value of the cookie with the specified name, or throws an error if the cookie is not present.
292
+ #
293
+ # 'name' is the name of the cookie
294
+ def cookie(name)
295
+ string_command "getCookieByName", [name,]
296
+ end
297
+
298
+ # Returns true if a cookie with the specified name is present, or false otherwise.
299
+ #
300
+ # 'name' is the name of the cookie
301
+ def cookie?(name)
302
+ boolean_command "isCookiePresent", [name,]
303
+ end
304
+
305
+ # Create a new cookie whose path and domain are same with those of current page
306
+ # under test, unless you specified a path for this cookie explicitly.
307
+ #
308
+ # 'nameValuePair' is name and value of the cookie in a format "name=value"
309
+ # 'optionsString' is options for the cookie. Currently supported options include 'path', 'max_age' and 'domain'.
310
+ # the optionsString's format is "path=/path/, max_age=60, domain=.foo.com". The order of options are irrelevant, the unit of the value of 'max_age' is second. Note that specifying a domain that isn't a subset of the current domain will usually fail.
311
+ def create_cookie(name_value_pair, options="")
312
+ if options.kind_of? Hash
313
+ options = options.keys.collect {|key| "#{key}=#{options[key]}" }.join(", ")
314
+ end
315
+ remote_control_command "createCookie", [name_value_pair,options,]
316
+ end
317
+
318
+ # Delete a named cookie with specified path and domain. Be careful; to delete a cookie, you
319
+ # need to delete it using the exact same path and domain that were used to create the cookie.
320
+ # If the path is wrong, or the domain is wrong, the cookie simply won't be deleted. Also
321
+ # note that specifying a domain that isn't a subset of the current domain will usually fail.
322
+ #
323
+ # Since there's no way to discover at runtime the original path and domain of a given cookie,
324
+ # we've added an option called 'recurse' to try all sub-domains of the current domain with
325
+ # all paths that are a subset of the current path. Beware; this option can be slow. In
326
+ # big-O notation, it operates in O(n*m) time, where n is the number of dots in the domain
327
+ # name and m is the number of slashes in the path.
328
+ #
329
+ # 'name' is the name of the cookie to be deleted
330
+ # 'optionsString' is options for the cookie. Currently supported options include 'path', 'domain' and 'recurse.' The optionsString's format is "path=/path/, domain=.foo.com, recurse=true". The order of options are irrelevant. Note that specifying a domain that isn't a subset of the current domain will usually fail.
331
+ def delete_cookie(name, options="")
332
+ if options.kind_of? Hash
333
+ options = options.keys.collect {|key| "#{key}=#{options[key]}" }.join(", ")
334
+ end
335
+ remote_control_command "deleteCookie", [name,options,]
336
+ end
337
+
286
338
  end
287
339
 
288
340
  end
@@ -6,6 +6,7 @@
6
6
  require "digest/md5"
7
7
  require "base64"
8
8
  require "rubygems"
9
+ gem "rspec", "1.1.4"
9
10
  require "spec"
10
11
  require 'spec/runner/formatter/html_formatter'
11
12
  require File.expand_path(File.dirname(__FILE__) + "/file_path_strategy")
@@ -63,7 +64,7 @@ module Selenium
63
64
 
64
65
  # Should be called from config.after(:each) in spec helper
65
66
  def self.capture_system_state(selenium_driver, example)
66
- system_capture = Selenium::RSpec::Reporting::SystemCapture.new(selenium_driver, example, @@file_path_strategy)
67
+ system_capture = Selenium::RSpec::Reporting::SystemCapture.new(selenium_driver, example, file_path_strategy)
67
68
  system_capture.capture_system_state
68
69
  end
69
70
 
@@ -75,6 +76,14 @@ module Selenium
75
76
  Selenium::RSpec::Reporting::HtmlReport.append_css(super)
76
77
  end
77
78
 
79
+ def self.file_path_strategy
80
+ ### HACK ####
81
+ # When running with DeepTest the class instance variable could not have been set
82
+ # For now you must set the env variable before launching the tests. We need to revisit the way DeepTest
83
+ # and RSpec reporting work for a proper fix.
84
+ @@file_path_strategy ||= Selenium::RSpec::Reporting::FilePathStrategy.new(ENV["SELENIUM_TEST_REPORT_FILE"])
85
+ end
86
+
78
87
  protected
79
88
 
80
89
  def include_example_group_description(example)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: selenium-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.4
4
+ version: 1.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenQA
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-09-30 00:00:00 -07:00
12
+ date: 2008-10-02 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -72,7 +72,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
72
72
  requirements: []
73
73
 
74
74
  rubyforge_project: selenium-client
75
- rubygems_version: 1.2.0
75
+ rubygems_version: 1.3.0
76
76
  signing_key:
77
77
  specification_version: 2
78
78
  summary: Official Ruby Client for Selenium RC.