webdriver 0.10.0 → 0.11.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 54136818f569b858653a2e8b1c3c254c3ac1de3cbe91471d70f14566b6831dba
4
- data.tar.gz: 2dd30468267b9bec0a22356cadf1231d6e4f4088aadcffb9178ed1cbaead63a5
3
+ metadata.gz: e2cedf06258ad35e58eebf1a51682fae8eb58ab42a782e3f71fd8333bb87b350
4
+ data.tar.gz: 44583f74accd0d09c7ea419eaf373b61bf4e5ce2423ef628eecffe98f0cbd47b
5
5
  SHA512:
6
- metadata.gz: fe04903aa48f907ef9db28b9cb805316891719cc6a159ae41369d5a47e73165fe3f0e8f46c1142d18ceb2d74da1d57ff991f36875ff0336e1ed6b590aad7532d
7
- data.tar.gz: 4945825e44a81b9e6eafd748ffe24c37188ac7181fd792da9fdfbebb2d42f63fdacccf84609853c3e837476179ffd00140e4f0feaa3673e39718b811abfb8497
6
+ metadata.gz: 8833fa8e7a38d4e80cdebd3dd314d5fb006c8b8f27f3366114654a4c26616dcce96e25056f2b86da6130a6703d86a77c442618762ff129c66391805643c895c5
7
+ data.tar.gz: efe90801a943b65bf9aca63ed8de6d6ccef273ce8c271a76bc2333aeb6db17cd2ec3d3d1f4ab35739cf06c47ff779fde74b8f75a4ac1af17adcd5168f8fcf022
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- webdriver (0.10.0)
4
+ webdriver (0.11.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -42,7 +42,11 @@ module Webdriver
42
42
  session_id = response_body.dig "sessionId"
43
43
  value = response_body.dig "value"
44
44
 
45
+
45
46
  case status
47
+ when nil
48
+ # application_status_cache
49
+ value
46
50
  when 0
47
51
  # POST /session has different response structure than other calls
48
52
  if method == :post && path == "/session"
@@ -61,7 +65,7 @@ module Webdriver
61
65
  if method == :get && path == "/status"
62
66
  value
63
67
  else
64
- raise [:unknown, response_body]
68
+ raise "unknown status: #{status}"
65
69
  end
66
70
  end
67
71
  end
@@ -14,6 +14,14 @@ module Webdriver
14
14
  @id == other.id
15
15
  end
16
16
 
17
+ def location_in_view
18
+ @connection.get "location_in_view"
19
+ end
20
+
21
+ def size
22
+ @connection.get "size"
23
+ end
24
+
17
25
  def screenshot
18
26
  @connection.get "screenshot"
19
27
  end
@@ -17,16 +17,89 @@ module Webdriver
17
17
  value.map { |id| Webdriver::Window.new id, @connection }
18
18
  end
19
19
 
20
+ def chromium_send_command_and_get_result! opts
21
+ # cmd: "Browser.getVersion", params: {}
22
+ @connection.post "chromium/send_command_and_get_result", {}, opts
23
+ end
24
+
25
+ def is_loading?
26
+ @connection.get "is_loading"
27
+ end
28
+
29
+ def page_freeze!
30
+ @connection.post "goog/page/freeze"
31
+ end
32
+
33
+ def page_resume!
34
+ # needs window min/max / timeout to resume
35
+ @connection.post "goog/page/resume"
36
+ end
37
+
38
+ # https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Keys
39
+ # enter "\ue007"
40
+ def keys= opts
41
+ @connection.post "keys", {}, opts
42
+ end
43
+
44
+ def moveto! opts
45
+ # xoffset, yoffset, element
46
+ @connection.post "moveto", {}, opts
47
+ end
48
+
49
+ def location
50
+ @connection.get "location"
51
+ end
52
+
53
+ def location! opts
54
+ #{location: {latitude: 20, longitude:20}}
55
+ @connection.post "location", {}, opts
56
+ end
57
+
58
+ def reporting_generate_test_report! opts
59
+ @connection.post "reporting/generate_test_report", {}, opts
60
+ end
61
+
62
+ def timeouts
63
+ @connection.get "timeouts"
64
+ end
65
+
66
+ def timeouts! opts
67
+ @connection.post "timeouts", {}, opts
68
+ self
69
+ end
70
+
71
+ def timeouts_async_script! opts
72
+ @connection.post "timeouts/async_script", {}, opts
73
+ end
74
+
75
+ def log_types
76
+ @connection.get "log/types"
77
+ end
78
+
79
+ def log type
80
+ @connection.post "log", {}, {
81
+ type: type
82
+ }
83
+ end
84
+
85
+ def application_cache_status
86
+ @connection.get "application_cache/status"
87
+ end
88
+
20
89
  # not implemented in chromedriver
21
- # def source
22
- # @connection.post "source"
23
- # end
90
+ def source
91
+ @connection.get "source"
92
+ end
93
+
94
+ def chromium_heap_snapshot
95
+ @connection.get "chromium/heap_snapshot"
96
+ end
24
97
 
25
98
  def chromium_network_conditions
26
99
  @connection.get "chromium/network_conditions"
27
100
  end
28
101
 
29
- def chromium_network_conditions=(conditions)
102
+ def chromium_network_conditions! conditions
30
103
  @connection.post "chromium/network_conditions", {}, conditions
31
104
  self
32
105
  end
@@ -163,15 +236,18 @@ module Webdriver
163
236
  end
164
237
  end
165
238
 
166
- # not implemented in chromedriver
167
- # def print!
168
- # @connection.post "print"
169
- # end
239
+ def print! opts
240
+ @connection.post "print", {} opts
241
+ end
170
242
 
171
243
  def screenshot
172
244
  @connection.get "screenshot"
173
245
  end
174
246
 
247
+ def screenshot_full
248
+ @connection.get "screenshot/full"
249
+ end
250
+
175
251
  # when moving with tab, or clicked
176
252
  def active_element
177
253
  el = @connection.get "element/active"
@@ -1,3 +1,3 @@
1
1
  module Webdriver
2
- VERSION = "0.10.0"
2
+ VERSION = "0.11.0"
3
3
  end
@@ -3,7 +3,20 @@ module Webdriver
3
3
  attr_reader :id
4
4
  def initialize(id, connection)
5
5
  @id = id
6
- @connection = Webdriver::PrefixConnection.new "window", connection
6
+ @session_connection = connection
7
+ @connection = Webdriver::PrefixConnection.new "window/#{@id}", connection
8
+ end
9
+
10
+ def size
11
+ @connection.get "size"
12
+ end
13
+
14
+ def position
15
+ @connection.get "position"
16
+ end
17
+
18
+ def position! opts
19
+ @connection.post "position", {}, opts
7
20
  end
8
21
 
9
22
  def maximize!
@@ -12,22 +25,22 @@ module Webdriver
12
25
  end
13
26
 
14
27
  def minimize!
15
- @connection.post "minimize"
28
+ @session_connection.post "window/minimize"
16
29
  self
17
30
  end
18
31
 
19
32
  def rect! width: nil, height: nil, x: nil, y:nil
20
- @connection.post("rect", {}, {
33
+ @session_connection.post "window/rect", {}, {
21
34
  width: width,
22
35
  height: height,
23
36
  x: x,
24
37
  y: y
25
- })
38
+ }
26
39
  self
27
40
  end
28
41
 
29
42
  def rect
30
- @connection.get "rect"
43
+ @session_connection.get "window/rect"
31
44
  end
32
45
 
33
46
  def fullscreen!
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webdriver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matti Paksula
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-08-14 00:00:00.000000000 Z
11
+ date: 2020-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler