appium_lib_core 9.2.0 → 9.2.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.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/Rakefile +5 -0
  4. data/Steepfile +11 -0
  5. data/appium_lib_core.gemspec +2 -1
  6. data/lib/appium_lib_core/driver.rb +19 -10
  7. data/lib/appium_lib_core/version.rb +2 -2
  8. data/rbs_collection.lock.yaml +252 -0
  9. data/rbs_collection.yaml +15 -0
  10. data/sig/gems/selenium/abstract_event_listener.rbs +8 -0
  11. data/sig/gems/selenium/capabilities.rbs +8 -0
  12. data/sig/gems/selenium/common.rbs +10 -0
  13. data/sig/gems/selenium/default.rbs +10 -0
  14. data/sig/gems/selenium/driver.rbs +7 -0
  15. data/sig/gems/selenium/has_session_id.rbs +8 -0
  16. data/sig/gems/selenium/has_web_storage.rbs +8 -0
  17. data/sig/gems/selenium/uploads_files.rbs +8 -0
  18. data/sig/lib/appium_lib_core/common/base/capabilities.rbs +9 -0
  19. data/sig/lib/appium_lib_core/common/base/driver.rbs +167 -0
  20. data/sig/lib/appium_lib_core/common/base/driver_settings.rbs +15 -0
  21. data/sig/lib/appium_lib_core/common/base/has_location.rbs +13 -0
  22. data/sig/lib/appium_lib_core/common/base/has_network_connection.rbs +19 -0
  23. data/sig/lib/appium_lib_core/common/base/http_default.rbs +38 -0
  24. data/sig/lib/appium_lib_core/common/base/platform.rbs +7 -0
  25. data/sig/lib/appium_lib_core/common/base/remote_status.rbs +9 -0
  26. data/sig/lib/appium_lib_core/common/base/rotable.rbs +17 -0
  27. data/sig/lib/appium_lib_core/common/base/screenshot.rbs +19 -0
  28. data/sig/lib/appium_lib_core/common/device/battery_status.rbs +13 -0
  29. data/sig/lib/appium_lib_core/common/wait.rbs +31 -0
  30. data/sig/lib/appium_lib_core/device.rbs +21 -0
  31. data/sig/lib/appium_lib_core/driver.rbs +200 -0
  32. data/sig/lib/appium_lib_core/ios/xcuitest/device/battery.rbs +15 -0
  33. data/sig/lib/appium_lib_core/version.rbs +7 -0
  34. data/sig/lib/appium_lib_core.rbs +8 -0
  35. metadata +46 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 51fd1b5928d24942e7f5f944099c63728960f27cdab978cde119fe2ee68b0d73
4
- data.tar.gz: 2d64236e6c3ed7501b260894e0fcbd58b16f6bf552e7f962c55331517e6d602b
3
+ metadata.gz: 20e594fb85962e34dc17c8513756099527a571988391e344b175420e738a8440
4
+ data.tar.gz: 427d90c335c2b20a56e539e4209297b118aeaffc7d8139dd8f97151f156ae860
5
5
  SHA512:
6
- metadata.gz: e10e20452f9dcbfc61e96e2dc1545de62b3baf549d36d0a87383dbfec1a3de12ee5aabf2ecc956fbf279baf74fc0e151c8d87238effad36acda81420b81048e1
7
- data.tar.gz: 10fc303ae86844b8be9eb778c7395832ffa65a6eee4786d1d0684f554016483a48d5ddf1e1c5be3735c681bbc81b84321a2bfbc880a864bf7d3c934831fc2682
6
+ metadata.gz: 7fb1bdc8d18041bf40c8499277672b38e1c14d506e700fc1dd65eca9c50f7043a846f4f2366f5942d7c25fc36f86b9cbd02f588705038e67d792a88a12517dd8
7
+ data.tar.gz: 0e70fe9da0004371677787a81f4bf0c1c906a88b32e82b85572438b400b1e6e0dae956c91dfcb143d8d8a484f02eda7f18d98acdc22eb40e80a0379530a0a03d
data/CHANGELOG.md CHANGED
@@ -10,6 +10,11 @@ Read `release_notes.md` for commit level details.
10
10
 
11
11
  ### Deprecations
12
12
 
13
+ # [9.2.1] - 2024-08-01
14
+
15
+ ### Bug fixes
16
+ - Fix to return symbols for `Core#device` and `Core#automation_name`
17
+
13
18
  ## [9.2.0] - 2024-07-21
14
19
  ### Enhancements
15
20
  - Raise defined errors in this library instead of Ruby general errors in some places.
data/Rakefile CHANGED
@@ -117,3 +117,8 @@ RuboCop::RakeTask.new(:rubocop) do |t|
117
117
  t.options = %w(-D)
118
118
  t.fail_on_error = true
119
119
  end
120
+
121
+ desc('Run Steep type check')
122
+ task :steep do
123
+ system('steep check')
124
+ end
data/Steepfile ADDED
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ target :lib do
4
+ signature 'sig'
5
+ check 'lib' # Directory name
6
+
7
+ # Standard libraries used in the project
8
+ library(
9
+ 'forwardable'
10
+ )
11
+ end
@@ -29,8 +29,9 @@ Gem::Specification.new do |spec|
29
29
  spec.add_development_dependency 'minitest-reporters', '~> 1.1'
30
30
  spec.add_development_dependency 'parallel_tests'
31
31
  spec.add_development_dependency 'rake', '~> 13.0'
32
- spec.add_development_dependency 'rubocop', '1.65.0'
32
+ spec.add_development_dependency 'rubocop', '1.65.1'
33
33
  spec.add_development_dependency 'simplecov'
34
+ spec.add_development_dependency 'steep', '~> 1.7.0'
34
35
  spec.add_development_dependency 'webmock', '~> 3.23.0'
35
36
  spec.add_development_dependency 'yard', '~> 0.9.11'
36
37
  spec.metadata['rubygems_mfa_required'] = 'true'
@@ -104,7 +104,7 @@ module Appium
104
104
  class Driver
105
105
  include Waitable
106
106
 
107
- # Selenium webdriver capabilities
107
+ # Selenium webdriver capabilities, but the value is provided capabilities basis.
108
108
  # @return [Core::Base::Capabilities]
109
109
  attr_reader :caps
110
110
 
@@ -125,7 +125,7 @@ module Appium
125
125
 
126
126
  # Automation name sent to appium server or received by server.<br>
127
127
  # If automation_name is <code>nil</code>, it is not set both client side and server side.
128
- # @return [Hash]
128
+ # @return [Symbol]
129
129
  attr_reader :automation_name
130
130
 
131
131
  # Custom URL for the selenium server. If set this attribute, ruby_lib_core try to handshake to the custom url.<br>
@@ -634,7 +634,7 @@ module Appium
634
634
 
635
635
  # @private
636
636
  def get_app
637
- @caps[:app] || @caps['app']
637
+ get_cap 'app'
638
638
  end
639
639
 
640
640
  # @private
@@ -678,17 +678,17 @@ module Appium
678
678
  # @private
679
679
  def set_appium_device
680
680
  # https://code.google.com/p/selenium/source/browse/spec-draft.md?repo=mobile
681
- @device = @caps[:platformName] || @caps['platformName']
681
+ @device = get_cap 'platformName'
682
682
  return @device unless @device
683
683
 
684
- @device = convert_downcase @device
684
+ @device = convert_to_symbol(convert_downcase(@device))
685
685
  end
686
686
 
687
687
  # @private
688
688
  def set_automation_name
689
- candidate = @caps[:automationName] || @caps['automationName']
689
+ candidate = get_cap 'automationName'
690
690
  @automation_name = candidate if candidate
691
- @automation_name = convert_downcase @automation_name if @automation_name
691
+ @automation_name = convert_to_symbol(convert_downcase(@automation_name)) if @automation_name
692
692
  end
693
693
 
694
694
  # @private
@@ -700,9 +700,18 @@ module Appium
700
700
  def set_automation_name_if_nil
701
701
  return unless @automation_name.nil?
702
702
 
703
- @automation_name = if @driver.capabilities['automationName']
704
- @driver.capabilities['automationName'].downcase.strip.intern
705
- end
703
+ automation_name = if @driver.capabilities['automationName']
704
+ @driver.capabilities['automationName'].downcase.strip.intern
705
+ end
706
+ @automation_name = convert_to_symbol automation_name
707
+ end
708
+
709
+ def get_cap(name)
710
+ name_with_prefix = "appium:#{name}"
711
+ @caps[convert_to_symbol name] ||
712
+ @caps[name] ||
713
+ @caps[convert_to_symbol name_with_prefix] ||
714
+ @caps[name_with_prefix]
706
715
  end
707
716
  end # class Driver
708
717
  end # module Core
@@ -14,7 +14,7 @@
14
14
 
15
15
  module Appium
16
16
  module Core
17
- VERSION = '9.2.0' unless defined? ::Appium::Core::VERSION
18
- DATE = '2024-07-21' unless defined? ::Appium::Core::DATE
17
+ VERSION = '9.2.1' unless defined? ::Appium::Core::VERSION
18
+ DATE = '2024-08-01' unless defined? ::Appium::Core::DATE
19
19
  end
20
20
  end
@@ -0,0 +1,252 @@
1
+ ---
2
+ path: ".gem_rbs_collection"
3
+ gems:
4
+ - name: activesupport
5
+ version: '7.0'
6
+ source:
7
+ type: git
8
+ name: ruby/gem_rbs_collection
9
+ revision: 3670834268f4ea9c10aefeffae7e072b51256375
10
+ remote: https://github.com/ruby/gem_rbs_collection.git
11
+ repo_dir: gems
12
+ - name: addressable
13
+ version: '2.8'
14
+ source:
15
+ type: git
16
+ name: ruby/gem_rbs_collection
17
+ revision: 3670834268f4ea9c10aefeffae7e072b51256375
18
+ remote: https://github.com/ruby/gem_rbs_collection.git
19
+ repo_dir: gems
20
+ - name: ast
21
+ version: '2.4'
22
+ source:
23
+ type: git
24
+ name: ruby/gem_rbs_collection
25
+ revision: 3670834268f4ea9c10aefeffae7e072b51256375
26
+ remote: https://github.com/ruby/gem_rbs_collection.git
27
+ repo_dir: gems
28
+ - name: base64
29
+ version: '0'
30
+ source:
31
+ type: stdlib
32
+ - name: bigdecimal
33
+ version: '0'
34
+ source:
35
+ type: stdlib
36
+ - name: concurrent-ruby
37
+ version: '1.1'
38
+ source:
39
+ type: git
40
+ name: ruby/gem_rbs_collection
41
+ revision: 3670834268f4ea9c10aefeffae7e072b51256375
42
+ remote: https://github.com/ruby/gem_rbs_collection.git
43
+ repo_dir: gems
44
+ - name: connection_pool
45
+ version: '2.4'
46
+ source:
47
+ type: git
48
+ name: ruby/gem_rbs_collection
49
+ revision: 3670834268f4ea9c10aefeffae7e072b51256375
50
+ remote: https://github.com/ruby/gem_rbs_collection.git
51
+ repo_dir: gems
52
+ - name: csv
53
+ version: '0'
54
+ source:
55
+ type: stdlib
56
+ - name: date
57
+ version: '0'
58
+ source:
59
+ type: stdlib
60
+ - name: erb
61
+ version: '0'
62
+ source:
63
+ type: stdlib
64
+ - name: ffi
65
+ version: 1.17.0
66
+ source:
67
+ type: rubygems
68
+ - name: fileutils
69
+ version: '0'
70
+ source:
71
+ type: stdlib
72
+ - name: forwardable
73
+ version: '0'
74
+ source:
75
+ type: stdlib
76
+ - name: hashdiff
77
+ version: '1.1'
78
+ source:
79
+ type: git
80
+ name: ruby/gem_rbs_collection
81
+ revision: 3670834268f4ea9c10aefeffae7e072b51256375
82
+ remote: https://github.com/ruby/gem_rbs_collection.git
83
+ repo_dir: gems
84
+ - name: i18n
85
+ version: '1.10'
86
+ source:
87
+ type: git
88
+ name: ruby/gem_rbs_collection
89
+ revision: 3670834268f4ea9c10aefeffae7e072b51256375
90
+ remote: https://github.com/ruby/gem_rbs_collection.git
91
+ repo_dir: gems
92
+ - name: json
93
+ version: '0'
94
+ source:
95
+ type: stdlib
96
+ - name: listen
97
+ version: '3.9'
98
+ source:
99
+ type: git
100
+ name: ruby/gem_rbs_collection
101
+ revision: 3670834268f4ea9c10aefeffae7e072b51256375
102
+ remote: https://github.com/ruby/gem_rbs_collection.git
103
+ repo_dir: gems
104
+ - name: logger
105
+ version: '0'
106
+ source:
107
+ type: stdlib
108
+ - name: minitest
109
+ version: '0'
110
+ source:
111
+ type: stdlib
112
+ - name: monitor
113
+ version: '0'
114
+ source:
115
+ type: stdlib
116
+ - name: mutex_m
117
+ version: '0'
118
+ source:
119
+ type: stdlib
120
+ - name: optparse
121
+ version: '0'
122
+ source:
123
+ type: stdlib
124
+ - name: parallel
125
+ version: '1.20'
126
+ source:
127
+ type: git
128
+ name: ruby/gem_rbs_collection
129
+ revision: 3670834268f4ea9c10aefeffae7e072b51256375
130
+ remote: https://github.com/ruby/gem_rbs_collection.git
131
+ repo_dir: gems
132
+ - name: parser
133
+ version: '3.2'
134
+ source:
135
+ type: git
136
+ name: ruby/gem_rbs_collection
137
+ revision: 3670834268f4ea9c10aefeffae7e072b51256375
138
+ remote: https://github.com/ruby/gem_rbs_collection.git
139
+ repo_dir: gems
140
+ - name: rainbow
141
+ version: '3.0'
142
+ source:
143
+ type: git
144
+ name: ruby/gem_rbs_collection
145
+ revision: 3670834268f4ea9c10aefeffae7e072b51256375
146
+ remote: https://github.com/ruby/gem_rbs_collection.git
147
+ repo_dir: gems
148
+ - name: rake
149
+ version: '13.0'
150
+ source:
151
+ type: git
152
+ name: ruby/gem_rbs_collection
153
+ revision: 3670834268f4ea9c10aefeffae7e072b51256375
154
+ remote: https://github.com/ruby/gem_rbs_collection.git
155
+ repo_dir: gems
156
+ - name: regexp_parser
157
+ version: '2.8'
158
+ source:
159
+ type: git
160
+ name: ruby/gem_rbs_collection
161
+ revision: 3670834268f4ea9c10aefeffae7e072b51256375
162
+ remote: https://github.com/ruby/gem_rbs_collection.git
163
+ repo_dir: gems
164
+ - name: ripper
165
+ version: '0'
166
+ source:
167
+ type: stdlib
168
+ - name: rubocop
169
+ version: '1.57'
170
+ source:
171
+ type: git
172
+ name: ruby/gem_rbs_collection
173
+ revision: 3670834268f4ea9c10aefeffae7e072b51256375
174
+ remote: https://github.com/ruby/gem_rbs_collection.git
175
+ repo_dir: gems
176
+ - name: rubocop-ast
177
+ version: '1.30'
178
+ source:
179
+ type: git
180
+ name: ruby/gem_rbs_collection
181
+ revision: 3670834268f4ea9c10aefeffae7e072b51256375
182
+ remote: https://github.com/ruby/gem_rbs_collection.git
183
+ repo_dir: gems
184
+ - name: rubyzip
185
+ version: '2.3'
186
+ source:
187
+ type: git
188
+ name: ruby/gem_rbs_collection
189
+ revision: 3670834268f4ea9c10aefeffae7e072b51256375
190
+ remote: https://github.com/ruby/gem_rbs_collection.git
191
+ repo_dir: gems
192
+ - name: securerandom
193
+ version: '0'
194
+ source:
195
+ type: stdlib
196
+ - name: simplecov
197
+ version: '0.22'
198
+ source:
199
+ type: git
200
+ name: ruby/gem_rbs_collection
201
+ revision: 3670834268f4ea9c10aefeffae7e072b51256375
202
+ remote: https://github.com/ruby/gem_rbs_collection.git
203
+ repo_dir: gems
204
+ - name: singleton
205
+ version: '0'
206
+ source:
207
+ type: stdlib
208
+ - name: strscan
209
+ version: '0'
210
+ source:
211
+ type: stdlib
212
+ - name: thor
213
+ version: '1.2'
214
+ source:
215
+ type: git
216
+ name: ruby/gem_rbs_collection
217
+ revision: 3670834268f4ea9c10aefeffae7e072b51256375
218
+ remote: https://github.com/ruby/gem_rbs_collection.git
219
+ repo_dir: gems
220
+ - name: time
221
+ version: '0'
222
+ source:
223
+ type: stdlib
224
+ - name: timeout
225
+ version: '0'
226
+ source:
227
+ type: stdlib
228
+ - name: tzinfo
229
+ version: '2.0'
230
+ source:
231
+ type: git
232
+ name: ruby/gem_rbs_collection
233
+ revision: 3670834268f4ea9c10aefeffae7e072b51256375
234
+ remote: https://github.com/ruby/gem_rbs_collection.git
235
+ repo_dir: gems
236
+ - name: webmock
237
+ version: '3.19'
238
+ source:
239
+ type: git
240
+ name: ruby/gem_rbs_collection
241
+ revision: 3670834268f4ea9c10aefeffae7e072b51256375
242
+ remote: https://github.com/ruby/gem_rbs_collection.git
243
+ repo_dir: gems
244
+ - name: yard
245
+ version: '0.9'
246
+ source:
247
+ type: git
248
+ name: ruby/gem_rbs_collection
249
+ revision: 3670834268f4ea9c10aefeffae7e072b51256375
250
+ remote: https://github.com/ruby/gem_rbs_collection.git
251
+ repo_dir: gems
252
+ gemfile_lock_path: Gemfile.lock
@@ -0,0 +1,15 @@
1
+ # Download sources
2
+ sources:
3
+ - name: ruby/gem_rbs_collection
4
+ remote: https://github.com/ruby/gem_rbs_collection.git
5
+ revision: main
6
+ repo_dir: gems
7
+
8
+ # A directory to install the downloaded RBSs
9
+ path: .gem_rbs_collection
10
+
11
+ gems:
12
+ # Skip loading rbs gem's RBS.
13
+ # It's unnecessary if you don't use rbs as a library.
14
+ - name: rbs
15
+ ignore: true
@@ -0,0 +1,8 @@
1
+ module Selenium
2
+ module WebDriver
3
+ module Support
4
+ class AbstractEventListener
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Selenium
2
+ module WebDriver
3
+ module Remote
4
+ class Capabilities
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,10 @@
1
+ module Selenium
2
+ module WebDriver
3
+ module Remote
4
+ module Http
5
+ class Common
6
+ end
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ module Selenium
2
+ module WebDriver
3
+ module Remote
4
+ module Http
5
+ class Default
6
+ end
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,7 @@
1
+ module Selenium
2
+ module WebDriver
3
+ class Driver
4
+ def capabilities: () -> untyped
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ module Selenium
2
+ module WebDriver
3
+ module DriverExtensions
4
+ module HasSessionId
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Selenium
2
+ module WebDriver
3
+ module DriverExtensions
4
+ module HasWebStorage
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Selenium
2
+ module WebDriver
3
+ module DriverExtensions
4
+ module UploadsFiles
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,9 @@
1
+ module Appium
2
+ module Core
3
+ class Base
4
+ class Capabilities < Selenium::WebDriver::Remote::Capabilities
5
+ def convert_key: (untyped key) -> untyped
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,167 @@
1
+ module Appium
2
+ module Core
3
+ class Base
4
+ class Driver < Selenium::WebDriver::Driver
5
+ @wait_timeout: untyped
6
+
7
+ @wait_interval: untyped
8
+
9
+ @devtools: untyped
10
+
11
+ @bidi: untyped
12
+
13
+ @bridge: untyped
14
+
15
+ @settings: untyped
16
+
17
+ @ime: untyped
18
+
19
+ @logs: untyped
20
+
21
+ include Selenium::WebDriver::DriverExtensions::UploadsFiles
22
+
23
+ include Selenium::WebDriver::DriverExtensions::HasSessionId
24
+
25
+ include Selenium::WebDriver::DriverExtensions::HasWebStorage
26
+
27
+ include Base::Rotatable
28
+
29
+ include Base::TakesScreenshot
30
+
31
+ include Base::HasRemoteStatus
32
+
33
+ include Base::HasLocation
34
+
35
+ include Base::HasNetworkConnection
36
+
37
+ include Core::Waitable
38
+
39
+ attr_reader bridge: untyped
40
+
41
+ def initialize: (?bridge: untyped?, ?listener: untyped?, **untyped opts) -> void
42
+
43
+ private
44
+
45
+ def create_bridge: (**untyped opts) -> untyped
46
+
47
+ public
48
+
49
+ def update_sending_request_to: (protocol: untyped, host: untyped, port: untyped, path: untyped) -> (nil | untyped)
50
+
51
+ AVAILABLE_METHODS: ::Array[:get | :head | :post | :put | :delete | :connect | :options | :trace | :patch]
52
+
53
+ def add_command: (method: untyped, url: untyped, name: untyped) { () -> untyped } -> untyped
54
+
55
+ def key_action: (?async: bool) -> untyped
56
+
57
+ def lock: (?untyped? duration) -> untyped
58
+
59
+ def locked?: () -> untyped
60
+
61
+ alias device_locked? locked?
62
+
63
+ def unlock: () -> untyped
64
+
65
+ def hide_keyboard: (?untyped? close_key, ?untyped? strategy) -> untyped
66
+
67
+ def keyboard_shown?: () -> untyped
68
+
69
+ alias is_keyboard_shown keyboard_shown?
70
+
71
+ def settings: () -> untyped
72
+
73
+ def get_settings: () -> untyped
74
+
75
+ def settings=: (untyped value) -> untyped
76
+
77
+ alias update_settings settings=
78
+
79
+ def ime: () -> untyped
80
+
81
+ def ime_activate: (untyped ime_name) -> untyped
82
+
83
+ def ime_available_engines: () -> untyped
84
+
85
+ def ime_active_engine: () -> untyped
86
+
87
+ def ime_activated: () -> untyped
88
+
89
+ def ime_deactivate: () -> untyped
90
+
91
+ def within_context: (untyped context) ?{ () -> untyped } -> untyped
92
+
93
+ def current_context: () -> untyped
94
+
95
+ def available_contexts: () -> untyped
96
+
97
+ def context=: (?untyped? context) -> untyped
98
+
99
+ alias set_context context=
100
+
101
+ def push_file: (untyped path, untyped filedata) -> untyped
102
+
103
+ def pull_file: (untyped path) -> untyped
104
+
105
+ def pull_folder: (untyped path) -> untyped
106
+
107
+ def press_keycode: (untyped key, ?metastate: untyped, ?flags: untyped) -> untyped
108
+
109
+ def long_press_keycode: (untyped key, ?metastate: untyped, ?flags: untyped) -> untyped
110
+
111
+ def app_strings: (?untyped? language) -> untyped
112
+
113
+ def background_app: (?::Integer duration) -> untyped
114
+
115
+ def install_app: (untyped path, **untyped options) -> untyped
116
+
117
+ def remove_app: (untyped app_id, ?keep_data: untyped?, ?timeout: untyped?) -> untyped
118
+
119
+ def app_installed?: (untyped app_id) -> untyped
120
+
121
+ def activate_app: (untyped app_id) -> untyped
122
+
123
+ def terminate_app: (untyped app_id, ?timeout: untyped?) -> untyped
124
+
125
+ def app_state: (untyped app_id) -> untyped
126
+
127
+ alias query_app_state app_state
128
+
129
+ def stop_recording_screen: (?remote_path: untyped?, ?user: untyped?, ?pass: untyped?, ?method: ::String) -> untyped
130
+
131
+ def stop_and_save_recording_screen: (untyped file_path) -> untyped
132
+
133
+ def shake: () -> untyped
134
+
135
+ def device_time: (?untyped? format) -> untyped
136
+
137
+ def perform_actions: (untyped data) -> nil
138
+
139
+ def window_size: () -> untyped
140
+
141
+ def window_rect: () -> untyped
142
+
143
+ def back: () -> untyped
144
+
145
+ def logs: () -> untyped
146
+
147
+ def get_timeouts: () -> untyped
148
+
149
+ def match_images_features: (first_image: untyped, second_image: untyped, ?detector_name: ::String, ?match_func: ::String, ?good_matches_factor: untyped?, ?visualize: bool) -> untyped
150
+
151
+ def find_image_occurrence: (full_image: untyped, partial_image: untyped, ?visualize: bool, ?threshold: untyped?, ?multiple: untyped?, ?match_neighbour_threshold: untyped?) -> untyped
152
+
153
+ def get_images_similarity: (first_image: untyped, second_image: untyped, ?visualize: bool) -> untyped
154
+
155
+ def compare_images: (first_image: untyped, second_image: untyped, ?mode: ::Symbol, ?options: untyped?) -> untyped
156
+
157
+ def find_element_by_image: (untyped img_path) -> untyped
158
+
159
+ def find_elements_by_image: (untyped img_path) -> untyped
160
+
161
+ def execute_driver: (?script: ::String, ?type: ::String, ?timeout_ms: untyped?) -> untyped
162
+
163
+ def convert_to_element: (untyped response_id) -> untyped
164
+ end
165
+ end
166
+ end
167
+ end
@@ -0,0 +1,15 @@
1
+ module Appium
2
+ module Core
3
+ class Base
4
+ class DriverSettings
5
+ @bridge: untyped
6
+
7
+ def initialize: (untyped bridge) -> void
8
+
9
+ def get: () -> untyped
10
+
11
+ def update: (untyped settings) -> untyped
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ module Appium
2
+ module Core
3
+ class Base
4
+ module HasLocation
5
+ def location: () -> untyped
6
+
7
+ def location=: (untyped location) -> untyped
8
+
9
+ def set_location: (untyped latitude, untyped longitude, untyped altitude, ?speed: untyped?, ?satellites: untyped?) -> untyped
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,19 @@
1
+ module Appium
2
+ module Core
3
+ class Base
4
+ module HasNetworkConnection
5
+ def network_connection_type: () -> untyped
6
+
7
+ def network_connection_type=: (untyped connection_type) -> untyped
8
+
9
+ private
10
+
11
+ def type_to_values: () -> Hash[Symbol, Integer]
12
+
13
+ def values_to_type: () -> untyped
14
+
15
+ def valid_type?: (untyped type) -> untyped
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,38 @@
1
+ module Appium
2
+ module Core
3
+ class Base
4
+ module Http
5
+ module RequestHeaders
6
+ KEYS: Hash[Symbol, String]
7
+ end
8
+
9
+ class Default < Selenium::WebDriver::Remote::Http::Default
10
+ @open_timeout: untyped
11
+
12
+ @read_timeout: untyped
13
+
14
+ @additional_headers: untyped
15
+
16
+ @http: untyped
17
+
18
+ @server_url: untyped
19
+
20
+ attr_reader additional_headers: untyped
21
+
22
+ # override
23
+ def initialize: (?open_timeout: untyped?, ?read_timeout: untyped?) -> void
24
+
25
+ def set_additional_header: (untyped key, untyped value) -> untyped
26
+
27
+ def delete_additional_header: (untyped key) -> untyped
28
+
29
+ def update_sending_request_to: (scheme: untyped, host: untyped, port: untyped, path: untyped) -> untyped
30
+
31
+ private
32
+
33
+ def validate_url_param: (untyped scheme, untyped host, untyped port, untyped path) -> bool
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,7 @@
1
+ module Appium
2
+ module Core
3
+ class Base
4
+ def self.platform: () -> untyped
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,9 @@
1
+ module Appium
2
+ module Core
3
+ class Base
4
+ module HasRemoteStatus
5
+ def remote_status: () -> untyped
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,17 @@
1
+ module Appium
2
+ module Core
3
+ class Base
4
+ module Rotatable
5
+ ORIENTATIONS: Array[Symbol]
6
+
7
+ def rotation=: (untyped orientation) -> untyped
8
+
9
+ alias rotate rotation=
10
+
11
+ alias orientation= rotation=
12
+
13
+ def orientation: () -> untyped
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,19 @@
1
+ module Appium
2
+ module Core
3
+ class Base
4
+ module TakesScreenshot
5
+ def save_screenshot: (untyped png_path) -> untyped
6
+
7
+ def screenshot_as: (untyped format) -> untyped
8
+
9
+ def save_element_screenshot: (untyped element, untyped png_path) -> untyped
10
+
11
+ alias take_element_screenshot save_element_screenshot
12
+
13
+ def element_screenshot_as: (untyped element, untyped format) -> untyped
14
+
15
+ def save_viewport_screenshot: (untyped png_path) -> untyped
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,13 @@
1
+ module Appium
2
+ module Core
3
+ class Base
4
+ module Device
5
+ module BatteryStatus
6
+ ANDROID: Array[Symbol]
7
+
8
+ IOS: Array[Symbol]
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,31 @@
1
+ module Appium
2
+ module Core
3
+ module Wait
4
+ class TimeoutError < StandardError
5
+ end
6
+
7
+ DEFAULT_TIMEOUT: Integer
8
+
9
+ DEFAULT_INTERVAL: Float
10
+
11
+ def self.until: (?timeout: untyped, ?interval: untyped, ?message: untyped?, ?ignored: untyped?, ?object: untyped?) { (untyped) -> untyped } -> untyped
12
+
13
+ def self.until_true: (?timeout: untyped, ?interval: untyped, ?message: untyped?, ?ignored: untyped?, ?object: untyped?) { (untyped) -> untyped } -> untyped
14
+
15
+ private
16
+
17
+ def self.message_for: (untyped timeout, untyped message) -> untyped
18
+ end
19
+
20
+ module Waitable
21
+
22
+ def wait_until_true: (?timeout: untyped?, ?interval: untyped?, ?message: untyped?, ?ignored: untyped?) { (?) -> untyped } -> untyped
23
+
24
+ alias wait_true wait_until_true
25
+
26
+ def wait_until: (?timeout: untyped?, ?interval: untyped?, ?message: untyped?, ?ignored: untyped?) { (?) -> untyped } -> untyped
27
+
28
+ alias wait wait_until
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,21 @@
1
+ module Appium
2
+ module Core
3
+ module Device
4
+ extend Forwardable
5
+
6
+ def self.extended: (untyped _mod) -> untyped
7
+
8
+ def self.add_endpoint_method: (untyped method) ?{ () -> untyped } -> untyped
9
+
10
+ def self.extend_webdriver_with_forwardable: () -> (nil | untyped)
11
+
12
+ private
13
+
14
+ def self.delegate_from_appium_driver: (untyped method, Symbol? delegation_target) -> (nil | untyped)
15
+
16
+ def self.delegate_driver_method: (untyped method) -> (nil | untyped)
17
+
18
+ def self.create_bridge_command: (untyped method) ?{ () -> untyped } -> untyped
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,200 @@
1
+ module Appium
2
+ Location: Class
3
+
4
+ module Core
5
+ module Android
6
+ end
7
+
8
+ module Ios
9
+ end
10
+
11
+ class Options
12
+ @custom_url: String
13
+
14
+ @default_wait: Integer
15
+
16
+ @enable_idempotency_header: bool
17
+
18
+ @direct_connect: bool
19
+
20
+ @port: Integer
21
+
22
+ @wait_timeout: Integer
23
+
24
+ @wait_interval: Integer
25
+
26
+ @listener: Selenium::WebDriver::Support::AbstractEventListener
27
+
28
+ attr_reader custom_url: String
29
+
30
+ attr_reader default_wait: Integer
31
+
32
+ attr_reader port: Integer
33
+
34
+ attr_reader wait_timeout: Integer
35
+
36
+ attr_reader wait_interval: Integer
37
+
38
+ attr_reader listener: Selenium::WebDriver::Support::AbstractEventListener
39
+
40
+ attr_reader direct_connect: bool
41
+
42
+ attr_reader enable_idempotency_header: bool
43
+
44
+ def initialize: (Hash[Symbol, String] appium_lib_opts) -> void
45
+
46
+ private
47
+
48
+ def default_tmp_appium_lib_session: () -> String
49
+ end
50
+
51
+ class DirectConnections
52
+ @protocol: String
53
+
54
+ @host: String
55
+
56
+ @port: String
57
+
58
+ @path: String
59
+
60
+ KEYS: Hash[String | Symbol, String]
61
+
62
+ W3C_KEYS: Hash[String | Symbol, String]
63
+
64
+ attr_reader protocol: String
65
+
66
+ attr_reader host: String
67
+
68
+ attr_reader port: String
69
+
70
+ attr_reader path: String
71
+
72
+ def initialize: (Hash[String | Symbol, String] capabilities) -> void
73
+ end
74
+
75
+ class Driver
76
+ @delegate_target: self
77
+
78
+ @automation_name: Symbol
79
+
80
+ @custom_url: String
81
+
82
+ @caps: Hash[Symbol | String, Symbol | String | Integer]
83
+
84
+ @http_client: Core::Base::Http::Default
85
+
86
+ @driver: Core::Base::Driver
87
+
88
+ @device: Symbol | String
89
+
90
+ @enable_idempotency_header: bool
91
+
92
+ @default_wait: Integer
93
+
94
+ @port: Integer
95
+
96
+ @wait_timeout: Integer
97
+
98
+ @wait_interval: Integer
99
+
100
+ @listener: Selenium::WebDriver::Support::AbstractEventListener
101
+
102
+ @direct_connect: bool
103
+
104
+ include Waitable
105
+
106
+ attr_reader caps: Base::Capabilities
107
+
108
+ attr_reader http_client: Base::Http::Default
109
+
110
+ attr_reader enable_idempotency_header: bool
111
+
112
+ attr_reader device: Symbol
113
+
114
+ attr_reader automation_name: Symbol
115
+
116
+ attr_reader custom_url: String
117
+
118
+ attr_reader default_wait: Integer
119
+
120
+ attr_reader port: Integer
121
+
122
+ DEFAULT_APPIUM_PORT: Integer
123
+
124
+ attr_reader wait_timeout: Integer
125
+
126
+ attr_reader wait_interval: Integer
127
+
128
+ attr_reader listener: Selenium::WebDriver::Support::AbstractEventListener
129
+
130
+ attr_reader driver: Core::Base::Driver
131
+
132
+ attr_reader direct_connect: bool
133
+
134
+ def self.for: (Hash[Symbol, Symbol | String | Hash[Symbol, String | Numeric] | Numeric] opts) -> Driver
135
+
136
+ def self.attach_to: (
137
+ String session_id,
138
+ ?url: String?,
139
+ ?automation_name: Symbol,
140
+ ?platform_name: String?,
141
+ ?http_client_ops:
142
+ Hash[Symbol, Symbol | String | Hash[Symbol, String | Numeric] | Numeric]
143
+ ) -> Selenium::WebDriver
144
+
145
+ private
146
+
147
+ def delegated_target_for_test: () -> self
148
+
149
+ def initialize: () -> void
150
+
151
+ public
152
+
153
+ def setup_for_new_session: (?Hash[Symbol, Symbol | String | Hash[Symbol, String | Numeric] | Numeric] opts) -> self
154
+
155
+ def start_driver: (?server_url: untyped?, ?http_client_ops: ::Hash[untyped, untyped]) -> untyped
156
+
157
+ def attach_to: (untyped session_id, ?url: untyped?, ?automation_name: Symbol, ?platform_name: untyped?, ?http_client_ops: Hash[untyped, untyped]) -> untyped
158
+
159
+ def get_http_client: (?http_client: untyped?, ?open_timeout: untyped?, ?read_timeout: untyped?) -> untyped
160
+
161
+ def set_implicit_wait_by_default: (untyped wait) -> untyped
162
+
163
+ def quit_driver: () -> void
164
+
165
+ def appium_server_version: () -> Hash[String, String]
166
+
167
+ private
168
+
169
+ def convert_to_symbol: (untyped? value) -> Symbol
170
+
171
+ def extend_for: (device: Symbol | String, automation_name: Symbol) -> self
172
+
173
+ extend Core
174
+
175
+ extend Core::Device
176
+
177
+ def get_caps: (Hash[Symbol, Symbol | String | Hash[Symbol, String | Numeric] | Numeric]? opts)
178
+ -> Core::Base::Capabilities
179
+
180
+ def get_appium_lib_opts: (Hash[Symbol, Symbol | String | Hash[Symbol, String | Numeric] | Numeric]? opts)
181
+ -> (Symbol | String | Hash[Symbol, String | Numeric] | Numeric)
182
+
183
+ def get_app: () -> String?
184
+
185
+ def set_app_path: () -> String?
186
+
187
+ def set_appium_lib_specific_values: (
188
+ Hash[Symbol, Symbol | String | Hash[Symbol, String | Numeric] | Numeric]? appium_lib_opts
189
+ ) -> self
190
+
191
+ def set_appium_device: () -> String
192
+
193
+ def set_automation_name: () -> Symbol?
194
+
195
+ def convert_downcase: (Symbol value) -> Symbol
196
+
197
+ def set_automation_name_if_nil: () -> Symbol?
198
+ end
199
+ end
200
+ end
@@ -0,0 +1,15 @@
1
+ module Appium
2
+ module Core
3
+ module Ios
4
+ module Xcuitest
5
+ module Device
6
+ module Battery
7
+ def self.add_methods: () -> (Symbol | Hash[Symbol, Proc])?
8
+
9
+ def battery_info: () -> (Symbol | Hash[Symbol, Proc])?
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,7 @@
1
+ module Appium
2
+ module Core
3
+ VERSION: String
4
+
5
+ DATE: String
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ module Appium
2
+ def self.symbolize_keys: (Hash[untyped, untyped] hash, ?nested: bool, ?enable_deprecation_msg: bool)
3
+ -> Hash[Symbol, untyped]
4
+
5
+ module Core
6
+ def self.for: (*untyped args) -> Driver
7
+ end
8
+ 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: 9.2.0
4
+ version: 9.2.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: 2024-07-21 00:00:00.000000000 Z
11
+ date: 2024-08-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faye-websocket
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - '='
116
116
  - !ruby/object:Gem::Version
117
- version: 1.65.0
117
+ version: 1.65.1
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - '='
123
123
  - !ruby/object:Gem::Version
124
- version: 1.65.0
124
+ version: 1.65.1
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: simplecov
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -136,6 +136,20 @@ dependencies:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: steep
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 1.7.0
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 1.7.0
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: webmock
141
155
  requirement: !ruby/object:Gem::Requirement
@@ -176,6 +190,7 @@ files:
176
190
  - LICENSE.txt
177
191
  - README.md
178
192
  - Rakefile
193
+ - Steepfile
179
194
  - Thorfile
180
195
  - appium_lib_core.gemspec
181
196
  - bin/console
@@ -255,6 +270,33 @@ files:
255
270
  - lib/appium_lib_core/windows/bridge.rb
256
271
  - lib/appium_lib_core/windows/device.rb
257
272
  - lib/appium_lib_core/windows/device/screen.rb
273
+ - rbs_collection.lock.yaml
274
+ - rbs_collection.yaml
275
+ - sig/gems/selenium/abstract_event_listener.rbs
276
+ - sig/gems/selenium/capabilities.rbs
277
+ - sig/gems/selenium/common.rbs
278
+ - sig/gems/selenium/default.rbs
279
+ - sig/gems/selenium/driver.rbs
280
+ - sig/gems/selenium/has_session_id.rbs
281
+ - sig/gems/selenium/has_web_storage.rbs
282
+ - sig/gems/selenium/uploads_files.rbs
283
+ - sig/lib/appium_lib_core.rbs
284
+ - sig/lib/appium_lib_core/common/base/capabilities.rbs
285
+ - sig/lib/appium_lib_core/common/base/driver.rbs
286
+ - sig/lib/appium_lib_core/common/base/driver_settings.rbs
287
+ - sig/lib/appium_lib_core/common/base/has_location.rbs
288
+ - sig/lib/appium_lib_core/common/base/has_network_connection.rbs
289
+ - sig/lib/appium_lib_core/common/base/http_default.rbs
290
+ - sig/lib/appium_lib_core/common/base/platform.rbs
291
+ - sig/lib/appium_lib_core/common/base/remote_status.rbs
292
+ - sig/lib/appium_lib_core/common/base/rotable.rbs
293
+ - sig/lib/appium_lib_core/common/base/screenshot.rbs
294
+ - sig/lib/appium_lib_core/common/device/battery_status.rbs
295
+ - sig/lib/appium_lib_core/common/wait.rbs
296
+ - sig/lib/appium_lib_core/device.rbs
297
+ - sig/lib/appium_lib_core/driver.rbs
298
+ - sig/lib/appium_lib_core/ios/xcuitest/device/battery.rbs
299
+ - sig/lib/appium_lib_core/version.rbs
258
300
  homepage: https://github.com/appium/ruby_lib_core/
259
301
  licenses:
260
302
  - Apache-2.0