browserstack-webdriver 0.0.22 → 2.40.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.
- checksums.yaml +4 -4
- data/CHANGES +23 -4
- data/COPYING +204 -0
- data/README.md +0 -1
- data/browserstack-webdriver.gemspec +9 -9
- data/lib/{selenium-webdriver.rb → browserstack-webdriver.rb} +0 -0
- data/lib/selenium/client.rb +2 -1
- data/lib/selenium/webdriver/android/bridge.rb +2 -0
- data/lib/selenium/webdriver/chrome/profile.rb +0 -0
- data/lib/selenium/webdriver/common/file_reaper.rb +10 -3
- data/lib/selenium/webdriver/common/mouse.rb +0 -0
- data/lib/selenium/webdriver/common/proxy.rb +0 -0
- data/lib/selenium/webdriver/common/touch_screen.rb +0 -0
- data/lib/selenium/webdriver/firefox/extension/prefs.json +62 -0
- data/lib/selenium/webdriver/firefox/extension/webdriver.xpi +0 -0
- data/lib/selenium/webdriver/firefox/native/linux/amd64/x_ignore_nofocus.so +0 -0
- data/lib/selenium/webdriver/firefox/native/linux/x86/x_ignore_nofocus.so +0 -0
- data/lib/selenium/webdriver/firefox/profile.rb +0 -0
- data/lib/selenium/webdriver/iphone/bridge.rb +1 -1
- data/lib/selenium/webdriver/remote.rb +1 -1
- data/lib/selenium/webdriver/remote/bridge.rb +2 -2
- data/lib/selenium/webdriver/remote/capabilities.rb +0 -0
- data/lib/selenium/webdriver/safari.rb +9 -8
- data/lib/selenium/webdriver/safari/bridge.rb +23 -13
- data/lib/selenium/webdriver/safari/extensions.rb +170 -0
- data/lib/selenium/webdriver/safari/options.rb +79 -0
- data/lib/selenium/webdriver/safari/resources/SafariDriver.safariextz +0 -0
- data/lib/selenium/webdriver/safari/resources/client.js +5556 -0
- data/lib/selenium/webdriver/support/abstract_event_listener.rb +25 -0
- metadata +59 -21
- data/lib/selenium/webdriver/safari/extension.rb +0 -120
@@ -2,6 +2,31 @@ module Selenium
|
|
2
2
|
module WebDriver
|
3
3
|
module Support
|
4
4
|
|
5
|
+
#
|
6
|
+
# Subclass and override methods from this class
|
7
|
+
# to implement your own event listener.
|
8
|
+
#
|
9
|
+
# @example
|
10
|
+
#
|
11
|
+
# class NavigationListener < Selenium::WebDriver::Support::AbstractEventListener
|
12
|
+
# def initialize(log)
|
13
|
+
# @log = log
|
14
|
+
# end
|
15
|
+
#
|
16
|
+
# def before_navigate_to(url, driver)
|
17
|
+
# @log.info "navigating to #{url}"
|
18
|
+
# end
|
19
|
+
#
|
20
|
+
# def after_navigate_to(url, driver)
|
21
|
+
# @log.info "done navigating to #{url}"
|
22
|
+
# end
|
23
|
+
# end
|
24
|
+
#
|
25
|
+
# listener = NavigationListener.new(logger)
|
26
|
+
# driver = Selenium::WebDriver.for :firefox, :listener => listener
|
27
|
+
#
|
28
|
+
#
|
29
|
+
|
5
30
|
class AbstractEventListener
|
6
31
|
def before_navigate_to(url, driver) end
|
7
32
|
def after_navigate_to(url, driver) end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: browserstack-webdriver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.40.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- BrowserStack
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-03-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multi_json
|
@@ -25,61 +25,79 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: rubyzip
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0
|
33
|
+
version: '1.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0
|
40
|
+
version: '1.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: childprocess
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: '0.5'
|
48
|
+
- - '>='
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: 0.5.0
|
48
51
|
type: :runtime
|
49
52
|
prerelease: false
|
50
53
|
version_requirements: !ruby/object:Gem::Requirement
|
51
54
|
requirements:
|
52
55
|
- - ~>
|
53
56
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
57
|
+
version: '0.5'
|
58
|
+
- - '>='
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 0.5.0
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
62
|
+
name: websocket
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
58
64
|
requirements:
|
59
|
-
- -
|
65
|
+
- - ~>
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '1.0'
|
68
|
+
- - '>='
|
60
69
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
70
|
+
version: 1.0.4
|
62
71
|
type: :runtime
|
63
72
|
prerelease: false
|
64
73
|
version_requirements: !ruby/object:Gem::Requirement
|
65
74
|
requirements:
|
66
|
-
- -
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '1.0'
|
78
|
+
- - '>='
|
67
79
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
80
|
+
version: 1.0.4
|
69
81
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
82
|
+
name: net-http-persistent
|
71
83
|
requirement: !ruby/object:Gem::Requirement
|
72
84
|
requirements:
|
73
85
|
- - ~>
|
74
86
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
87
|
+
version: '2.9'
|
88
|
+
- - '>='
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: 2.9.1
|
76
91
|
type: :runtime
|
77
92
|
prerelease: false
|
78
93
|
version_requirements: !ruby/object:Gem::Requirement
|
79
94
|
requirements:
|
80
95
|
- - ~>
|
81
96
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
97
|
+
version: '2.9'
|
98
|
+
- - '>='
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: 2.9.1
|
83
101
|
- !ruby/object:Gem::Dependency
|
84
102
|
name: rspec
|
85
103
|
requirement: !ruby/object:Gem::Requirement
|
@@ -113,6 +131,9 @@ dependencies:
|
|
113
131
|
requirement: !ruby/object:Gem::Requirement
|
114
132
|
requirements:
|
115
133
|
- - ~>
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: '1.6'
|
136
|
+
- - '>='
|
116
137
|
- !ruby/object:Gem::Version
|
117
138
|
version: 1.6.2
|
118
139
|
type: :development
|
@@ -120,6 +141,9 @@ dependencies:
|
|
120
141
|
version_requirements: !ruby/object:Gem::Requirement
|
121
142
|
requirements:
|
122
143
|
- - ~>
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '1.6'
|
146
|
+
- - '>='
|
123
147
|
- !ruby/object:Gem::Version
|
124
148
|
version: 1.6.2
|
125
149
|
- !ruby/object:Gem::Dependency
|
@@ -127,6 +151,9 @@ dependencies:
|
|
127
151
|
requirement: !ruby/object:Gem::Requirement
|
128
152
|
requirements:
|
129
153
|
- - ~>
|
154
|
+
- !ruby/object:Gem::Version
|
155
|
+
version: '1.7'
|
156
|
+
- - '>='
|
130
157
|
- !ruby/object:Gem::Version
|
131
158
|
version: 1.7.5
|
132
159
|
type: :development
|
@@ -134,6 +161,9 @@ dependencies:
|
|
134
161
|
version_requirements: !ruby/object:Gem::Requirement
|
135
162
|
requirements:
|
136
163
|
- - ~>
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '1.7'
|
166
|
+
- - '>='
|
137
167
|
- !ruby/object:Gem::Version
|
138
168
|
version: 1.7.5
|
139
169
|
description: Ruby bindings for selenium webdriver which supports keep-alive protocl
|
@@ -144,12 +174,13 @@ extensions: []
|
|
144
174
|
extra_rdoc_files: []
|
145
175
|
files:
|
146
176
|
- CHANGES
|
177
|
+
- COPYING
|
147
178
|
- LICENSE.txt
|
148
179
|
- README.md
|
149
180
|
- browserstack-webdriver.gemspec
|
150
181
|
- build.desc
|
182
|
+
- lib/browserstack-webdriver.rb
|
151
183
|
- lib/selenium-client.rb
|
152
|
-
- lib/selenium-webdriver.rb
|
153
184
|
- lib/selenium/client.rb
|
154
185
|
- lib/selenium/client/base.rb
|
155
186
|
- lib/selenium/client/driver.rb
|
@@ -221,7 +252,11 @@ files:
|
|
221
252
|
- lib/selenium/webdriver/firefox/binary.rb
|
222
253
|
- lib/selenium/webdriver/firefox/bridge.rb
|
223
254
|
- lib/selenium/webdriver/firefox/extension.rb
|
255
|
+
- lib/selenium/webdriver/firefox/extension/prefs.json
|
256
|
+
- lib/selenium/webdriver/firefox/extension/webdriver.xpi
|
224
257
|
- lib/selenium/webdriver/firefox/launcher.rb
|
258
|
+
- lib/selenium/webdriver/firefox/native/linux/amd64/x_ignore_nofocus.so
|
259
|
+
- lib/selenium/webdriver/firefox/native/linux/x86/x_ignore_nofocus.so
|
225
260
|
- lib/selenium/webdriver/firefox/profile.rb
|
226
261
|
- lib/selenium/webdriver/firefox/profiles_ini.rb
|
227
262
|
- lib/selenium/webdriver/firefox/socket_lock.rb
|
@@ -250,7 +285,10 @@ files:
|
|
250
285
|
- lib/selenium/webdriver/safari.rb
|
251
286
|
- lib/selenium/webdriver/safari/bridge.rb
|
252
287
|
- lib/selenium/webdriver/safari/browser.rb
|
253
|
-
- lib/selenium/webdriver/safari/
|
288
|
+
- lib/selenium/webdriver/safari/extensions.rb
|
289
|
+
- lib/selenium/webdriver/safari/options.rb
|
290
|
+
- lib/selenium/webdriver/safari/resources/SafariDriver.safariextz
|
291
|
+
- lib/selenium/webdriver/safari/resources/client.js
|
254
292
|
- lib/selenium/webdriver/safari/server.rb
|
255
293
|
- lib/selenium/webdriver/support.rb
|
256
294
|
- lib/selenium/webdriver/support/abstract_event_listener.rb
|
@@ -366,7 +404,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
366
404
|
version: '0'
|
367
405
|
requirements: []
|
368
406
|
rubyforge_project:
|
369
|
-
rubygems_version: 2.
|
407
|
+
rubygems_version: 2.0.3
|
370
408
|
signing_key:
|
371
409
|
specification_version: 4
|
372
410
|
summary: Ruby bindings for selenium webdriver with support for keep-alive
|
@@ -1,120 +0,0 @@
|
|
1
|
-
module Selenium
|
2
|
-
module WebDriver
|
3
|
-
module Safari
|
4
|
-
class Extension
|
5
|
-
|
6
|
-
PLIST = <<-XML
|
7
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
8
|
-
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
9
|
-
<plist version="1.0">
|
10
|
-
<dict>
|
11
|
-
<key>Available Updates</key>
|
12
|
-
<dict>
|
13
|
-
<key>Last Update Check Time</key>
|
14
|
-
<real>370125644.75941497</real>
|
15
|
-
<key>Updates List</key>
|
16
|
-
<array/>
|
17
|
-
</dict>
|
18
|
-
<key>Installed Extensions</key>
|
19
|
-
<array>
|
20
|
-
<dict>
|
21
|
-
<key>Added Non-Default Toolbar Items</key>
|
22
|
-
<array/>
|
23
|
-
<key>Archive File Name</key>
|
24
|
-
<string>WebDriver.safariextz</string>
|
25
|
-
<key>Bundle Directory Name</key>
|
26
|
-
<string>WebDriver.safariextension</string>
|
27
|
-
<key>Enabled</key>
|
28
|
-
<true/>
|
29
|
-
<key>Hidden Bars</key>
|
30
|
-
<array/>
|
31
|
-
<key>Removed Default Toolbar Items</key>
|
32
|
-
<array/>
|
33
|
-
</dict>
|
34
|
-
</array>
|
35
|
-
<key>Version</key>
|
36
|
-
<integer>1</integer>
|
37
|
-
</dict>
|
38
|
-
</plist>
|
39
|
-
XML
|
40
|
-
|
41
|
-
def initialize(opts = {})
|
42
|
-
@custom_data_dir = opts[:custom_data_dir]
|
43
|
-
@installed = false
|
44
|
-
end
|
45
|
-
|
46
|
-
def install
|
47
|
-
return if @installed
|
48
|
-
|
49
|
-
if install_directory.exist?
|
50
|
-
FileUtils.mv install_directory.to_s, backup_directory.to_s
|
51
|
-
end
|
52
|
-
|
53
|
-
install_directory.mkpath
|
54
|
-
|
55
|
-
extension_destination.rmtree if extension_destination.exist?
|
56
|
-
FileUtils.cp extension_source.to_s, extension_destination.to_s
|
57
|
-
|
58
|
-
plist_destination.open('w') { |io| io << PLIST }
|
59
|
-
|
60
|
-
at_exit { uninstall }
|
61
|
-
@installed = true
|
62
|
-
end
|
63
|
-
|
64
|
-
def uninstall
|
65
|
-
return unless @installed
|
66
|
-
|
67
|
-
install_directory.rmtree if install_directory.exist?
|
68
|
-
|
69
|
-
if backup_directory.exist?
|
70
|
-
FileUtils.mv backup_directory.to_s, install_directory.to_s
|
71
|
-
end
|
72
|
-
ensure
|
73
|
-
@installed = false
|
74
|
-
end
|
75
|
-
|
76
|
-
def extension_source
|
77
|
-
Safari.resource_path.join('SafariDriver.safariextz')
|
78
|
-
end
|
79
|
-
|
80
|
-
def extension_destination
|
81
|
-
install_directory.join('WebDriver.safariextz')
|
82
|
-
end
|
83
|
-
|
84
|
-
def backup_directory
|
85
|
-
Pathname.new("#{install_directory.to_s}.bak")
|
86
|
-
end
|
87
|
-
|
88
|
-
def plist_destination
|
89
|
-
install_directory.join('Extensions.plist')
|
90
|
-
end
|
91
|
-
|
92
|
-
def install_directory
|
93
|
-
@install_directory ||= (
|
94
|
-
data_dir = Pathname.new(@custom_data_dir || safari_data_dir)
|
95
|
-
|
96
|
-
unless data_dir.exist? && data_dir.directory?
|
97
|
-
raise Errno::ENOENT, "Safari data directory not found at #{data_dir.to_s}"
|
98
|
-
end
|
99
|
-
|
100
|
-
data_dir.join('Extensions')
|
101
|
-
)
|
102
|
-
end
|
103
|
-
|
104
|
-
def safari_data_dir
|
105
|
-
current = Platform.os
|
106
|
-
|
107
|
-
case current
|
108
|
-
when :macosx
|
109
|
-
Pathname.new(Platform.home).join('Library/Safari')
|
110
|
-
when :windows
|
111
|
-
Pathname.new(ENV['APPDATA']).join('Apple Computer/Safari')
|
112
|
-
else
|
113
|
-
raise Error::WebDriverError, "unsupported platform: #{current}"
|
114
|
-
end
|
115
|
-
end
|
116
|
-
|
117
|
-
end
|
118
|
-
end
|
119
|
-
end
|
120
|
-
end
|