browserstack-webdriver 0.0.22 → 2.40.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +23 -4
  3. data/COPYING +204 -0
  4. data/README.md +0 -1
  5. data/browserstack-webdriver.gemspec +9 -9
  6. data/lib/{selenium-webdriver.rb → browserstack-webdriver.rb} +0 -0
  7. data/lib/selenium/client.rb +2 -1
  8. data/lib/selenium/webdriver/android/bridge.rb +2 -0
  9. data/lib/selenium/webdriver/chrome/profile.rb +0 -0
  10. data/lib/selenium/webdriver/common/file_reaper.rb +10 -3
  11. data/lib/selenium/webdriver/common/mouse.rb +0 -0
  12. data/lib/selenium/webdriver/common/proxy.rb +0 -0
  13. data/lib/selenium/webdriver/common/touch_screen.rb +0 -0
  14. data/lib/selenium/webdriver/firefox/extension/prefs.json +62 -0
  15. data/lib/selenium/webdriver/firefox/extension/webdriver.xpi +0 -0
  16. data/lib/selenium/webdriver/firefox/native/linux/amd64/x_ignore_nofocus.so +0 -0
  17. data/lib/selenium/webdriver/firefox/native/linux/x86/x_ignore_nofocus.so +0 -0
  18. data/lib/selenium/webdriver/firefox/profile.rb +0 -0
  19. data/lib/selenium/webdriver/iphone/bridge.rb +1 -1
  20. data/lib/selenium/webdriver/remote.rb +1 -1
  21. data/lib/selenium/webdriver/remote/bridge.rb +2 -2
  22. data/lib/selenium/webdriver/remote/capabilities.rb +0 -0
  23. data/lib/selenium/webdriver/safari.rb +9 -8
  24. data/lib/selenium/webdriver/safari/bridge.rb +23 -13
  25. data/lib/selenium/webdriver/safari/extensions.rb +170 -0
  26. data/lib/selenium/webdriver/safari/options.rb +79 -0
  27. data/lib/selenium/webdriver/safari/resources/SafariDriver.safariextz +0 -0
  28. data/lib/selenium/webdriver/safari/resources/client.js +5556 -0
  29. data/lib/selenium/webdriver/support/abstract_event_listener.rb +25 -0
  30. metadata +59 -21
  31. 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: 0.0.22
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: 2013-11-05 00:00:00.000000000 Z
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: childprocess
28
+ name: rubyzip
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: 0.2.5
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.2.5
40
+ version: '1.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: websocket
42
+ name: childprocess
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ~>
46
46
  - !ruby/object:Gem::Version
47
- version: 1.0.4
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: 1.0.4
57
+ version: '0.5'
58
+ - - '>='
59
+ - !ruby/object:Gem::Version
60
+ version: 0.5.0
55
61
  - !ruby/object:Gem::Dependency
56
- name: zipruby
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.3.6
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.3.6
80
+ version: 1.0.4
69
81
  - !ruby/object:Gem::Dependency
70
- name: curb
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: 0.8.5
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: 0.8.5
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/extension.rb
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.1.10
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