appium_lib_core 13.0.1 → 13.1.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: e72aea90c7dc28d4e664e683d7c2a75f38fff4c10945acd3bc7019d4ea5d547a
4
- data.tar.gz: e775ba44b2d04d71587131566e9ed3ced7f40ae93f491b1e1d0b2a59bfdc9587
3
+ metadata.gz: f7e61d3b24b0cbc11f24bc4121579d06457518e89c2377ea2b0b6979ab211c0e
4
+ data.tar.gz: 898eaf12eaabb2d2541f0a6681e19bc5e8bf8e9ccaf5fb21b8582e062562a65d
5
5
  SHA512:
6
- metadata.gz: 5ee56dc3eddc33bb872d204b285e940848bc7ac703880350c0406227d7e98ed4f60c9a23496c56a3c3756d107f25faed9e6878989d8499bd0760565000550ae7
7
- data.tar.gz: 4bcf89e8bbf02bf876a70fffe7a9d6f1619cc088bf5c6823343a330cda3ce6a67c7c78a180d1bc0b2db1c50a16fbadf13107c12d480e3f210f919d71b0e1eec8
6
+ metadata.gz: 1be7dd5d017840bd5c0c06ccc9599ef3c6fcbfb85ba73b16e4608bb4a13f4ae4985756c006fd4423a09493d53b16892b41beecb179997b7898c9dfc215c9ba47
7
+ data.tar.gz: 25bae6774144c8c58e37c676891680a949fc1b3c35c172f2d8068df38a758182d165bfac00e09902f609c0a16cd30999a2c32fd74628c2aad8f293e412008206
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
+ ## [13.1.0] - 2026-07-13
6
+ - Compatible with selenium 4.46
7
+
5
8
  ## [13.0.1] - 2026-06-07
6
9
  - Update the `rbs_collection.lock.yaml`
7
10
 
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.87.0'
11
+ gem 'rubocop', '1.88.2'
12
12
  gem 'simplecov'
13
13
  gem 'steep', '~> 1.10.0'
14
14
  gem 'webmock', '~> 3.26.0'
@@ -47,6 +47,17 @@ module Appium
47
47
  # No 'browserName' means the session is native appium connection
48
48
  APPIUM_NATIVE_BROWSER_NAME = 'appium'
49
49
 
50
+ # Selenium 4.46 moved server URL configuration from Bridge to the HTTP client.
51
+ def initialize(url:, http_client: nil)
52
+ if selenium_bridge_accepts_url?
53
+ super
54
+ else
55
+ http_client ||= ::Selenium::WebDriver::Remote::Http::Default.new
56
+ http_client.server_url = url
57
+ super(http_client: http_client)
58
+ end
59
+ end
60
+
50
61
  def browser
51
62
  @browser ||= begin
52
63
  name = @capabilities&.browser_name
@@ -137,6 +148,12 @@ module Appium
137
148
 
138
149
  private
139
150
 
151
+ def selenium_bridge_accepts_url?
152
+ ::Selenium::WebDriver::Remote::Bridge.instance_method(:initialize).parameters.any? do |_, name|
153
+ name == :url
154
+ end
155
+ end
156
+
140
157
  def camel_case(str_or_sym)
141
158
  str_or_sym.to_s.gsub(/_([a-z])/) { Regexp.last_match(1)&.upcase }
142
159
  end
@@ -63,14 +63,14 @@ module Appium
63
63
  #
64
64
  # @return [URI] An instance of URI updated to. Returns default +server_url+ if some of arguments are +nil+
65
65
  def update_sending_request_to(scheme:, host:, port:, path:)
66
- return @server_url unless validate_url_param(scheme, host, port, path)
66
+ return server_url unless validate_url_param(scheme, host, port, path)
67
67
 
68
68
  # Add / if 'path' does not have it
69
69
  path = "/#{path}" unless path.start_with?('/')
70
70
  path = "#{path}/" unless path.end_with?('/')
71
71
 
72
72
  @http = nil
73
- @server_url = URI.parse "#{scheme}://#{host}:#{port}#{path}"
73
+ self.server_url = URI.parse "#{scheme}://#{host}:#{port}#{path}"
74
74
  end
75
75
 
76
76
  private
@@ -29,7 +29,7 @@ module Appium
29
29
 
30
30
  def install_app(path, options = {}) # steep:ignore
31
31
  args = { appPath: path }
32
- args[:options] = options unless options&.empty?
32
+ args[:options] = options unless options && options.empty?
33
33
 
34
34
  execute :install_app, {}, args
35
35
  end
@@ -14,7 +14,7 @@
14
14
 
15
15
  module Appium
16
16
  module Core
17
- VERSION = '13.0.1' unless defined? ::Appium::Core::VERSION
18
- DATE = '2026-06-07' unless defined? ::Appium::Core::DATE
17
+ VERSION = '13.1.0' unless defined? ::Appium::Core::VERSION
18
+ DATE = '2026-07-13' unless defined? ::Appium::Core::DATE
19
19
  end
20
20
  end
@@ -30,7 +30,7 @@ module Selenium
30
30
 
31
31
  attr_reader capabilities: untyped
32
32
 
33
- def initialize: (url: String | URI, ?http_client: untyped?) -> void
33
+ def initialize: (?url: untyped, ?http_client: untyped?) -> void
34
34
 
35
35
  def cancel_fedcm_dialog: -> nil
36
36
 
@@ -49,6 +49,8 @@ module Appium
49
49
  # No 'browserName' means the session is native appium connection
50
50
  APPIUM_NATIVE_BROWSER_NAME: "appium"
51
51
 
52
+ def initialize: (url: untyped, ?http_client: untyped?) -> void
53
+
52
54
  def browser: () -> untyped
53
55
 
54
56
  # Appium only.
@@ -103,6 +105,8 @@ module Appium
103
105
 
104
106
  private
105
107
 
108
+ def selenium_bridge_accepts_url?: () -> bool
109
+
106
110
  def camel_case: (untyped str_or_sym) -> untyped
107
111
 
108
112
  def extension_prefix?: (untyped capability_name) -> untyped
@@ -2,6 +2,8 @@ module Appium
2
2
  module Core
3
3
  class Base
4
4
  class Driver < Selenium::WebDriver::Driver
5
+ extend Forwardable
6
+
5
7
  @wait_timeout: untyped
6
8
 
7
9
  @wait_interval: untyped
@@ -79,6 +79,16 @@ module Appium
79
79
  attr_reader path: String
80
80
 
81
81
  def initialize: (Hash[String | Symbol, String] capabilities) -> void
82
+
83
+ def valid?: () -> bool
84
+
85
+ private
86
+
87
+ def resolve_addresses: (String host) -> Array[String]
88
+
89
+ def ip_literal?: (String host) -> bool
90
+
91
+ def disallowed?: (String ip) -> bool
82
92
  end
83
93
 
84
94
  class Driver
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appium_lib_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 13.0.1
4
+ version: 13.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kazuaki MATSUO
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2026-06-08 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: selenium-webdriver
@@ -241,7 +240,6 @@ licenses:
241
240
  - Apache-2.0
242
241
  metadata:
243
242
  rubygems_mfa_required: 'true'
244
- post_install_message:
245
243
  rdoc_options: []
246
244
  require_paths:
247
245
  - lib
@@ -256,8 +254,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
256
254
  - !ruby/object:Gem::Version
257
255
  version: '0'
258
256
  requirements: []
259
- rubygems_version: 3.5.9
260
- signing_key:
257
+ rubygems_version: 3.6.9
261
258
  specification_version: 4
262
259
  summary: Minimal Ruby library for Appium.
263
260
  test_files: []