selenium-webdriver 2.45.0 → 2.46.1
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 +18 -3
- data/Gemfile.lock +5 -5
- data/LICENSE +202 -0
- data/README.md +13 -8
- data/lib/selenium-client.rb +17 -0
- data/lib/selenium-webdriver.rb +17 -0
- data/lib/selenium/client.rb +17 -0
- data/lib/selenium/client/base.rb +17 -0
- data/lib/selenium/client/driver.rb +17 -0
- data/lib/selenium/client/errors.rb +17 -0
- data/lib/selenium/client/extensions.rb +1 -3
- data/lib/selenium/client/idiomatic.rb +17 -0
- data/lib/selenium/client/javascript_expression_builder.rb +17 -0
- data/lib/selenium/client/javascript_frameworks/jquery.rb +17 -0
- data/lib/selenium/client/javascript_frameworks/prototype.rb +17 -0
- data/lib/selenium/client/legacy_driver.rb +15 -15
- data/lib/selenium/client/protocol.rb +17 -0
- data/lib/selenium/client/selenium_helper.rb +18 -5
- data/lib/selenium/rake/server_task.rb +17 -0
- data/lib/selenium/server.rb +17 -0
- data/lib/selenium/webdriver.rb +18 -3
- data/lib/selenium/webdriver/android.rb +17 -0
- data/lib/selenium/webdriver/android/bridge.rb +18 -1
- data/lib/selenium/webdriver/chrome.rb +20 -3
- data/lib/selenium/webdriver/chrome/bridge.rb +17 -0
- data/lib/selenium/webdriver/chrome/profile.rb +18 -1
- data/lib/selenium/webdriver/chrome/service.rb +64 -21
- data/lib/selenium/webdriver/common.rb +19 -1
- data/lib/selenium/webdriver/common/action_builder.rb +17 -0
- data/lib/selenium/webdriver/common/alert.rb +17 -0
- data/lib/selenium/webdriver/common/bridge_helper.rb +18 -1
- data/lib/selenium/webdriver/common/core_ext/base64.rb +17 -0
- data/lib/selenium/webdriver/common/core_ext/dir.rb +17 -0
- data/lib/selenium/webdriver/common/core_ext/string.rb +17 -0
- data/lib/selenium/webdriver/common/driver.rb +18 -3
- data/lib/selenium/webdriver/common/driver_extensions/has_input_devices.rb +17 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_location.rb +21 -4
- data/lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb +57 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb +21 -4
- data/lib/selenium/webdriver/common/driver_extensions/has_session_id.rb +17 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_touch_screen.rb +21 -4
- data/lib/selenium/webdriver/common/driver_extensions/has_web_storage.rb +17 -0
- data/lib/selenium/webdriver/common/driver_extensions/rotatable.rb +17 -0
- data/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb +17 -0
- data/lib/selenium/webdriver/common/driver_extensions/uploads_files.rb +17 -0
- data/lib/selenium/webdriver/common/element.rb +23 -3
- data/lib/selenium/webdriver/common/error.rb +17 -0
- data/lib/selenium/webdriver/common/file_reaper.rb +17 -0
- data/lib/selenium/webdriver/common/html5/local_storage.rb +21 -4
- data/lib/selenium/webdriver/common/html5/location.rb +17 -0
- data/lib/selenium/webdriver/common/html5/session_storage.rb +21 -4
- data/lib/selenium/webdriver/common/html5/shared_web_storage.rb +22 -5
- data/lib/selenium/webdriver/common/json_helper.rb +20 -3
- data/lib/selenium/webdriver/common/keyboard.rb +17 -0
- data/lib/selenium/webdriver/common/keys.rb +16 -1
- data/lib/selenium/webdriver/common/log_entry.rb +21 -3
- data/lib/selenium/webdriver/common/logs.rb +20 -3
- data/lib/selenium/webdriver/common/mouse.rb +17 -0
- data/lib/selenium/webdriver/common/navigation.rb +17 -0
- data/lib/selenium/webdriver/common/options.rb +17 -0
- data/lib/selenium/webdriver/common/platform.rb +17 -0
- data/lib/selenium/webdriver/common/port_prober.rb +17 -0
- data/lib/selenium/webdriver/common/profile_helper.rb +17 -0
- data/lib/selenium/webdriver/common/proxy.rb +17 -0
- data/lib/selenium/webdriver/common/search_context.rb +17 -0
- data/lib/selenium/webdriver/common/socket_lock.rb +76 -0
- data/lib/selenium/webdriver/common/socket_poller.rb +17 -0
- data/lib/selenium/webdriver/common/target_locator.rb +17 -0
- data/lib/selenium/webdriver/common/timeouts.rb +17 -0
- data/lib/selenium/webdriver/common/touch_action_builder.rb +20 -3
- data/lib/selenium/webdriver/common/touch_screen.rb +20 -3
- data/lib/selenium/webdriver/common/wait.rb +17 -0
- data/lib/selenium/webdriver/common/window.rb +20 -4
- data/lib/selenium/webdriver/common/zipper.rb +17 -0
- data/lib/selenium/webdriver/firefox.rb +20 -4
- data/lib/selenium/webdriver/firefox/binary.rb +17 -0
- data/lib/selenium/webdriver/firefox/bridge.rb +18 -3
- data/lib/selenium/webdriver/firefox/extension.rb +17 -0
- data/lib/selenium/webdriver/firefox/extension/prefs.json +2 -0
- data/lib/selenium/webdriver/firefox/extension/webdriver.xpi +0 -0
- data/lib/selenium/webdriver/firefox/launcher.rb +17 -8
- data/lib/selenium/webdriver/firefox/native/linux/amd64/x_ignore_nofocus.so +0 -0
- data/lib/selenium/webdriver/firefox/profile.rb +17 -0
- data/lib/selenium/webdriver/firefox/profiles_ini.rb +17 -0
- data/lib/selenium/webdriver/firefox/util.rb +17 -0
- data/lib/selenium/webdriver/ie.rb +21 -3
- data/lib/selenium/webdriver/ie/bridge.rb +17 -0
- data/lib/selenium/webdriver/ie/server.rb +21 -4
- data/lib/selenium/webdriver/iphone.rb +17 -0
- data/lib/selenium/webdriver/iphone/bridge.rb +17 -0
- data/lib/selenium/webdriver/phantomjs.rb +20 -3
- data/lib/selenium/webdriver/phantomjs/bridge.rb +17 -0
- data/lib/selenium/webdriver/phantomjs/service.rb +17 -0
- data/lib/selenium/webdriver/remote.rb +20 -5
- data/lib/selenium/webdriver/remote/bridge.rb +24 -9
- data/lib/selenium/webdriver/remote/capabilities.rb +17 -9
- data/lib/selenium/webdriver/remote/commands.rb +20 -4
- data/lib/selenium/webdriver/remote/http/common.rb +18 -1
- data/lib/selenium/webdriver/remote/http/curb.rb +17 -0
- data/lib/selenium/webdriver/remote/http/default.rb +26 -4
- data/lib/selenium/webdriver/remote/http/persistent.rb +17 -0
- data/lib/selenium/webdriver/remote/response.rb +17 -0
- data/lib/selenium/webdriver/remote/server_error.rb +19 -2
- data/lib/selenium/webdriver/safari.rb +20 -3
- data/lib/selenium/webdriver/safari/bridge.rb +21 -4
- data/lib/selenium/webdriver/safari/browser.rb +21 -5
- data/lib/selenium/webdriver/safari/extensions.rb +21 -4
- data/lib/selenium/webdriver/safari/options.rb +21 -4
- data/lib/selenium/webdriver/safari/resources/SafariDriver.safariextz +0 -0
- data/lib/selenium/webdriver/safari/resources/client.js +1 -1
- data/lib/selenium/webdriver/safari/server.rb +21 -4
- data/lib/selenium/webdriver/support.rb +17 -0
- data/lib/selenium/webdriver/support/abstract_event_listener.rb +21 -4
- data/lib/selenium/webdriver/support/block_event_listener.rb +21 -4
- data/lib/selenium/webdriver/support/color.rb +22 -5
- data/lib/selenium/webdriver/support/event_firing_bridge.rb +17 -0
- data/lib/selenium/webdriver/support/select.rb +21 -4
- data/selenium-webdriver.gemspec +2 -2
- metadata +78 -78
- data/lib/selenium/webdriver/opera.rb +0 -24
- data/lib/selenium/webdriver/opera/bridge.rb +0 -112
- data/lib/selenium/webdriver/opera/service.rb +0 -49
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
module Selenium
|
|
2
|
-
module WebDriver
|
|
3
|
-
module Opera
|
|
4
|
-
|
|
5
|
-
#
|
|
6
|
-
# @api private
|
|
7
|
-
#
|
|
8
|
-
|
|
9
|
-
LOGGING_LEVELS = [:severe, :warning, :info, :config, :fine, :finer, :finest, :all]
|
|
10
|
-
|
|
11
|
-
class Bridge < Remote::Bridge
|
|
12
|
-
|
|
13
|
-
def initialize(opts = {})
|
|
14
|
-
@service = Service.default_service :log => (opts[:logging_level] ? true : false)
|
|
15
|
-
|
|
16
|
-
http_client = opts.delete(:http_client)
|
|
17
|
-
caps = create_capabilities(opts)
|
|
18
|
-
|
|
19
|
-
@service.start
|
|
20
|
-
|
|
21
|
-
remote_opts = {
|
|
22
|
-
:url => @service.uri,
|
|
23
|
-
:desired_capabilities => caps
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
remote_opts.merge!(:http_client => http_client) if http_client
|
|
27
|
-
|
|
28
|
-
super(remote_opts)
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def browser
|
|
32
|
-
:opera
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def driver_extensions
|
|
36
|
-
[
|
|
37
|
-
DriverExtensions::HasInputDevices,
|
|
38
|
-
DriverExtensions::TakesScreenshot
|
|
39
|
-
]
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def capabilities
|
|
43
|
-
@capabilities ||= Remote::Capabilities.opera
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def quit
|
|
47
|
-
super
|
|
48
|
-
ensure
|
|
49
|
-
@service.stop
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
private
|
|
53
|
-
|
|
54
|
-
def create_capabilities(opts)
|
|
55
|
-
original_opts = opts.dup
|
|
56
|
-
|
|
57
|
-
arguments = opts.delete(:arguments)
|
|
58
|
-
logging_level = opts.delete(:logging_level)
|
|
59
|
-
logging_file = opts.delete(:logging_file)
|
|
60
|
-
host = opts.delete(:host)
|
|
61
|
-
port = opts.delete(:port)
|
|
62
|
-
launcher = opts.delete(:launcher)
|
|
63
|
-
profile = opts.delete(:profile)
|
|
64
|
-
idle = opts.delete(:idle)
|
|
65
|
-
display = opts.delete(:display)
|
|
66
|
-
autostart = opts.delete(:autostart)
|
|
67
|
-
no_restart = opts.delete(:no_restart)
|
|
68
|
-
no_quit = opts.delete(:no_quit)
|
|
69
|
-
product = opts.delete(:product)
|
|
70
|
-
caps = opts.delete(:desired_capabilities) { Remote::Capabilities.opera }
|
|
71
|
-
|
|
72
|
-
unless opts.empty?
|
|
73
|
-
raise ArgumentError, "unknown option#{'s' if opts.size != 1}: #{opts.inspect}"
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
if arguments
|
|
77
|
-
unless arguments.kind_of? Array
|
|
78
|
-
raise ArgumentError, ':arguments must be an Array of Strings'
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
caps.merge! 'opera.arguments' => arguments.join(' ')
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
if logging_level
|
|
85
|
-
unless LOGGING_LEVELS.include?(logging_level)
|
|
86
|
-
raise ArgumentError,
|
|
87
|
-
"unknown logging level #{logging_level.inspect}, available levels: #{LOGGING_LEVELS.inspect}"
|
|
88
|
-
end
|
|
89
|
-
|
|
90
|
-
caps.merge! 'opera.logging.level' => logging_level.to_s.upcase
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
caps.merge! 'opera.logging.file' => logging_file if logging_file
|
|
94
|
-
caps.merge! 'opera.binary' => Opera.path if Opera.path
|
|
95
|
-
caps.merge! 'opera.host' => host if host
|
|
96
|
-
caps.merge! 'opera.port' => port.to_i if port
|
|
97
|
-
caps.merge! 'opera.launcher' => launcher if launcher
|
|
98
|
-
caps.merge! 'opera.profile' => profile if original_opts.has_key?(:profile)
|
|
99
|
-
caps.merge! 'opera.idle' => !!idle unless idle.nil?
|
|
100
|
-
caps.merge! 'opera.display' => display.to_i if display
|
|
101
|
-
caps.merge! 'opera.autostart' => !!autostart unless autostart.nil?
|
|
102
|
-
caps.merge! 'opera.no_restart' => !!no_restart unless no_restart.nil?
|
|
103
|
-
caps.merge! 'opera.no_quit' => !!no_quit unless no_quit.nil?
|
|
104
|
-
caps.merge! 'opera.product' => product if product
|
|
105
|
-
|
|
106
|
-
caps
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
end
|
|
110
|
-
end
|
|
111
|
-
end
|
|
112
|
-
end
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
module Selenium
|
|
2
|
-
module WebDriver
|
|
3
|
-
module Opera
|
|
4
|
-
|
|
5
|
-
#
|
|
6
|
-
# @api private
|
|
7
|
-
#
|
|
8
|
-
|
|
9
|
-
class Service
|
|
10
|
-
MISSING_TEXT = 'Unable to find the Selenium server jar. Please download the standalone server from http://selenium-release.storage.googleapis.com/index.html and set the SELENIUM_SERVER_JAR environmental variable to its location. More info at http://code.google.com/p/selenium/wiki/OperaDriver.'
|
|
11
|
-
|
|
12
|
-
def self.selenium_server_jar
|
|
13
|
-
@selenium_server_jar ||= (
|
|
14
|
-
ENV['SELENIUM_SERVER_JAR'] or raise Error::WebDriverError, MISSING_TEXT
|
|
15
|
-
)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def self.selenium_server_jar=(path)
|
|
19
|
-
Platform.assert_file path
|
|
20
|
-
@selenium_server_jar = path
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def self.default_service(opts = {})
|
|
24
|
-
new selenium_server_jar, opts
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def initialize(jar, opts = {})
|
|
28
|
-
opts.merge! :background => true, :port => PortProber.above(4444)
|
|
29
|
-
opts.merge! :log => !!$DEBUG if $DEBUG
|
|
30
|
-
@server = Selenium::Server.new File.expand_path(jar), opts
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def uri
|
|
34
|
-
@server.webdriver_url
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def start
|
|
38
|
-
@server.start
|
|
39
|
-
Platform.exit_hook { stop } # make sure we don't leave the server running
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def stop
|
|
43
|
-
@server.stop
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
end
|