appium_lib_core 7.1.0 → 7.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3603b3335a27a152a88df56fa4211659e190769b294c2256b30b874791549342
4
- data.tar.gz: 0554b71de5f368e194ca888771b215e79f124b73d9a6c70ca4400c66876c2e0b
3
+ metadata.gz: 13a5734d69d20cdf77c2548a00fe5aa3a1933e7636d0961d6cedd203dcda4cdf
4
+ data.tar.gz: 5fd94469762b252aab7592bbb898a87910a88734ca8dc36d58ae8bb014cdae7b
5
5
  SHA512:
6
- metadata.gz: 7f4c299f4838b719aa073158ba976b5f1958e3f9e40a0e3d8cf1d602d74353e06e8fc42972fa342c40197a316a6f5ee1e83c3a62c1d1159036ac46762270de6b
7
- data.tar.gz: 4cab479ef7e1eb1e025f6150e6c65a10a8a2a7f29c6c99367315523f26b397d94807dc0879ca2e8de6eb222d3e1d90b1caf49b2444b72288cb435a1a106fb4a5
6
+ metadata.gz: 15456cb665b05358a85c60004430d712302985637caca9a43d951716846c95290fb57c8cfe0eba474018568757106e930584d963a4cada948e4234c7d4296585
7
+ data.tar.gz: 04ff7932530ffb43d9e8e9b13c50252c68cbc13fecacc1bc9625ca002f06fdea355fa4d37856dc9897f90226657c6b49e3764fb48ebea6808ec558ac12d1c7ad
data/CHANGELOG.md CHANGED
@@ -10,6 +10,32 @@ Read `release_notes.md` for commit level details.
10
10
 
11
11
  ### Deprecations
12
12
 
13
+ ## [7.3.2] - 2023-11-08
14
+
15
+ ### Bug fixes
16
+ - Fix default value fo set context
17
+
18
+ ## [7.3.1] - 2023-11-04
19
+ ### Enhancements
20
+ - Bump `selenium-webdriver` max
21
+
22
+ ## [7.3.0] - 2023-10-17
23
+
24
+ ### Deprecations
25
+ - Add deprecation marks that will be removed from Appium or this library to move to extension commands such as `mobile:`
26
+ - https://github.com/appium/ruby_lib_core/pull/504
27
+
28
+ ## [7.2.0] - 2023-10-13
29
+
30
+ ### Enhancements
31
+ - Append `selenium-webdriver` `4.12` support
32
+
33
+ ## [7.1.1] - 2023-10-01
34
+
35
+ ### Deprecations
36
+
37
+ - Add deprecation marks in `immediate_value` and `replace_value`
38
+
13
39
  ## [7.1.0] - 2023-08-15
14
40
 
15
41
  ### Enhancements
data/Rakefile CHANGED
@@ -113,28 +113,7 @@ end
113
113
 
114
114
  desc('Execute RuboCop static code analysis')
115
115
  RuboCop::RakeTask.new(:rubocop) do |t|
116
- t.patterns = %w(lib test script)
116
+ t.patterns = %w(lib test)
117
117
  t.options = %w(-D)
118
118
  t.fail_on_error = true
119
119
  end
120
-
121
- desc('print commands which Ruby client has not implemented them yet')
122
- namespace :commands do
123
- require './script/commands'
124
-
125
- desc('Mobile JSON protocol')
126
- task :mjsonwp do |_t, _args|
127
- c = Script::CommandsChecker.new
128
- c.get_mjsonwp_routes
129
- c.get_all_command_path './mjsonwp_routes.js'
130
- c.all_diff_commands_mjsonwp.each { |key, value| puts("command: #{key}, method: #{value}") }
131
- end
132
-
133
- desc('W3C protocol')
134
- task :w3c do |_t, _args|
135
- c = Script::CommandsChecker.new
136
- c.get_mjsonwp_routes
137
- c.get_all_command_path './mjsonwp_routes.js'
138
- c.all_diff_commands_w3c.each { |key, value| puts("command: #{key}, method: #{value}") }
139
- end
140
- end
@@ -22,15 +22,15 @@ 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.2', '< 4.12'
25
+ spec.add_runtime_dependency 'selenium-webdriver', '~> 4.2', '< 4.16'
26
26
  spec.add_runtime_dependency 'faye-websocket', '~> 0.11.0'
27
27
 
28
28
  spec.add_development_dependency 'rake', '~> 13.0'
29
29
  spec.add_development_dependency 'yard', '~> 0.9.11'
30
30
  spec.add_development_dependency 'minitest', '~> 5.0'
31
31
  spec.add_development_dependency 'minitest-reporters', '~> 1.1'
32
- spec.add_development_dependency 'webmock', '~> 3.18.1'
33
- spec.add_development_dependency 'rubocop', '1.56.0'
32
+ spec.add_development_dependency 'webmock', '~> 3.19.0'
33
+ spec.add_development_dependency 'rubocop', '1.57.2'
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'
@@ -20,6 +20,8 @@ module Appium
20
20
  def self.add_methods
21
21
  ::Appium::Core::Device.add_endpoint_method(:finger_print) do
22
22
  def finger_print(finger_id)
23
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: fingerprint' extension instead"
24
+
23
25
  unless (1..10).cover? finger_id.to_i
24
26
  raise ::Appium::Core::Error::ArgumentError,
25
27
  "finger_id should be integer between 1 to 10. Not #{finger_id}"
@@ -20,24 +20,32 @@ module Appium
20
20
  def self.add_methods
21
21
  ::Appium::Core::Device.add_endpoint_method(:get_network_connection) do
22
22
  def get_network_connection
23
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: getConnectivity' extension instead"
24
+
23
25
  execute :get_network_connection
24
26
  end
25
27
  end
26
28
 
27
29
  ::Appium::Core::Device.add_endpoint_method(:toggle_wifi) do
28
30
  def toggle_wifi
31
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: setConnectivity' extension instead"
32
+
29
33
  execute :toggle_wifi
30
34
  end
31
35
  end
32
36
 
33
37
  ::Appium::Core::Device.add_endpoint_method(:toggle_data) do
34
38
  def toggle_data
39
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: setConnectivity' extension instead"
40
+
35
41
  execute :toggle_data
36
42
  end
37
43
  end
38
44
 
39
45
  ::Appium::Core::Device.add_endpoint_method(:set_network_connection) do
40
46
  def set_network_connection(mode)
47
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: setConnectivity' extension instead"
48
+
41
49
  # same as ::Selenium::WebDriver::DriverExtensions::HasNetworkConnection
42
50
  # But this method accept number
43
51
  connection_type = { airplane_mode: 1, wifi: 2, data: 4, all: 6, none: 0 }
@@ -49,6 +57,8 @@ module Appium
49
57
 
50
58
  ::Appium::Core::Device.add_endpoint_method(:toggle_airplane_mode) do
51
59
  def toggle_airplane_mode
60
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: setConnectivity' extension instead"
61
+
52
62
  execute :toggle_airplane_mode
53
63
  end
54
64
  alias_method :toggle_flight_mode, :toggle_airplane_mode
@@ -20,12 +20,15 @@ module Appium
20
20
  def self.add_methods
21
21
  ::Appium::Core::Device.add_endpoint_method(:get_performance_data_types) do
22
22
  def get_performance_data_types
23
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: getPerformanceDataTypes' extension instead"
23
24
  execute :get_performance_data_types
24
25
  end
25
26
  end
26
27
 
27
28
  ::Appium::Core::Device.add_endpoint_method(:get_performance_data) do
28
29
  def get_performance_data(package_name:, data_type:, data_read_timeout: 1000)
30
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: getPerformanceData' extension instead"
31
+
29
32
  execute(:get_performance_data, {},
30
33
  packageName: package_name, dataType: data_type, dataReadTimeout: data_read_timeout)
31
34
  end
@@ -20,6 +20,8 @@ module Appium
20
20
  def self.add_methods
21
21
  ::Appium::Core::Device.add_endpoint_method(:get_display_density) do
22
22
  def get_display_density
23
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: getDisplayDensity' extension instead"
24
+
23
25
  execute :get_display_density
24
26
  end
25
27
  end
@@ -27,6 +27,7 @@ module Appium
27
27
 
28
28
  # rubocop:disable Layout/LineLength
29
29
 
30
+ # @deprecated Use 'mobile: openNotifications' extension instead.
30
31
  # @!method open_notifications
31
32
  # Open Android notifications
32
33
  #
@@ -35,6 +36,7 @@ module Appium
35
36
  # @driver.open_notifications
36
37
  #
37
38
 
39
+ # @deprecated Use 'mobile: getCurrentActivity' extension instead.
38
40
  # @!method current_activity
39
41
  # Get current activity name
40
42
  # @return [String] An activity name
@@ -44,6 +46,7 @@ module Appium
44
46
  # @driver.current_activity # '.ApiDemos'
45
47
  #
46
48
 
49
+ # @deprecated Use 'mobile: getCurrentPackage' extension instead.
47
50
  # @!method current_package
48
51
  # Get current package name
49
52
  # @return [String] A package name
@@ -53,6 +56,7 @@ module Appium
53
56
  # @driver.current_package # 'com.example.android.apis'
54
57
  #
55
58
 
59
+ # @deprecated Use 'mobile: getSystemBars' extension instead.
56
60
  # @!method get_system_bars
57
61
  # Get system bar's information
58
62
  # @return [String]
@@ -63,6 +67,7 @@ module Appium
63
67
  # @driver.system_bars
64
68
  #
65
69
 
70
+ # @deprecated Use 'mobile: getDisplayDensity' extension instead.
66
71
  # @!method get_display_density
67
72
  # Get connected device's density.
68
73
  # @return [Integer] The size of density
@@ -72,6 +77,7 @@ module Appium
72
77
  # @driver.get_display_density # 320
73
78
  #
74
79
 
80
+ # @deprecated Use 'mobile: getConnectivity' extension instead.
75
81
  # @!method get_network_connection
76
82
  # Get the device network connection current status
77
83
  # See set_network_connection method for return value
@@ -86,6 +92,7 @@ module Appium
86
92
  # @driver.get_network_connection #=> 6
87
93
  #
88
94
 
95
+ # @deprecated Use 'mobile: getConnectivity' extension instead.
89
96
  # @!method toggle_wifi
90
97
  # Switch the state of the wifi service only for Android
91
98
  #
@@ -96,6 +103,7 @@ module Appium
96
103
  # @driver.toggle_wifi
97
104
  #
98
105
 
106
+ # @deprecated Use 'mobile: getConnectivity' extension instead.
99
107
  # @!method toggle_data
100
108
  # Switch the state of data service only for Android, and the device should be rooted
101
109
  #
@@ -106,6 +114,7 @@ module Appium
106
114
  # @driver.toggle_data
107
115
  #
108
116
 
117
+ # @deprecated Use 'mobile: getConnectivity' extension instead.
109
118
  # @!method location
110
119
  # Get the location of the device.
111
120
  #
@@ -143,6 +152,7 @@ module Appium
143
152
  # driver.set_location 10, 10, 0
144
153
  #
145
154
 
155
+ # @deprecated Use 'mobile: toggleGps' extension instead.
146
156
  # @!method toggle_location_services
147
157
  # Switch the state of the location service
148
158
  #
@@ -153,6 +163,7 @@ module Appium
153
163
  # @driver.toggle_location_services
154
164
  #
155
165
 
166
+ # @deprecated Use 'mobile: getConnectivity' extension instead.
156
167
  # @!method toggle_airplane_mode
157
168
  # Toggle flight mode on or off
158
169
  #
@@ -161,6 +172,7 @@ module Appium
161
172
  # @driver.toggle_airplane_mode
162
173
  #
163
174
 
175
+ # @deprecated Use 'mobile: hideKeyboard' extension instead.
164
176
  # @!method hide_keyboard(close_key = nil, strategy = nil)
165
177
  # Hide the onscreen keyboard
166
178
  # @param [String] close_key The name of the key which closes the keyboard.
@@ -176,12 +188,14 @@ module Appium
176
188
  # @driver.hide_keyboard(nil, :tapOutside) # Close a keyboard with tapping out side of keyboard
177
189
  #
178
190
 
191
+ # @deprecated The method no longer exists. This method will be removed.
179
192
  # @!method end_coverage(path, intent)
180
193
  # Android only; Ends the test coverage and writes the results to the given path on device.
181
194
  # @param [String] path Path on the device to write too.
182
195
  # @param [String] intent Intent to broadcast when ending coverage.
183
196
  #
184
197
 
198
+ # @deprecated Use 'mobile: startActivity' extension instead.
185
199
  # @!method start_activity(opts)
186
200
  # Android only. Start a new activity within the current app or launch a new app and start the target activity.
187
201
  #
@@ -206,6 +220,7 @@ module Appium
206
220
  # app_activity: '.accessibility.AccessibilityNodeProviderActivity'
207
221
  #
208
222
 
223
+ # @deprecated Use 'mobile: setConnectivity' extension instead.
209
224
  # @!method set_network_connection(mode)
210
225
  # Set the device network connection mode
211
226
  # Same as +#network_connection_type+ in selenium-webdriver.
@@ -228,6 +243,7 @@ module Appium
228
243
  # @driver.network_connection_type = :airplane_mode # As selenium-webdriver
229
244
  #
230
245
 
246
+ # @deprecated Use 'mobile: getPerformanceDataTypes' extension instead.
231
247
  # @!method get_performance_data_types
232
248
  # Get the information type of the system state which is supported to read such as
233
249
  # cpu, memory, network, battery via adb commands.
@@ -238,6 +254,7 @@ module Appium
238
254
  # @driver.get_performance_data_types #=> ["cpuinfo", "batteryinfo", "networkinfo", "memoryinfo"]
239
255
  #
240
256
 
257
+ # @deprecated Use 'mobile: getPerformanceData' extension instead.
241
258
  # @!method get_performance_data(package_name:, data_type:, data_read_timeout: 1000)
242
259
  # Get the resource usage information of the application.
243
260
  # https://github.com/appium/appium-base-driver/blob/be29aec2318316d12b5c3295e924a5ba8f09b0fb/lib/mjsonwp/routes.js#L303
@@ -317,6 +334,7 @@ module Appium
317
334
  # @driver.set_clipboard(content: 'happy testing') #=> {"protocol"=>"W3C"}
318
335
  #
319
336
 
337
+ # @deprecated Use 'mobile: fingerprint' extension instead.
320
338
  # @!method finger_print(finger_id)
321
339
  # Authenticate users by using their finger print scans on supported emulators.
322
340
  #
@@ -356,42 +374,56 @@ module Appium
356
374
 
357
375
  ::Appium::Core::Device.add_endpoint_method(:open_notifications) do
358
376
  def open_notifications
377
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: openNotifications' extension instead"
378
+
359
379
  execute :open_notifications
360
380
  end
361
381
  end
362
382
 
363
383
  ::Appium::Core::Device.add_endpoint_method(:current_activity) do
364
384
  def current_activity
385
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: getCurrentActivity' extension instead"
386
+
365
387
  execute :current_activity
366
388
  end
367
389
  end
368
390
 
369
391
  ::Appium::Core::Device.add_endpoint_method(:current_package) do
370
392
  def current_package
393
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: getCurrentPackage' extension instead"
394
+
371
395
  execute :current_package
372
396
  end
373
397
  end
374
398
 
375
399
  ::Appium::Core::Device.add_endpoint_method(:get_system_bars) do
376
400
  def get_system_bars
401
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: getSystemBars' extension instead"
402
+
377
403
  execute :get_system_bars
378
404
  end
379
405
  end
380
406
  # as alias to get_system_bars
381
407
  ::Appium::Core::Device.add_endpoint_method(:system_bars) do
382
408
  def system_bars
409
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: getSystemBars' extension instead"
410
+
383
411
  execute :get_system_bars
384
412
  end
385
413
  end
386
414
 
387
415
  ::Appium::Core::Device.add_endpoint_method(:toggle_location_services) do
388
416
  def toggle_location_services
417
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: toggleGps' extension instead"
418
+
389
419
  execute :toggle_location_services
390
420
  end
391
421
  end
392
422
 
393
423
  ::Appium::Core::Device.add_endpoint_method(:start_activity) do
394
424
  def start_activity(opts)
425
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: startActivity' extension instead"
426
+
395
427
  raise 'opts must be a hash' unless opts.is_a? Hash
396
428
 
397
429
  option = {}
@@ -429,6 +461,8 @@ module Appium
429
461
  # Android, Override included method in bridge
430
462
  ::Appium::Core::Device.add_endpoint_method(:hide_keyboard) do
431
463
  def hide_keyboard(close_key = nil, strategy = nil)
464
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: hideKeyboard' extension instead"
465
+
432
466
  option = {}
433
467
 
434
468
  option[:key] = close_key if close_key
@@ -441,6 +475,8 @@ module Appium
441
475
  # Android, Override included method in bridge
442
476
  ::Appium::Core::Device.add_endpoint_method(:background_app) do
443
477
  def background_app(duration = 0)
478
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: backgroundApp' extension instead"
479
+
444
480
  execute :background_app, {}, seconds: duration
445
481
  end
446
482
  end
@@ -448,6 +484,7 @@ module Appium
448
484
  # TODO: TEST ME
449
485
  ::Appium::Core::Device.add_endpoint_method(:end_coverage) do
450
486
  def end_coverage(path, intent)
487
+ ::Appium::Logger.warn '[DEPRECATION] The method no longer exists. This method will be removed.'
451
488
  execute :end_coverage, {}, path: path, intent: intent
452
489
  end
453
490
  end
@@ -224,6 +224,7 @@ module Appium
224
224
  )
225
225
  end
226
226
 
227
+ # @deprecated Use 'mobile: lock' extension instead.
227
228
  # Lock the device
228
229
  # @return [String]
229
230
  #
@@ -234,9 +235,11 @@ module Appium
234
235
  # # Block other commands during locking the device.
235
236
  #
236
237
  def lock(duration = nil)
238
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: lock' extension instead"
237
239
  @bridge.lock(duration)
238
240
  end
239
241
 
242
+ # @deprecated Use 'mobile: isLocked' extension instead.
240
243
  # Check current device status is weather locked or not
241
244
  #
242
245
  # @example
@@ -245,10 +248,12 @@ module Appium
245
248
  # @driver.locked?
246
249
  #
247
250
  def locked?
251
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: isLocked' extension instead"
248
252
  @bridge.device_locked?
249
253
  end
250
254
  alias device_locked? locked?
251
255
 
256
+ # @deprecated Use 'mobile: unlock' extension instead.
252
257
  # Unlock the device
253
258
  #
254
259
  # @example
@@ -256,9 +261,11 @@ module Appium
256
261
  # @driver.unlock
257
262
  #
258
263
  def unlock
264
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: unlock' extension instead"
259
265
  @bridge.unlock
260
266
  end
261
267
 
268
+ # @deprecated Use 'mobile: hideKeyboard' extension instead.
262
269
  # Hide the onscreen keyboard
263
270
  # @param [String] close_key The name of the key which closes the keyboard.
264
271
  # Defaults to 'Done' for iOS(except for XCUITest).
@@ -273,9 +280,11 @@ module Appium
273
280
  # @driver.hide_keyboard(nil, :tapOutside) # Close a keyboard with tapping out side of keyboard
274
281
  #
275
282
  def hide_keyboard(close_key = nil, strategy = nil)
283
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: hideKeyboard' extension instead"
276
284
  @bridge.hide_keyboard close_key, strategy
277
285
  end
278
286
 
287
+ # @deprecated Use 'mobile: isKeyboardShown' extension instead.
279
288
  # Get whether keyboard is displayed or not.
280
289
  # @return [Boolean] Return true if keyboard is shown. Return false if keyboard is hidden.
281
290
  #
@@ -284,6 +293,7 @@ module Appium
284
293
  # @driver.keyboard_shown? # true
285
294
  #
286
295
  def keyboard_shown?
296
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: isKeyboardShown' extension instead"
287
297
  @bridge.is_keyboard_shown
288
298
  end
289
299
  alias is_keyboard_shown keyboard_shown?
@@ -327,6 +337,7 @@ module Appium
327
337
  end
328
338
  alias update_settings settings=
329
339
 
340
+ # @deprecated Use 'mobile: shell' extension instead.
330
341
  # Returns an instance of DeviceIME
331
342
  #
332
343
  # @return [Appium::Core::Base::Driver::DeviceIME]
@@ -340,9 +351,11 @@ module Appium
340
351
  # @driver.ime.deactivate #=> Deactivate current IME engine
341
352
  #
342
353
  def ime
354
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: shell' extension instead"
343
355
  @ime ||= DeviceIME.new(@bridge)
344
356
  end
345
357
 
358
+ # @deprecated Use 'mobile: shell' extension instead.
346
359
  # Android only. Make an engine that is available active.
347
360
  #
348
361
  # @param [String] ime_name The IME owning the activity [required]
@@ -356,6 +369,7 @@ module Appium
356
369
  ime.activate(ime_name)
357
370
  end
358
371
 
372
+ # @deprecated Use 'mobile: shell' extension instead.
359
373
  # Android only. List all available input engines on the machine.
360
374
  #
361
375
  # @example
@@ -367,6 +381,7 @@ module Appium
367
381
  ime.available_engines
368
382
  end
369
383
 
384
+ # @deprecated Use 'mobile: shell' extension instead.
370
385
  # Android only. Get the name of the active IME engine.
371
386
  #
372
387
  # @example
@@ -378,6 +393,7 @@ module Appium
378
393
  ime.active_engine
379
394
  end
380
395
 
396
+ # @deprecated Use 'mobile: shell' extension instead.
381
397
  # @!method ime_activated
382
398
  # Android only. Indicates whether IME input is active at the moment (not if it is available).
383
399
  #
@@ -392,6 +408,7 @@ module Appium
392
408
  ime.activated?
393
409
  end
394
410
 
411
+ # @deprecated Use 'mobile: shell' extension instead.
395
412
  # Android only. De-activates the currently-active IME engine.
396
413
  #
397
414
  # @example
@@ -455,7 +472,7 @@ module Appium
455
472
  # @driver.set_context "NATIVE_APP"
456
473
  # @driver.context = "NATIVE_APP"
457
474
  #
458
- def context=(context = null)
475
+ def context=(context = nil)
459
476
  @bridge.set_context(context)
460
477
  end
461
478
  alias set_context context=
@@ -477,6 +494,7 @@ module Appium
477
494
  # @driver.push_file "/sdcard/Pictures", file # Push a file binary to /sdcard/Pictures path in Android
478
495
  #
479
496
  def push_file(path, filedata)
497
+ # TODO: use 'mobile: pushFile' internally
480
498
  @bridge.push_file(path, filedata)
481
499
  end
482
500
 
@@ -505,6 +523,7 @@ module Appium
505
523
  # File.open('proper_filename', 'wb') { |f| f<< decoded_file }
506
524
  #
507
525
  def pull_file(path)
526
+ # TODO: use 'mobile: pullFile' internally
508
527
  @bridge.pull_file(path)
509
528
  end
510
529
 
@@ -530,9 +549,11 @@ module Appium
530
549
  # File.open('proper_filename', 'wb') { |f| f<< decoded_file }
531
550
  #
532
551
  def pull_folder(path)
552
+ # TODO: use 'mobile: pullFolder' internally
533
553
  @bridge.pull_folder(path)
534
554
  end
535
555
 
556
+ # @deprecated Use 'mobile: pressKey' extension instead.
536
557
  # Press keycode on the device.
537
558
  # http://developer.android.com/reference/android/view/KeyEvent.html
538
559
  # @param [Integer] key The key to press. The values which have +KEYCODE_+ prefix in http://developer.android.com/reference/android/view/KeyEvent.html
@@ -552,9 +573,11 @@ module Appium
552
573
  # @driver.press_keycode 66, metastate: [1], flags: [32]
553
574
  #
554
575
  def press_keycode(key, metastate: [], flags: [])
576
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: pressKey' extension instead"
555
577
  @bridge.press_keycode(key, metastate: metastate, flags: flags)
556
578
  end
557
579
 
580
+ # @deprecated Use 'mobile: pressKey' extension instead.
558
581
  # Long press keycode on the device.
559
582
  # http://developer.android.com/reference/android/view/KeyEvent.html
560
583
  # @param [Integer] key The key to long press. The values which have +KEYCODE_+ prefix in http://developer.android.com/reference/android/view/KeyEvent.html
@@ -574,10 +597,11 @@ module Appium
574
597
  # @driver.long_press_keycode 66, metastate: [1], flags: [32, 8192]
575
598
  #
576
599
  def long_press_keycode(key, metastate: [], flags: [])
600
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: pressKey' extension instead"
577
601
  @bridge.long_press_keycode(key, metastate: metastate, flags: flags)
578
602
  end
579
603
 
580
- # @deprecated Except for Windows
604
+ # @deprecated Will be removed, or use 'windows: launchApp' extension instead for Windows.
581
605
  # Start the simulator and application configured with desired capabilities
582
606
  #
583
607
  # @example
@@ -588,7 +612,7 @@ module Appium
588
612
  @bridge.launch_app
589
613
  end
590
614
 
591
- # @deprecated Except for Windows
615
+ # @deprecated Will be removed, or use 'windows: closeApp' extension instead for Windows.
592
616
  # Close an app on device
593
617
  #
594
618
  # @example
@@ -614,6 +638,7 @@ module Appium
614
638
  @bridge.reset
615
639
  end
616
640
 
641
+ # @deprecated Use 'mobile: getAppStrings' extension instead.
617
642
  # Return the hash of all localization strings.
618
643
  # @return [Hash]
619
644
  #
@@ -622,9 +647,11 @@ module Appium
622
647
  # @driver.app_strings #=> "TransitionsTitle"=>"Transitions", "WebTitle"=>"Web"
623
648
  #
624
649
  def app_strings(language = nil)
650
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: getAppStrings' extension instead"
625
651
  @bridge.app_strings(language)
626
652
  end
627
653
 
654
+ # @deprecated Use 'mobile: backgroundApp' extension instead.
628
655
  # Backgrounds the app for a set number of seconds.
629
656
  # This is a blocking application
630
657
  # @param [Integer] duration How many seconds to background the app for.
@@ -667,6 +694,7 @@ module Appium
667
694
  # @driver.install_app("/path/to/test.ipa", timeoutMs: 20000)
668
695
  #
669
696
  def install_app(path, **options)
697
+ # TODO: use mobile command in the background?
670
698
  options = options.transform_keys { |key| key.to_s.gsub(/_./) { |v| v[1].upcase } } unless options.nil?
671
699
  @bridge.install_app(path, options)
672
700
  end
@@ -687,6 +715,7 @@ module Appium
687
715
  # @driver.remove_app("io.appium.bundle", keep_data: false, timeout, 10000)
688
716
  #
689
717
  def remove_app(app_id, keep_data: nil, timeout: nil)
718
+ # TODO: use mobile command in the background?
690
719
  @bridge.remove_app(app_id, keep_data: keep_data, timeout: timeout)
691
720
  end
692
721
 
@@ -698,6 +727,7 @@ module Appium
698
727
  # @driver.app_installed?("io.appium.bundle")
699
728
  #
700
729
  def app_installed?(app_id)
730
+ # TODO: use mobile command in the background?
701
731
  @bridge.app_installed?(app_id)
702
732
  end
703
733
 
@@ -709,6 +739,7 @@ module Appium
709
739
  # @driver.activate_app("io.appium.bundle") #=> {}
710
740
  #
711
741
  def activate_app(app_id)
742
+ # TODO: use mobile command in the background?
712
743
  @bridge.activate_app(app_id)
713
744
  end
714
745
 
@@ -725,6 +756,7 @@ module Appium
725
756
  # @driver.terminate_app("io.appium.bundle", timeout: 500)
726
757
  #
727
758
  def terminate_app(app_id, timeout: nil)
759
+ # TODO: use mobile command in the background?
728
760
  @bridge.terminate_app(app_id, timeout: timeout)
729
761
  end
730
762
 
@@ -748,6 +780,7 @@ module Appium
748
780
  # @driver.query_app_state("io.appium.bundle") #=> :not_running
749
781
  #
750
782
  def app_state(app_id)
783
+ # TODO: use mobile command in the background?
751
784
  @bridge.app_state(app_id)
752
785
  end
753
786
  alias query_app_state app_state
@@ -787,6 +820,7 @@ module Appium
787
820
  @bridge.stop_and_save_recording_screen(file_path)
788
821
  end
789
822
 
823
+ # @deprecated Use 'mobile: shake' extension instead.
790
824
  # Cause the device to shake
791
825
  #
792
826
  # @example
@@ -794,9 +828,11 @@ module Appium
794
828
  # @driver.shake
795
829
  #
796
830
  def shake
831
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: shake' extension instead"
797
832
  @bridge.shake
798
833
  end
799
834
 
835
+ # @deprecated Use 'mobile: getDeviceTime' extension instead.
800
836
  # Get the time on the device
801
837
  #
802
838
  # @param [String] format The set of format specifiers. Read https://momentjs.com/docs/ to get
@@ -810,6 +846,7 @@ module Appium
810
846
  # @driver.device_time "YYYY-MM-DD" #=> "2018-06-12"
811
847
  #
812
848
  def device_time(format = nil)
849
+ ::Appium::Logger.warn "[DEPRECATION] Please use 'mobile: getDeviceTime' extension instead"
813
850
  @bridge.device_time(format)
814
851
  end
815
852
 
@@ -192,6 +192,7 @@ module Appium
192
192
  touch_actions: [:post, 'session/:session_id/touch/perform'],
193
193
  multi_touch: [:post, 'session/:session_id/touch/multi/perform'],
194
194
 
195
+ # TODO: remove
195
196
  set_immediate_value: [:post, 'session/:session_id/appium/element/:id/value'],
196
197
  replace_value: [:post, 'session/:session_id/appium/element/:id/replace_value'],
197
198
 
@@ -42,7 +42,7 @@ module Appium
42
42
  execute(:available_contexts, {}) || []
43
43
  end
44
44
 
45
- def set_context(context = null)
45
+ def set_context(context = nil)
46
46
  execute :set_context, {}, name: context
47
47
  end
48
48
  end # module ImeActions
@@ -64,6 +64,7 @@ module Appium
64
64
  # Alias for type
65
65
  alias type send_keys
66
66
 
67
+ # @deprecated Use element send_keys instead.
67
68
  # Set the value to element directly
68
69
  #
69
70
  # @example
@@ -71,9 +72,13 @@ module Appium
71
72
  # element.immediate_value 'hello'
72
73
  #
73
74
  def immediate_value(*value)
75
+ ::Appium::Logger.warn(
76
+ '[DEPRECATION] element.immediate_value is deprecated. Please use element.send_keys instead.'
77
+ )
74
78
  @bridge.set_immediate_value @id, *value
75
79
  end
76
80
 
81
+ # @deprecated Use element send_keys or 'mobile: replaceElementValue' for UIAutomator2 instead.
77
82
  # Replace the value to element directly
78
83
  #
79
84
  # @example
@@ -81,6 +86,10 @@ module Appium
81
86
  # element.replace_value 'hello'
82
87
  #
83
88
  def replace_value(*value)
89
+ ::Appium::Logger.warn(
90
+ '[DEPRECATION] element.replace_value is deprecated. Please use element.send_keys instead, ' \
91
+ 'or "mobile: replaceElementValue" for UIAutomator2.'
92
+ )
84
93
  @bridge.replace_value @id, *value
85
94
  end
86
95
 
@@ -25,6 +25,7 @@ module Appium
25
25
 
26
26
  # rubocop:disable Layout/LineLength
27
27
 
28
+ # @deprecated Use 'mobile: hideKeyboard' extension instead.
28
29
  # @!method hide_keyboard(close_key = nil, strategy = nil)
29
30
  # Hide the onscreen keyboard
30
31
  # @param [String] close_key The name of the key which closes the keyboard.
@@ -38,6 +39,7 @@ module Appium
38
39
  # @driver.hide_keyboard('Finished') # Close a keyboard with the 'Finished' button
39
40
  #
40
41
 
42
+ # @deprecated Use 'mobile: backgroundApp' extension instead.
41
43
  # @!method background_app(duration = 0)
42
44
  # Backgrounds the app for a set number of seconds.
43
45
  # This is a blocking application.
@@ -14,7 +14,7 @@
14
14
 
15
15
  module Appium
16
16
  module Core
17
- VERSION = '7.1.0' unless defined? ::Appium::Core::VERSION
18
- DATE = '2023-08-15' unless defined? ::Appium::Core::DATE
17
+ VERSION = '7.3.2' unless defined? ::Appium::Core::VERSION
18
+ DATE = '2023-11-08' 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: 7.1.0
4
+ version: 7.3.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: 2023-08-16 00:00:00.000000000 Z
11
+ date: 2023-11-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: selenium-webdriver
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '4.2'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '4.12'
22
+ version: '4.16'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '4.2'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '4.12'
32
+ version: '4.16'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: faye-websocket
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -106,28 +106,28 @@ dependencies:
106
106
  requirements:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: 3.18.1
109
+ version: 3.19.0
110
110
  type: :development
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - "~>"
115
115
  - !ruby/object:Gem::Version
116
- version: 3.18.1
116
+ version: 3.19.0
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: rubocop
119
119
  requirement: !ruby/object:Gem::Requirement
120
120
  requirements:
121
121
  - - '='
122
122
  - !ruby/object:Gem::Version
123
- version: 1.56.0
123
+ version: 1.57.2
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.56.0
130
+ version: 1.57.2
131
131
  - !ruby/object:Gem::Dependency
132
132
  name: appium_thor
133
133
  requirement: !ruby/object:Gem::Requirement