selenium-webdriver 2.21.1 → 2.21.2.rc1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +10 -0
- data/lib/selenium/webdriver.rb +24 -0
- data/lib/selenium/webdriver/chrome/profile.rb +2 -2
- data/lib/selenium/webdriver/common/element.rb +7 -7
- data/lib/selenium/webdriver/common/profile_helper.rb +2 -2
- data/lib/selenium/webdriver/common/proxy.rb +1 -1
- data/lib/selenium/webdriver/firefox/extension/webdriver.xpi +0 -0
- data/lib/selenium/webdriver/firefox/profile.rb +3 -3
- data/lib/selenium/webdriver/remote/capabilities.rb +1 -1
- data/lib/selenium/webdriver/remote/http/common.rb +2 -2
- data/lib/selenium/webdriver/safari/server.rb +3 -3
- metadata +7 -7
data/CHANGES
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
2.21.2 (2012-04-18)
|
2
|
+
===================
|
3
|
+
|
4
|
+
* Check MultiJson.respond_to?, depend on ~> 1.0
|
5
|
+
|
6
|
+
2.21.1 (2012-04-16)
|
7
|
+
===================
|
8
|
+
|
9
|
+
* Set multi_json dependency to < 1.3 to avoid deprecation warnings.
|
10
|
+
|
1
11
|
2.21.0 (2012-04-11)
|
2
12
|
===================
|
3
13
|
|
data/lib/selenium/webdriver.rb
CHANGED
@@ -63,5 +63,29 @@ module Selenium
|
|
63
63
|
WebDriver::Driver.for(*args)
|
64
64
|
end
|
65
65
|
|
66
|
+
if MultiJson.respond_to?(:dump)
|
67
|
+
# @api private
|
68
|
+
def self.json_dump(obj)
|
69
|
+
MultiJson.dump(obj)
|
70
|
+
end
|
71
|
+
else
|
72
|
+
# @api private
|
73
|
+
def self.json_dump(obj)
|
74
|
+
MultiJson.encode(obj)
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
if MultiJson.respond_to?(:load)
|
79
|
+
# @api private
|
80
|
+
def self.json_load(obj)
|
81
|
+
MultiJson.load(obj)
|
82
|
+
end
|
83
|
+
else
|
84
|
+
# @api private
|
85
|
+
def self.json_load(obj)
|
86
|
+
MultiJson.decode(obj)
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
66
90
|
end # WebDriver
|
67
91
|
end # Selenium
|
@@ -61,7 +61,7 @@ module Selenium
|
|
61
61
|
prefs_file = prefs_file_for(dir)
|
62
62
|
|
63
63
|
FileUtils.mkdir_p File.dirname(prefs_file)
|
64
|
-
File.open(prefs_file, "w") { |file| file <<
|
64
|
+
File.open(prefs_file, "w") { |file| file << WebDriver.json_dump(prefs) }
|
65
65
|
end
|
66
66
|
|
67
67
|
def prefs
|
@@ -70,7 +70,7 @@ module Selenium
|
|
70
70
|
|
71
71
|
def read_model_prefs
|
72
72
|
return {} unless @model
|
73
|
-
|
73
|
+
WebDriver.json_load File.read(prefs_file_for(@model))
|
74
74
|
end
|
75
75
|
|
76
76
|
def prefs_file_for(dir)
|
@@ -28,12 +28,12 @@ module Selenium
|
|
28
28
|
|
29
29
|
#
|
30
30
|
# Click this element. If this causes a new page to load, this method will
|
31
|
-
# attempt to block until the page has loaded. At this point, you should
|
32
|
-
# discard all references to this element and any further operations
|
31
|
+
# attempt to block until the page has loaded. At this point, you should
|
32
|
+
# discard all references to this element and any further operations
|
33
33
|
# performed on this element will raise a StaleElementReferenceError
|
34
34
|
# unless you know that the element and the page will still be present. If
|
35
|
-
# click() causes a new page to be loaded via an event or is done by
|
36
|
-
# sending a native event then the method will *not* wait for it to be
|
35
|
+
# click() causes a new page to be loaded via an event or is done by
|
36
|
+
# sending a native event then the method will *not* wait for it to be
|
37
37
|
# loaded and the caller should verify that a new page has been loaded.
|
38
38
|
#
|
39
39
|
# There are some preconditions for an element to be clicked. The element
|
@@ -49,13 +49,13 @@ module Selenium
|
|
49
49
|
# @raise [StaleElementReferenceError] if the element no longer exists as
|
50
50
|
# defined
|
51
51
|
#
|
52
|
-
|
52
|
+
|
53
53
|
def click
|
54
54
|
bridge.clickElement @id
|
55
55
|
end
|
56
56
|
|
57
57
|
#
|
58
|
-
# Get the tag name of the element.
|
58
|
+
# Get the tag name of the element.
|
59
59
|
#
|
60
60
|
# @example Get the tagname of an INPUT element(returns "input")
|
61
61
|
#
|
@@ -256,7 +256,7 @@ module Selenium
|
|
256
256
|
#
|
257
257
|
|
258
258
|
def to_json(*args)
|
259
|
-
|
259
|
+
WebDriver.json_dump as_json
|
260
260
|
end
|
261
261
|
|
262
262
|
#
|
@@ -19,7 +19,7 @@ module Selenium
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def to_json(*args)
|
22
|
-
|
22
|
+
WebDriver.json_dump as_json
|
23
23
|
end
|
24
24
|
|
25
25
|
private
|
@@ -46,7 +46,7 @@ module Selenium
|
|
46
46
|
|
47
47
|
module ClassMethods
|
48
48
|
def from_json(json)
|
49
|
-
data =
|
49
|
+
data = WebDriver.json_load(json).fetch('zip')
|
50
50
|
|
51
51
|
# can't use Tempfile here since it doesn't support File::BINARY mode on 1.8
|
52
52
|
# can't use Dir.mktmpdir(&blk) because of http://jira.codehaus.org/browse/JRUBY-4082
|
Binary file
|
@@ -27,7 +27,7 @@ module Selenium
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def default_preferences
|
30
|
-
@default_preferences ||=
|
30
|
+
@default_preferences ||= WebDriver.json_load(
|
31
31
|
File.read(File.expand_path("#{WebDriver.root}/selenium/webdriver/firefox/extension/prefs.json"))
|
32
32
|
).freeze
|
33
33
|
end
|
@@ -241,7 +241,7 @@ module Selenium
|
|
241
241
|
key, value = $1.strip, $2.strip
|
242
242
|
|
243
243
|
# wrap the value in an array to make it a valid JSON string.
|
244
|
-
prefs[key] =
|
244
|
+
prefs[key] = WebDriver.json_load("[#{value}]").first
|
245
245
|
end
|
246
246
|
end
|
247
247
|
|
@@ -251,7 +251,7 @@ module Selenium
|
|
251
251
|
def write_prefs(prefs, path)
|
252
252
|
File.open(path, "w") { |file|
|
253
253
|
prefs.each do |key, value|
|
254
|
-
file.puts %{user_pref("#{key}", #{
|
254
|
+
file.puts %{user_pref("#{key}", #{WebDriver.json_dump value});}
|
255
255
|
end
|
256
256
|
}
|
257
257
|
end
|
@@ -24,7 +24,7 @@ module Selenium
|
|
24
24
|
headers['Cache-Control'] = "no-cache" if verb == :get
|
25
25
|
|
26
26
|
if command_hash
|
27
|
-
payload =
|
27
|
+
payload = WebDriver.json_dump(command_hash)
|
28
28
|
headers["Content-Type"] = "#{CONTENT_TYPE}; charset=utf-8"
|
29
29
|
headers["Content-Length"] = payload.bytesize.to_s if [:post, :put].include?(verb)
|
30
30
|
|
@@ -56,7 +56,7 @@ module Selenium
|
|
56
56
|
|
57
57
|
if content_type.include? CONTENT_TYPE
|
58
58
|
raise Error::WebDriverError, "empty body: #{content_type.inspect} (#{code})\n#{body}" if body.empty?
|
59
|
-
Response.new(code,
|
59
|
+
Response.new(code, WebDriver.json_load(body))
|
60
60
|
elsif code == 204
|
61
61
|
Response.new(code)
|
62
62
|
else
|
@@ -19,7 +19,7 @@ module Selenium
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def send(command)
|
22
|
-
json =
|
22
|
+
json = WebDriver.json_dump(command)
|
23
23
|
puts ">>> #{json}" if $DEBUG
|
24
24
|
|
25
25
|
frame = LibWebSocket::Frame.new(json).to_s
|
@@ -49,7 +49,7 @@ module Selenium
|
|
49
49
|
|
50
50
|
puts "<<< #{msg}" if $DEBUG
|
51
51
|
|
52
|
-
|
52
|
+
WebDriver.json_load msg
|
53
53
|
end
|
54
54
|
|
55
55
|
def ws_uri
|
@@ -135,4 +135,4 @@ window.onload = function() {
|
|
135
135
|
|
136
136
|
end
|
137
137
|
end
|
138
|
-
end
|
138
|
+
end
|
metadata
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: selenium-webdriver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
version: 2.21.
|
4
|
+
prerelease: 7
|
5
|
+
version: 2.21.2.rc1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Jari Bakken
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2012-04-
|
13
|
+
date: 2012-04-18 00:00:00 +01:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -19,9 +19,9 @@ dependencies:
|
|
19
19
|
requirement: &id001 !ruby/object:Gem::Requirement
|
20
20
|
none: false
|
21
21
|
requirements:
|
22
|
-
- -
|
22
|
+
- - ~>
|
23
23
|
- !ruby/object:Gem::Version
|
24
|
-
version: "1.
|
24
|
+
version: "1.0"
|
25
25
|
type: :runtime
|
26
26
|
version_requirements: *id001
|
27
27
|
- !ruby/object:Gem::Dependency
|
@@ -248,9 +248,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
248
248
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
249
249
|
none: false
|
250
250
|
requirements:
|
251
|
-
- - "
|
251
|
+
- - ">"
|
252
252
|
- !ruby/object:Gem::Version
|
253
|
-
version:
|
253
|
+
version: 1.3.1
|
254
254
|
requirements: []
|
255
255
|
|
256
256
|
rubyforge_project:
|