appium_lib_core 5.1.2 → 5.2.2

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: 02b4dc4e7053fd4d10214334441ab3f1910018ae4ad9fc407dedc356f0bdd7ba
4
- data.tar.gz: 35ed4881f7ac3c221934e5d082ea73ce5ef632c99b30c4363ce367979e5c4dce
3
+ metadata.gz: d2e9e66ac36a61dfee3dcb2b0d2af04ce15bdd181084d3e46dd177ae49baa8e0
4
+ data.tar.gz: 1121dd0e2d6dddd147b74cf3d6bbba237c043562d3b5335d857abfaf38930784
5
5
  SHA512:
6
- metadata.gz: 3888ab02b863794e4290ed2741419ff33131deb7e065054458a43bc05e963e09f2191609cb647640beee2cd47e3df1994ec95c0e700ae06155245244b95aca06
7
- data.tar.gz: cbfd890bad70c6fc5095db493e4c25f91bcbb6fe9371a3b709d87052b231eb1c680f05cef8e4271e7fbf572a7ceb41cfd13bd01b12d6cd7ab077fba88bf76245
6
+ metadata.gz: 820857df9741087a0e29e6462da4af2c74413a336ae100c389f8f252a90766166d0bb7458c517e557da1b132afe82634f56f95048529e91330903f01aef51cee
7
+ data.tar.gz: 774da0cf3bb49d4c853f93fb4be2c1863ea609aa4f261bd3f077d02036e8450a2783d266200dac159835e8cd9c81795855d186d3439e36c9964b215304041242
data/CHANGELOG.md CHANGED
@@ -10,6 +10,28 @@ Read `release_notes.md` for commit level details.
10
10
 
11
11
  ### Deprecations
12
12
 
13
+ ## [5.2.2] - 2022-06-26
14
+
15
+ ### Enhancements
16
+ - Relax the selenium webdriver version restriction of `4.2.0`
17
+
18
+ ### Bug fixes
19
+ - Remove undefined module in selenium webdriver version `4.3.0`
20
+
21
+ ## [5.2.1] - 2022-06-24
22
+
23
+ ### Bug fixes
24
+ - Restrict the selenium webdriver version to `4.2.0`
25
+
26
+ ## [5.2.0] - 2022-06-19
27
+
28
+ ### Enhancements
29
+
30
+ - Update base Selenium Ruby client to `4.2+`
31
+ - Please call `key_action` or set `[::Selenium::WebDriver::Interactions.key('keyboard')]` as the deviecs parameter to build `driver.send_keys().perform` W3C action.
32
+ - `driver.key_action.send_keys('xxx').perform` instead of `driver.action.send_keys('xxx').perform`, or `driver.action(devices: [::Selenium::WebDriver::Interactions.key('keyboard')]).send_keys('xxx').perform`.
33
+ - [This PR change](https://github.com/appium/ruby_lib_core/pull/381/files) will help to update your some actions.
34
+
13
35
  ## [5.1.2] - 2022-06-02
14
36
 
15
37
  ### Enhancements
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'appium_lib_core/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.required_ruby_version = '>= 2.6'
7
+ spec.required_ruby_version = '>= 2.7'
8
8
 
9
9
  spec.name = 'appium_lib_core'
10
10
  spec.version = Appium::Core::VERSION
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ['lib']
24
24
 
25
- spec.add_runtime_dependency 'selenium-webdriver', '~> 4.0', '< 4.2'
25
+ spec.add_runtime_dependency 'selenium-webdriver', '~> 4.2', '< 4.4'
26
26
  spec.add_runtime_dependency 'faye-websocket', '~> 0.11.0'
27
27
 
28
28
  spec.add_development_dependency 'rake', '~> 13.0'
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
30
30
  spec.add_development_dependency 'minitest', '~> 5.0'
31
31
  spec.add_development_dependency 'minitest-reporters', '~> 1.1'
32
32
  spec.add_development_dependency 'webmock', '~> 3.14.0'
33
- spec.add_development_dependency 'rubocop', '1.30.0'
33
+ spec.add_development_dependency 'rubocop', '1.30.1'
34
34
  spec.add_development_dependency 'appium_thor', '~> 1.0'
35
35
  spec.add_development_dependency 'parallel_tests'
36
36
  spec.add_development_dependency 'simplecov'
@@ -153,30 +153,26 @@ module Appium
153
153
  execute :status
154
154
  end
155
155
 
156
- # Perform touch actions for W3C module.
156
+ # Perform 'touch' actions for W3C module.
157
157
  # Generate +touch+ pointer action here and users can use this via +driver.action+
158
158
  # - https://seleniumhq.github.io/selenium/docs/api/rb/Selenium/WebDriver/W3CActionBuilder.html
159
159
  # - https://seleniumhq.github.io/selenium/docs/api/rb/Selenium/WebDriver/PointerActions.html
160
160
  # - https://seleniumhq.github.io/selenium/docs/api/rb/Selenium/WebDriver/KeyActions.html
161
161
  #
162
- # The pointer type is 'touch' by default in the Appium Ruby client. (The selenium one is 'mouse')
162
+ # The pointer type is 'touch' by default in the Appium Ruby client.
163
163
  #
164
164
  # @example
165
165
  #
166
166
  # element = @driver.find_element(:id, "some id")
167
167
  # @driver.action.click(element).perform # The 'click' is a part of 'PointerActions'
168
168
  #
169
- def action(async = false)
170
- action_builder = ::Selenium::WebDriver::ActionBuilder.new(
169
+ def action(_deprecated_async = nil, async: false, devices: nil)
170
+ ::Selenium::WebDriver::ActionBuilder.new(
171
171
  self,
172
- ::Selenium::WebDriver::Interactions.pointer(:touch, name: 'touch'),
173
- ::Selenium::WebDriver::Interactions.key('keyboard'),
174
- async
172
+ devices: devices || [::Selenium::WebDriver::Interactions.pointer(:touch, name: 'touch')],
173
+ async: async,
174
+ duration: 50 # milliseconds
175
175
  )
176
- # Used for default duration of each touch actions.
177
- # Override from 250 milliseconds to 50 milliseconds in PointerActions included by ::Selenium::WebDriver::ActionBuilder
178
- action_builder.default_move_duration = 0.05
179
- action_builder
180
176
  end
181
177
 
182
178
  # Port from MJSONWP
@@ -29,7 +29,6 @@ module Appium
29
29
  class Driver < ::Selenium::WebDriver::Driver
30
30
  include ::Selenium::WebDriver::DriverExtensions::UploadsFiles
31
31
  include ::Selenium::WebDriver::DriverExtensions::HasSessionId
32
- include ::Selenium::WebDriver::DriverExtensions::HasRemoteStatus
33
32
  include ::Selenium::WebDriver::DriverExtensions::HasWebStorage
34
33
 
35
34
  include ::Appium::Core::Base::Rotatable
@@ -181,6 +180,31 @@ module Appium
181
180
 
182
181
  ### Methods for Appium
183
182
 
183
+ # Perform 'key' actions for W3C module.
184
+ # Generate +key+ pointer action here and users can use this via +driver.key_action+
185
+ # - https://seleniumhq.github.io/selenium/docs/api/rb/Selenium/WebDriver/W3CActionBuilder.html
186
+ # - https://seleniumhq.github.io/selenium/docs/api/rb/Selenium/WebDriver/KeyActions.html
187
+ #
188
+ # The pointer type is 'key' by default in the Appium Ruby client.
189
+ # +driver.action+ in Appium Ruby client has 'pointer' action by default.
190
+ # This method is a shortcut to set 'key' type.
191
+ # Hense this method is equal to +driver.action(devices: [::Selenium::WebDriver::Interactions.key('keyboard')])+
192
+ # as below example.
193
+ #
194
+ # @example
195
+ #
196
+ # element = @driver.find_element(:id, "some id")
197
+ # @driver.key_action.send_key('hiあ').perform # The 'send_key' is a part of 'KeyActions'
198
+ # # is equal to:
199
+ # # @driver.action(devices: [::Selenium::WebDriver::Interactions.key('keyboard')]).send_keys('hiあ').perform
200
+ #
201
+ def key_action(async: false)
202
+ @bridge.action(
203
+ async: async,
204
+ devices: [::Selenium::WebDriver::Interactions.key('keyboard')]
205
+ )
206
+ end
207
+
184
208
  # Lock the device
185
209
  # @return [String]
186
210
  #
@@ -14,7 +14,7 @@
14
14
 
15
15
  module Appium
16
16
  module Core
17
- VERSION = '5.1.2' unless defined? ::Appium::Core::VERSION
18
- DATE = '2022-06-02' unless defined? ::Appium::Core::DATE
17
+ VERSION = '5.2.2' unless defined? ::Appium::Core::VERSION
18
+ DATE = '2022-06-26' unless defined? ::Appium::Core::DATE
19
19
  end
20
20
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appium_lib_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.1.2
4
+ version: 5.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kazuaki MATSUO
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-06-03 00:00:00.000000000 Z
11
+ date: 2022-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: selenium-webdriver
@@ -16,20 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '4.0'
19
+ version: '4.2'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '4.2'
22
+ version: '4.4'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: '4.0'
29
+ version: '4.2'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '4.2'
32
+ version: '4.4'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: faye-websocket
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -120,14 +120,14 @@ dependencies:
120
120
  requirements:
121
121
  - - '='
122
122
  - !ruby/object:Gem::Version
123
- version: 1.30.0
123
+ version: 1.30.1
124
124
  type: :development
125
125
  prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
127
127
  requirements:
128
128
  - - '='
129
129
  - !ruby/object:Gem::Version
130
- version: 1.30.0
130
+ version: 1.30.1
131
131
  - !ruby/object:Gem::Dependency
132
132
  name: appium_thor
133
133
  requirement: !ruby/object:Gem::Requirement
@@ -280,7 +280,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
280
280
  requirements:
281
281
  - - ">="
282
282
  - !ruby/object:Gem::Version
283
- version: '2.6'
283
+ version: '2.7'
284
284
  required_rubygems_version: !ruby/object:Gem::Requirement
285
285
  requirements:
286
286
  - - ">="