selenium-webdriver 2.22.2 → 2.24.0
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.
- data/CHANGES +14 -1
- data/lib/selenium/webdriver/firefox/bridge.rb +5 -1
- data/lib/selenium/webdriver/firefox/extension/webdriver.xpi +0 -0
- data/lib/selenium/webdriver/ie.rb +0 -8
- data/lib/selenium/webdriver/ie/server.rb +2 -4
- metadata +12 -26
- data/lib/selenium/webdriver/ie/in_process_server.rb +0 -72
- data/lib/selenium/webdriver/ie/native/win32/IEDriver.dll +0 -0
- data/lib/selenium/webdriver/ie/native/x64/IEDriver.dll +0 -0
data/CHANGES
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
2.24.0 (2012-06-19)
|
2
|
+
===================
|
3
|
+
|
4
|
+
* bot.dom.getVisibleText does not properly handle display:run-in or display:table (#1584).
|
5
|
+
* CSS selectors now support compound selectors.
|
6
|
+
* IE:
|
7
|
+
* Failure to click on an element in the IE Driver will yield a more meaningful error.
|
8
|
+
* Crash on IE8 when S_FALSE is returned from get_Document (#4064)
|
9
|
+
* DLLs are no longer bundled with the gem, users must use the standalone server from now on.
|
10
|
+
* Firefox:
|
11
|
+
* Support for Firefox 13
|
12
|
+
* Ability to pass :proxy directly as Firefox option (no Profile needed).
|
13
|
+
|
1
14
|
2.22.2 (2012-06-05)
|
2
15
|
===================
|
3
16
|
|
@@ -15,7 +28,7 @@
|
|
15
28
|
* Fix conflict with ActiveSupport's Object#load (#3819)
|
16
29
|
* IE:
|
17
30
|
* Default to standalone server executable, fall back to bundled DLLs.
|
18
|
-
* The 'nativeEvents' capabilitiy is exposed as :native_events in the Ruby client (mode still experimental).
|
31
|
+
* The 'nativeEvents' capabilitiy is exposed as :native_events in the Ruby client (mode still experimental).
|
19
32
|
* Firefox:
|
20
33
|
* Native events for Firefox 12.
|
21
34
|
* Native events retained for Firefox 3.x, 10 and 11.
|
@@ -9,6 +9,7 @@ module Selenium
|
|
9
9
|
port = opts.delete(:port) || DEFAULT_PORT
|
10
10
|
profile = opts.delete(:profile)
|
11
11
|
http_client = opts.delete(:http_client)
|
12
|
+
proxy = opts.delete(:proxy)
|
12
13
|
|
13
14
|
@launcher = create_launcher(port, profile)
|
14
15
|
|
@@ -18,9 +19,12 @@ module Selenium
|
|
18
19
|
|
19
20
|
@launcher.launch
|
20
21
|
|
22
|
+
caps = Remote::Capabilities.firefox(:native_events => DEFAULT_ENABLE_NATIVE_EVENTS)
|
23
|
+
caps.proxy = proxy if proxy
|
24
|
+
|
21
25
|
remote_opts = {
|
22
26
|
:url => @launcher.url,
|
23
|
-
:desired_capabilities =>
|
27
|
+
:desired_capabilities => caps
|
24
28
|
}
|
25
29
|
|
26
30
|
remote_opts.merge!(:http_client => http_client) if http_client
|
Binary file
|
@@ -3,17 +3,9 @@ module Selenium
|
|
3
3
|
|
4
4
|
# @api private
|
5
5
|
module IE
|
6
|
-
DLLS = {
|
7
|
-
:win32 => "#{WebDriver.root}/selenium/webdriver/ie/native/win32/IEDriver.dll",
|
8
|
-
:x64 => "#{WebDriver.root}/selenium/webdriver/ie/native/x64/IEDriver.dll"
|
9
|
-
}
|
10
|
-
|
11
|
-
DLLS.each { |k,v| DLLS[k] = Platform.cygwin_path(v, :dos => true) } if Platform.cygwin?
|
12
6
|
end
|
13
7
|
end
|
14
8
|
end
|
15
9
|
|
16
|
-
require 'ffi'
|
17
|
-
|
18
10
|
require 'selenium/webdriver/ie/server'
|
19
11
|
require 'selenium/webdriver/ie/bridge'
|
@@ -4,16 +4,14 @@ module Selenium
|
|
4
4
|
class Server
|
5
5
|
|
6
6
|
STOP_TIMEOUT = 5
|
7
|
-
DEPRECATION_WARNING = %{warning: the IE driver is moving the a standalone executable. Please download the IEDriverServer from http://code.google.com/p/selenium/downloads/list and place the executable on your PATH.\nFalling back to bundled DLLs for now..}
|
8
7
|
|
9
8
|
def self.get
|
10
9
|
binary = Platform.find_binary("IEDriverServer")
|
11
10
|
if binary
|
12
11
|
new(binary)
|
13
12
|
else
|
14
|
-
|
15
|
-
|
16
|
-
InProcessServer.new
|
13
|
+
raise Error::WebDriverError,
|
14
|
+
"Unable to find standalone executable. Please download the IEDriverServer from http://code.google.com/p/selenium/downloads/list and place the executable on your PATH."
|
17
15
|
end
|
18
16
|
end
|
19
17
|
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: selenium-webdriver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 2.
|
5
|
+
version: 2.24.0
|
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-06-
|
13
|
+
date: 2012-06-20 00:00:00 +02:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -46,72 +46,61 @@ dependencies:
|
|
46
46
|
version: 0.2.5
|
47
47
|
type: :runtime
|
48
48
|
version_requirements: *id003
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name: ffi
|
51
|
-
prerelease: false
|
52
|
-
requirement: &id004 !ruby/object:Gem::Requirement
|
53
|
-
none: false
|
54
|
-
requirements:
|
55
|
-
- - ~>
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
version: "1.0"
|
58
|
-
type: :runtime
|
59
|
-
version_requirements: *id004
|
60
49
|
- !ruby/object:Gem::Dependency
|
61
50
|
name: libwebsocket
|
62
51
|
prerelease: false
|
63
|
-
requirement: &
|
52
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
64
53
|
none: false
|
65
54
|
requirements:
|
66
55
|
- - ~>
|
67
56
|
- !ruby/object:Gem::Version
|
68
57
|
version: 0.1.3
|
69
58
|
type: :runtime
|
70
|
-
version_requirements: *
|
59
|
+
version_requirements: *id004
|
71
60
|
- !ruby/object:Gem::Dependency
|
72
61
|
name: rspec
|
73
62
|
prerelease: false
|
74
|
-
requirement: &
|
63
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
75
64
|
none: false
|
76
65
|
requirements:
|
77
66
|
- - ~>
|
78
67
|
- !ruby/object:Gem::Version
|
79
68
|
version: "2.0"
|
80
69
|
type: :development
|
81
|
-
version_requirements: *
|
70
|
+
version_requirements: *id005
|
82
71
|
- !ruby/object:Gem::Dependency
|
83
72
|
name: rack
|
84
73
|
prerelease: false
|
85
|
-
requirement: &
|
74
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
86
75
|
none: false
|
87
76
|
requirements:
|
88
77
|
- - ~>
|
89
78
|
- !ruby/object:Gem::Version
|
90
79
|
version: "1.0"
|
91
80
|
type: :development
|
92
|
-
version_requirements: *
|
81
|
+
version_requirements: *id006
|
93
82
|
- !ruby/object:Gem::Dependency
|
94
83
|
name: ci_reporter
|
95
84
|
prerelease: false
|
96
|
-
requirement: &
|
85
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
97
86
|
none: false
|
98
87
|
requirements:
|
99
88
|
- - ~>
|
100
89
|
- !ruby/object:Gem::Version
|
101
90
|
version: 1.6.2
|
102
91
|
type: :development
|
103
|
-
version_requirements: *
|
92
|
+
version_requirements: *id007
|
104
93
|
- !ruby/object:Gem::Dependency
|
105
94
|
name: webmock
|
106
95
|
prerelease: false
|
107
|
-
requirement: &
|
96
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
108
97
|
none: false
|
109
98
|
requirements:
|
110
99
|
- - ~>
|
111
100
|
- !ruby/object:Gem::Version
|
112
101
|
version: 1.7.5
|
113
102
|
type: :development
|
114
|
-
version_requirements: *
|
103
|
+
version_requirements: *id008
|
115
104
|
description: WebDriver is a tool for writing automated tests of websites. It aims to mimic the behaviour of a real user, and as such interacts with the HTML of the application.
|
116
105
|
email: jari.bakken@gmail.com
|
117
106
|
executables: []
|
@@ -206,10 +195,7 @@ files:
|
|
206
195
|
- lib/selenium/webdriver/firefox/native/linux/amd64/x_ignore_nofocus.so
|
207
196
|
- lib/selenium/webdriver/firefox/native/linux/x86/x_ignore_nofocus.so
|
208
197
|
- lib/selenium/webdriver/ie/bridge.rb
|
209
|
-
- lib/selenium/webdriver/ie/in_process_server.rb
|
210
198
|
- lib/selenium/webdriver/ie/server.rb
|
211
|
-
- lib/selenium/webdriver/ie/native/win32/IEDriver.dll
|
212
|
-
- lib/selenium/webdriver/ie/native/x64/IEDriver.dll
|
213
199
|
- lib/selenium/webdriver/iphone/bridge.rb
|
214
200
|
- lib/selenium/webdriver/opera/bridge.rb
|
215
201
|
- lib/selenium/webdriver/opera/service.rb
|
@@ -1,72 +0,0 @@
|
|
1
|
-
module Selenium
|
2
|
-
module WebDriver
|
3
|
-
module IE
|
4
|
-
|
5
|
-
#
|
6
|
-
# @api private
|
7
|
-
#
|
8
|
-
|
9
|
-
class InProcessServer
|
10
|
-
extend FFI::Library
|
11
|
-
|
12
|
-
if Platform.bitsize == 64
|
13
|
-
ffi_lib WebDriver::IE::DLLS[:x64]
|
14
|
-
else
|
15
|
-
ffi_lib WebDriver::IE::DLLS[:win32]
|
16
|
-
end
|
17
|
-
|
18
|
-
ffi_convention :stdcall
|
19
|
-
|
20
|
-
attach_function :start_server, :StartServer, [:int], :pointer
|
21
|
-
attach_function :stop_server, :StopServer, [:pointer], :void
|
22
|
-
attach_function :session_count, :GetServerSessionCount, [], :int
|
23
|
-
attach_function :current_port, :GetServerPort, [], :int
|
24
|
-
attach_function :is_running, :ServerIsRunning, [], :bool
|
25
|
-
|
26
|
-
def initialize
|
27
|
-
@handle = nil
|
28
|
-
end
|
29
|
-
|
30
|
-
#
|
31
|
-
# Starts the server, communicating on the specified port, if it is not already running
|
32
|
-
#
|
33
|
-
|
34
|
-
def start(start_port, timeout)
|
35
|
-
return port if running?
|
36
|
-
@handle = self.class.start_server(start_port)
|
37
|
-
|
38
|
-
unless SocketPoller.new(Platform.localhost, start_port, timeout).connected?
|
39
|
-
raise Error::WebDriverError, "unable to connect to IE server within #{timeout} seconds"
|
40
|
-
end
|
41
|
-
|
42
|
-
start_port
|
43
|
-
end
|
44
|
-
|
45
|
-
def stop
|
46
|
-
return if session_count != 0 || @handle.nil?
|
47
|
-
self.class.stop_server @handle
|
48
|
-
@handle = nil
|
49
|
-
end
|
50
|
-
|
51
|
-
def running?
|
52
|
-
self.class.is_running
|
53
|
-
end
|
54
|
-
|
55
|
-
def port
|
56
|
-
self.class.current_port
|
57
|
-
end
|
58
|
-
|
59
|
-
def uri
|
60
|
-
"http://#{Platform.localhost}:#{port}"
|
61
|
-
end
|
62
|
-
|
63
|
-
private
|
64
|
-
|
65
|
-
def session_count
|
66
|
-
self.class.session_count
|
67
|
-
end
|
68
|
-
|
69
|
-
end # Server
|
70
|
-
end # IE
|
71
|
-
end # WebDriver
|
72
|
-
end # Selenium
|
Binary file
|
Binary file
|