appium_lib_core 12.0.0 → 12.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a805f2c5bbd5dc27e1cc04c293599e9bce82483993bbb2bbe3d52c591dad4b56
4
- data.tar.gz: '09d935617bff88069b7da75072dc322c54cf57a38de1c89da619fa60b08af9ec'
3
+ metadata.gz: 92050dbff8ddd9ada25541591ea3bdfd8e9e45529aaa702d7ce2610b7a8f3347
4
+ data.tar.gz: 9572c6c197b671c189d2532c79dea7b175ef9d704cdaf274acd5335ad4092a3d
5
5
  SHA512:
6
- metadata.gz: 1d79ce647fb5484b35fd46f2433e1bc615ca72ba224136fe81710a55feae59363f1b478e5e4c5e8c1ebbf0ac11d6e1ab4352bbdfa866a7c1a5feb4a8ee7c4cee
7
- data.tar.gz: f76855bd2fd8c8f5eae448abda265b649cde89fea4998e17ec8eebb9fd4b3fcc916f095fc32a12814df41a30c6cbaaf949504840156c98f131ae3b65e8b78d09
6
+ metadata.gz: f45f47ab8f95dea1bcdfb26b1811288ff17cb8bda5837e5cc7bc9f47f1b3890a8637cfc4caceebf03013fe0809377d12f02eecaaa442813409fc49feb3aac8c0
7
+ data.tar.gz: 1ec5c0ed972d09577eef5b01c1ec3713b52694f97dd6d596eb710c299a84f2ee9666d0dfc85a6c06e80cdb16be6561a40d7d95fabded6887ea0d360900697768
data/CHANGELOG.md CHANGED
@@ -2,6 +2,9 @@
2
2
  All notable changes to this project will be documented in this file.
3
3
  Read `release_notes.md` for commit level details.
4
4
 
5
+ ## [12.0.1] - 2026-03-07
6
+ - Improve Steep
7
+
5
8
  ## [12.0.0] - 2025-12-28
6
9
  - Remove `Appium::Core::WebSocket` which was for `appium/device/logcat` endpoint. Please use BiDi log endpoint such as [this test](https://github.com/appium/ruby_lib_core/blob/master/test/functional/android/webdriver/bidi_test.rb) instead.
7
10
  - update RBS files
data/Gemfile CHANGED
@@ -8,7 +8,7 @@ gem 'minitest', '~> 5.0'
8
8
  gem 'minitest-reporters', '~> 1.1'
9
9
  gem 'parallel_tests'
10
10
  gem 'rake', '~> 13.0'
11
- gem 'rubocop', '1.82.0'
11
+ gem 'rubocop', '1.85.0'
12
12
  gem 'simplecov'
13
13
  gem 'steep', '~> 1.10.0'
14
14
  gem 'webmock', '~> 3.26.0'
@@ -112,7 +112,7 @@ module Appium
112
112
  @available_commands = ::Appium::Core::Commands::COMMANDS.dup
113
113
 
114
114
  always_match = add_appium_prefix(capabilities)
115
- response = execute(:new_session, {}, { capabilities: { alwaysMatch: always_match, firstMatch: [{}] } })
115
+ response = execute(:new_session, {}, { capabilities: { alwaysMatch: always_match, firstMatch: [{}] } }) # steep:ignore
116
116
 
117
117
  @session_id = response['sessionId']
118
118
  raise ::Selenium::WebDriver::Error::WebDriverError, 'no sessionId in returned payload' unless @session_id
@@ -273,7 +273,7 @@ module Appium
273
273
  # No implementation for W3C webdriver module
274
274
  def available_log_types
275
275
  types = execute :get_available_log_types
276
- Array(types).map(&:to_sym)
276
+ Array(types).map(&:to_sym) # steep:ignore
277
277
  end
278
278
 
279
279
  # For Appium
@@ -297,7 +297,7 @@ module Appium
297
297
 
298
298
  # For Appium
299
299
  def log_events(type = nil)
300
- args = {}
300
+ args = {} # steep:ignore
301
301
  args['type'] = type unless type.nil?
302
302
 
303
303
  execute :get_log_events, {}, args
@@ -208,7 +208,7 @@ module Appium
208
208
  chrome_send_command: [:post, 'session/:session_id/goog/cdp/execute']
209
209
  }.freeze
210
210
 
211
- COMMANDS = {}.merge(COMMAND).merge(COMMAND_ANDROID).freeze
211
+ COMMANDS = {}.merge(COMMAND).merge(COMMAND_ANDROID).freeze # steep:ignore
212
212
  end # module Commands
213
213
  end # module Core
214
214
  end # module Appium
@@ -18,7 +18,7 @@ module Appium
18
18
  module Device
19
19
  module AppManagement
20
20
  def app_strings(language = nil)
21
- opts = language ? { language: language } : {}
21
+ opts = language ? { language: language } : {} # steep:ignore
22
22
  execute_script 'mobile:getAppStrings', opts
23
23
  end
24
24
 
@@ -27,7 +27,7 @@ module Appium
27
27
  raise NotImplementedError
28
28
  end
29
29
 
30
- def install_app(path, options = {})
30
+ def install_app(path, options = {}) # steep:ignore
31
31
  args = { appPath: path }
32
32
  args[:options] = options unless options&.empty?
33
33
 
@@ -22,7 +22,7 @@ module Appium
22
22
  end
23
23
 
24
24
  def device_time(format = nil)
25
- arg = {}
25
+ arg = {} # steep:ignore
26
26
  arg[:format] = format unless format.nil?
27
27
 
28
28
  execute_script 'mobile:getDeviceTime', arg
@@ -18,7 +18,7 @@ module Appium
18
18
  module Device
19
19
  module DeviceLock
20
20
  def lock(duration = nil)
21
- opts = duration ? { seconds: duration } : {}
21
+ opts = duration ? { seconds: duration } : {} # steep:ignore
22
22
  execute_script 'mobile:lock', opts
23
23
  end
24
24
 
@@ -68,7 +68,7 @@ module Appium
68
68
  raise ::Appium::Core::Error::ArgumentError, "match_func should be #{MATCH_FEATURES[:match_func]}" unless MATCH_FEATURES[:match_func].member?(match_func.to_s)
69
69
  raise ::Appium::Core::Error::ArgumentError, "visualize should be #{MATCH_FEATURES[:visualize]}" unless MATCH_FEATURES[:visualize].member?(visualize)
70
70
 
71
- options = {}
71
+ options = {} # steep:ignore
72
72
  options[:detectorName] = detector_name.to_s.upcase
73
73
  options[:matchFunc] = match_func.to_s
74
74
  options[:goodMatchesFactor] = good_matches_factor.to_i unless good_matches_factor.nil?
@@ -108,7 +108,7 @@ module Appium
108
108
  "visualize should be #{MATCH_TEMPLATE[:visualize]}"
109
109
  end
110
110
 
111
- options = {}
111
+ options = {} # steep:ignore
112
112
  options[:visualize] = visualize
113
113
  options[:threshold] = threshold unless threshold.nil?
114
114
  options[:multiple] = multiple unless multiple.nil?
@@ -138,7 +138,7 @@ module Appium
138
138
  "visualize should be #{GET_SIMILARITY[:visualize]}"
139
139
  end
140
140
 
141
- options = {}
141
+ options = {} # steep:ignore
142
142
  options[:visualize] = visualize
143
143
 
144
144
  compare_images(mode: :getSimilarity, first_image: first_image, second_image: second_image, options: options)
@@ -160,7 +160,7 @@ module Appium
160
160
  def compare_images(mode: :matchFeatures, first_image:, second_image:, options: nil)
161
161
  raise ::Appium::Core::Error::ArgumentError, "content_type should be #{MODE}" unless MODE.member?(mode)
162
162
 
163
- params = {}
163
+ params = {} # steep:ignore
164
164
  params[:mode] = mode
165
165
  params[:firstImage] = Base64.strict_encode64 first_image
166
166
  params[:secondImage] = Base64.strict_encode64 second_image
@@ -18,7 +18,7 @@ module Appium
18
18
  module Device
19
19
  module Keyboard
20
20
  def hide_keyboard(close_key = nil)
21
- option = {}
21
+ option = {} # steep:ignore
22
22
 
23
23
  option[:key] = close_key || 'Done' # default to Done key.
24
24
 
@@ -35,7 +35,7 @@ module Appium
35
35
  'method should be POST or PUT'
36
36
  end
37
37
 
38
- option = {}
38
+ option = {} # steep:ignore
39
39
  option[:remotePath] = remote_path
40
40
  option[:user] = user unless user.nil?
41
41
  option[:pass] = pass unless pass.nil?
@@ -64,7 +64,7 @@ module Appium
64
64
  file_field_name: file_field_name, form_fields: form_fields, headers: headers
65
65
  ).upload_option
66
66
 
67
- params = option.empty? ? {} : { options: option }
67
+ params = option.empty? ? {} : { options: option } # steep:ignore
68
68
 
69
69
  execute(:stop_recording_screen, {}, params)
70
70
  end
@@ -603,7 +603,7 @@ module Appium
603
603
  o = opts || {}
604
604
 
605
605
  raw_caps = o[:caps] || o[:capabilities]
606
- caps_hash = raw_caps.is_a?(Hash) ? raw_caps : {}
606
+ caps_hash = raw_caps.is_a?(Hash) ? raw_caps : {} # steep:ignore
607
607
 
608
608
  Core::Base::Capabilities.new(caps_hash)
609
609
  end
@@ -631,7 +631,7 @@ module Appium
631
631
  app = get_app # for steep reason
632
632
  return unless app && app.empty?
633
633
 
634
- uri_regex = defined?(URI::RFC2396_PARSER) ? URI::RFC2396_PARSER : URI::DEFAULT_PARSER
634
+ uri_regex = defined?(URI::RFC2396_PARSER) ? URI::RFC2396_PARSER : URI::DEFAULT_PARSER # steep:ignore
635
635
  return if app =~ uri_regex.make_regexp
636
636
 
637
637
  # steep:ignore
@@ -14,7 +14,7 @@
14
14
 
15
15
  module Appium
16
16
  module Core
17
- VERSION = '12.0.0' unless defined? ::Appium::Core::VERSION
18
- DATE = '2025-12-28' unless defined? ::Appium::Core::DATE
17
+ VERSION = '12.0.1' unless defined? ::Appium::Core::VERSION
18
+ DATE = '2026-03-07' unless defined? ::Appium::Core::DATE
19
19
  end
20
20
  end
@@ -36,7 +36,7 @@ module Appium
36
36
  # the methods which expect the symbol first.
37
37
  raise ::Appium::Core::Error::ArgumentError, 'symbolize_keys requires a hash' unless hash.is_a? Hash
38
38
 
39
- hash.each_with_object({}) do |pair, acc|
39
+ hash.each_with_object({}) do |pair, acc| # steep:ignore
40
40
  key = begin
41
41
  if enable_deprecation_msg && !(pair[0].is_a? Symbol)
42
42
  ::Appium::Logger.warn("[Deprecation] The key '#{pair[0]}' must be a symbol while currently it " \
@@ -4,6 +4,9 @@ module Selenium
4
4
  module UnknownError
5
5
  def message: -> String
6
6
  end
7
+
8
+ class WebDriverError < StandardError
9
+ end
7
10
  end
8
11
  end
9
12
  end
@@ -2,6 +2,8 @@ module Appium
2
2
  module Core
3
3
  class Base
4
4
  class Capabilities < Selenium::WebDriver::Remote::Capabilities
5
+ KNOWN: Array[Symbol]
6
+
5
7
  def convert_key: (untyped key) -> untyped
6
8
 
7
9
  # Inherit json_create from parent, but you can redeclare for clarity:
@@ -157,6 +157,8 @@ module Appium
157
157
  def execute_driver: (?script: ::String, ?type: ::String, ?timeout_ms: untyped?) -> untyped
158
158
 
159
159
  def convert_to_element: (untyped response_id) -> untyped
160
+
161
+ def bidi: () -> untyped
160
162
  end
161
163
  end
162
164
  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: 12.0.0
4
+ version: 12.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kazuaki MATSUO
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-12-28 00:00:00.000000000 Z
11
+ date: 2026-03-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: selenium-webdriver