appium_lib 16.3.2 → 16.4.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: a9c597c6061579f00a15f8f810558bf17d2e18756fd1be909b7b0bb0fad767ee
4
- data.tar.gz: 06cca509cfdbb9e9d941f5235e0c731808c7d3048a89dca3f9bc4b9f1fab8ac1
3
+ metadata.gz: 5206e8a735fef077d8eae00bd61c72be9d9845bd5e552ed5cc117b712d118ccf
4
+ data.tar.gz: 1e4b652e6c3a190612a46a514d56f040fe2cfc8a5caf30e64c6273b38608192e
5
5
  SHA512:
6
- metadata.gz: 224aa2d91da34b8c91bab8f93b1a47f0e9ed00fa0f3a752a4bf6b9cba29b6468a0cb56d02250c00cbee7e87da3bf1ee03275ae4d4b31f812581751a6df5b52ff
7
- data.tar.gz: bc510916871ae26d632a3887e83c4497951049ee5c31e796d0e8363f474660cd7bd09114facdf4e3890bc5dee6135bcd7ac45f5af7f1de27849e77985b8345bd
6
+ metadata.gz: b9288fcfbc87a7ef1de6fbecf09591eb6961b25f779c50a6a8a29d7cbe0a8f37e66c94fef47233f3fab5cf6df26b6624580ccbd83e0662d79d896b342d11f3f1
7
+ data.tar.gz: 0ffba8aae6f9bdcedc9da7c3aebb2db10cac1e067e38d89b373068555d242a8df18c4b94070c0f4851856f1e9478e136d1db07b2adc203f77c95a870e1a4bbd5
data/CHANGELOG.md CHANGED
@@ -4,6 +4,20 @@ New entries are maintained by Release Please.
4
4
 
5
5
  Release tags are https://github.com/appium/ruby_lib/releases .
6
6
 
7
+ ## [16.4.1](https://github.com/appium/ruby_lib/compare/v16.4.0...v16.4.1) (2026-10-28)
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * require error definitions, use next in HTMLElements#result, and fix Driver#log_event= error raising ([#1140](https://github.com/appium/ruby_lib/issues/1140)) ([1b28f90](https://github.com/appium/ruby_lib/commit/1b28f9008c488b8945cfbc41458bb430b2f7a546))
13
+
14
+ ## [16.4.0](https://github.com/appium/ruby_lib/compare/v16.3.2...v16.4.0) (2026-10-26)
15
+
16
+
17
+ ### Features
18
+
19
+ * include view-tag attribute in Android page inspection ([#1138](https://github.com/appium/ruby_lib/issues/1138)) ([0041940](https://github.com/appium/ruby_lib/commit/0041940f3588285ac10b7bdd95c227e4a559ce5f))
20
+
7
21
  ## [16.3.2](https://github.com/appium/ruby_lib/compare/v16.3.1...v16.3.2) (2026-09-14)
8
22
 
9
23
 
data/appium_lib.gemspec CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
18
18
 
19
19
  s.add_dependency 'appium_lib_core', '>= 13.0.0', '< 14.0'
20
20
  s.add_dependency 'nokogiri', '~> 1.8', '>= 1.8.1'
21
- s.add_dependency 'tomlrb', '>= 1.1', '< 3.0'
21
+ s.add_dependency 'tomlrb', '>= 1.1', '< 4.0'
22
22
 
23
23
  s.files = Dir.glob('lib/**/*.rb', base: __dir__) + %w[appium_lib.gemspec readme.md LICENSE-2.0.txt CHANGELOG.md]
24
24
  s.metadata['source_code_uri'] = s.homepage
@@ -34,7 +34,7 @@ module Appium
34
34
 
35
35
  def reset
36
36
  @result = ''
37
- @keys = %w(text resource-id content-desc)
37
+ @keys = %w(text resource-id content-desc view-tag)
38
38
  end
39
39
 
40
40
  # http://nokogiri.org/Nokogiri/XML/SAX/Document.html
@@ -47,7 +47,7 @@ module Appium
47
47
  attributes[key] = value if keys.include?(key) && !value.empty?
48
48
  end
49
49
 
50
- # scoped to: text resource-id content-desc
50
+ # scoped to: text resource-id content-desc view-tag
51
51
  attributes_values = attributes.values
52
52
  strings = driver.lazy_load_strings
53
53
  id_matches = strings.empty? ? [] : strings.select { |_key, value| attributes_values.include? value }
@@ -72,6 +72,7 @@ module Appium
72
72
  text = attributes['text']
73
73
  desc = attributes['content-desc']
74
74
  id = attributes['resource-id']
75
+ tag = attributes['view-tag']
75
76
 
76
77
  if !text.nil? && text == desc
77
78
  string += " text, desc: #{text}\n"
@@ -80,6 +81,7 @@ module Appium
80
81
  string += " desc: #{desc}\n" unless desc.nil?
81
82
  end
82
83
  string += " id: #{id}\n" unless id.nil?
84
+ string += " tag: #{tag}\n" unless tag.nil?
83
85
  string += " strings.xml: #{string_ids}" unless string_ids.nil?
84
86
 
85
87
  @result += "\n#{name}\n#{string}" unless attributes.empty?
@@ -88,7 +90,7 @@ module Appium
88
90
 
89
91
  # Android only.
90
92
  # Returns a string containing interesting elements.
91
- # The text, content description, and id are returned.
93
+ # The text, content description, id, and view tag are returned.
92
94
  # @param class_name [String] the class name to filter on.
93
95
  # if false (default) then all classes will be inspected
94
96
  # @return [String]
@@ -19,6 +19,7 @@ require 'nokogiri'
19
19
  require 'appium_lib_core'
20
20
 
21
21
  # base
22
+ require_relative 'error'
22
23
  require_relative 'driver'
23
24
  require_relative 'sauce_labs'
24
25
 
@@ -173,7 +174,7 @@ module Appium
173
174
 
174
175
  const.send(:define_singleton_method, m) do |*args, **kwargs, &block|
175
176
  super(*args, **kwargs, &block) # promote.rb
176
- rescue NoMethodError, ArgumentError
177
+ rescue NoMethodError, ::ArgumentError
177
178
  driver.send m, *args, **kwargs, &block if driver.respond_to?(m)
178
179
  end
179
180
  end
@@ -229,7 +230,7 @@ module Appium
229
230
  # minitest also defines a name method,
230
231
  # so rescue argument error
231
232
  # and call the name method on $driver
232
- rescue NoMethodError, ArgumentError
233
+ rescue NoMethodError, ::ArgumentError
233
234
  if args.size == 1 && args.first.is_a?(Hash)
234
235
  # To prevent warnings by keyword arguments (for Ruby 2.7 and 3)
235
236
  driver.send method, **args.first, &block if driver.respond_to?(method)
@@ -233,7 +233,7 @@ module Appium
233
233
  "#{string} #{attr[0]}: #{attr1}\n"
234
234
  end
235
235
 
236
- return r if attr_string.nil? || attr_string.empty?
236
+ next r if attr_string.nil? || attr_string.empty?
237
237
 
238
238
  "#{r}\n#{name}\n#{attr_string}"
239
239
  end
@@ -246,7 +246,7 @@ module Appium
246
246
  # Save global reference to last created Appium driver for top level methods.
247
247
  $driver = self if global_driver
248
248
 
249
- self # rubocop:disable Lint/Void # return newly created driver
249
+ self # rubocop:disable Lint/Void -- return newly created driver
250
250
  end
251
251
 
252
252
  private
@@ -888,9 +888,9 @@ module Appium
888
888
  end
889
889
 
890
890
  def log_event=(log_event)
891
- raise if @driver.nil?
891
+ raise NoDriverInstanceError if @driver.nil?
892
892
  unless log_event.is_a?(Hash)
893
- raise ::Appium::Core::Error::ArgumentError('log_event should be Hash like { vendor: "appium", event: "funEvent"}')
893
+ raise ::Appium::Core::Error::ArgumentError, 'log_event should be Hash like { vendor: "appium", event: "funEvent"}'
894
894
  end
895
895
 
896
896
  @driver.logs.event vendor: log_event[:vendor], event: log_event[:event]
@@ -14,6 +14,6 @@
14
14
 
15
15
  module Appium
16
16
  # Version and Date are defined on the 'Appium' module, not 'Appium::Common'
17
- VERSION = '16.3.2' unless defined? ::Appium::VERSION
18
- DATE = '2026-09-14' unless defined? ::Appium::DATE # x-release-please-date
17
+ VERSION = '16.4.1' unless defined? ::Appium::VERSION
18
+ DATE = '2026-10-28' unless defined? ::Appium::DATE # x-release-please-date
19
19
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appium_lib
3
3
  version: !ruby/object:Gem::Version
4
- version: 16.3.2
4
+ version: 16.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - code@bootstraponline.com
@@ -59,7 +59,7 @@ dependencies:
59
59
  version: '1.1'
60
60
  - - "<"
61
61
  - !ruby/object:Gem::Version
62
- version: '3.0'
62
+ version: '4.0'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
@@ -69,7 +69,7 @@ dependencies:
69
69
  version: '1.1'
70
70
  - - "<"
71
71
  - !ruby/object:Gem::Version
72
- version: '3.0'
72
+ version: '4.0'
73
73
  description: Helper methods for writing cross-platform Android and iOS tests in Ruby
74
74
  using Appium. Extends appium_lib_core with convenient methods for finding elements
75
75
  and interacting with devices.
@@ -160,7 +160,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
160
160
  - !ruby/object:Gem::Version
161
161
  version: '0'
162
162
  requirements: []
163
- rubygems_version: 4.0.16
163
+ rubygems_version: 4.0.20
164
164
  specification_version: 4
165
165
  summary: Ruby library for Appium
166
166
  test_files: []