appium_lib_core 5.0.0.rc7 → 5.0.2

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: 86c326e32b6a255221e4eeb9c4636a2ad9862e33c536099fd926b5f75aa722ca
4
- data.tar.gz: 42badc486fa895ccad392a404778cf59fc6bdf3ef8cd084e67375b757a6066ef
3
+ metadata.gz: e643028012001727a3587bf56c533a58f3156cb54a33ce6ae76344032b6eba2b
4
+ data.tar.gz: e267c16743d9ae2054c82aaf2af36743eadcf11405cda1bc65d0988e2a0b019d
5
5
  SHA512:
6
- metadata.gz: 0e7d2d0a230bc1de4396276a7eebf7963e71253214d2f57910f3ff25f1f7ee6979f59c22d5d63874bf4dc6f4f68417710454b1fb8870060a0ad20db2b9c65048
7
- data.tar.gz: e3bdca124e8d17d4452f1a9bfc98c7246c4de6ff8593c579a21849593715e112545bf8a934f4babd8da9332a53aba904f22ec4b20ffc320d6e8b5ca86e256858
6
+ metadata.gz: 2e433f4df5d820edd9a8625b0e53e3d16eb498310e3d7891ae4f5002bae518488a4595398a294b3f2a7a7a81d84dce0ded6ede87289d5a47f6a5a6f9a4ca0656
7
+ data.tar.gz: 07ccc1ce6007394bb72328cfd0f2f7ed292f0456177baef9dc9aec999ba511565dcd9635f10c5ce7e43383a115801d5d3c728a52a08c20a254558d4752ddc863
@@ -0,0 +1,70 @@
1
+ # For most projects, this workflow file will not need changing; you simply need
2
+ # to commit it to your repository.
3
+ #
4
+ # You may wish to alter this file to override the set of languages analyzed,
5
+ # or to provide custom queries or build logic.
6
+ #
7
+ # ******** NOTE ********
8
+ # We have attempted to detect the languages in your repository. Please check
9
+ # the `language` matrix defined below to confirm you have the correct set of
10
+ # supported CodeQL languages.
11
+ #
12
+ name: "CodeQL"
13
+
14
+ on:
15
+ push:
16
+ branches: [ master ]
17
+ pull_request:
18
+ # The branches below must be a subset of the branches above
19
+ branches: [ master ]
20
+ schedule:
21
+ - cron: '39 12 * * 0'
22
+
23
+ jobs:
24
+ analyze:
25
+ name: Analyze
26
+ runs-on: ubuntu-latest
27
+ permissions:
28
+ actions: read
29
+ contents: read
30
+ security-events: write
31
+
32
+ strategy:
33
+ fail-fast: false
34
+ matrix:
35
+ language: [ 'ruby' ]
36
+ # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
37
+ # Learn more about CodeQL language support at https://git.io/codeql-language-support
38
+
39
+ steps:
40
+ - name: Checkout repository
41
+ uses: actions/checkout@v2
42
+
43
+ # Initializes the CodeQL tools for scanning.
44
+ - name: Initialize CodeQL
45
+ uses: github/codeql-action/init@v1
46
+ with:
47
+ languages: ${{ matrix.language }}
48
+ # If you wish to specify custom queries, you can do so here or in a config file.
49
+ # By default, queries listed here will override any specified in a config file.
50
+ # Prefix the list here with "+" to use these queries and those in the config file.
51
+ # queries: ./path/to/local/query, your-org/your-repo/queries@main
52
+
53
+ # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
54
+ # If this step fails, then you should remove it and run the build manually (see below)
55
+ - name: Autobuild
56
+ uses: github/codeql-action/autobuild@v1
57
+
58
+ # ℹ️ Command-line programs to run using the OS shell.
59
+ # 📚 https://git.io/JvXDl
60
+
61
+ # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
62
+ # and modify them (or add more) to build your code if your project
63
+ # uses a compiled language
64
+
65
+ #- run: |
66
+ # make bootstrap
67
+ # make release
68
+
69
+ - name: Perform CodeQL Analysis
70
+ uses: github/codeql-action/analyze@v1
data/.rubocop.yml CHANGED
@@ -58,6 +58,8 @@ Style/KeywordParametersOrder:
58
58
  Enabled: false
59
59
  Gemspec/DateAssignment:
60
60
  Enabled: true
61
+ Gemspec/RequireMFA:
62
+ Enabled: true
61
63
  Layout/LineEndStringConcatenationIndentation:
62
64
  Enabled: true
63
65
  Layout/SpaceBeforeBrackets:
@@ -104,6 +106,8 @@ Lint/UnexpectedBlockArity:
104
106
  Enabled: true
105
107
  Lint/UnmodifiedReduceAccumulator:
106
108
  Enabled: true
109
+ Lint/UselessRuby2Keywords:
110
+ Enabled: true
107
111
  Security/IoMethods:
108
112
  Enabled: true
109
113
  Style/ArgumentsForwarding:
@@ -144,3 +148,5 @@ Style/StringChars:
144
148
  Enabled: true
145
149
  Style/SwapValues:
146
150
  Enabled: true
151
+ Style/OpenStructUse:
152
+ Enabled: true
data/CHANGELOG.md CHANGED
@@ -10,33 +10,54 @@ Read `release_notes.md` for commit level details.
10
10
 
11
11
  ### Deprecations
12
12
 
13
- ## [5.0.0]
13
+ ## [5.0.2] - 2021-12-01
14
+
15
+ ### Bug fixes
16
+ - (internal) Fix firstMatch format in a new session creation
17
+
18
+ ## [5.0.1] - 2021-11-23
19
+
20
+ ### Enhancements
21
+ - Relaxed version restriction of selenium-webdriver
22
+
23
+ ## [5.0.0] - 2021-11-05
14
24
 
15
25
  ### Enhancements
16
26
 
17
- - Update base selenium webdriver version to `4.0.0`
18
- - Support only W3C spec as following Selenium v4 client
27
+ - Update base selenium webdriver version to `v4`
28
+ - Base Selenium Ruby binding is now v4
29
+ - Support only W3C WebDriver spec (and a few Appium specific commands)
19
30
  - Support Ruby 2.6+
20
- - `element.id` returns the element id instead of `element.ref`. `element.ref` now returns an array.
21
- - Removed `desired_capabilities` as capabilities for `Appium::Core#for`. Please use `capabilities` key name instead
22
- - Removals that already had _duplication_ mark
31
+ - Add `driver#wait`, `driver#wait_until`, `driver#wait_true`, `driver#wait_until_true` syntaxes
32
+ - Can give `driver` instance as its block variable
33
+ - `element.id` returns the element id instead of `element.ref`.
34
+ - `element.ref` now returns an array.
35
+ - Removed `desired_capabilities` as capabilities for `Appium::Core#for`. Please use `capabilities` key name instead.
36
+ - e.g. `Appium::Core.for capabilities: {...}` instead of `Appium::Core.for desired_capabilities: {...}`
37
+ - Removed methods that had _Deprecated_ mark
23
38
  - Removed `driver#screenshot`. Please use `driver#save_screenshot` instead
24
39
  - Removed `driver#send_keys` to send keys to an active element. Please use `driver.action.send_keys('happy testing').perform` instead
25
40
  - Removed `forceMjsonwp` to send only MJSONWP capabilities since Selenium cleint v4 no longer supports MJSONWP
26
- - No longer set default `timeouts` as `0`. ruby_lib_core calls `/timeouts` endpoint only when `appium_lib: { wait: 5 }` is provided explicitly
41
+ - No longer set default `timeouts` as `0`
42
+ - ruby_lib_core calls `/timeouts` endpoint only when `appium_lib: { wait: 5 }` is provided explicitly
27
43
  - Raises `::Appium::Core::Error::ArgumentError` instead of `ArgumentError` for this library specific argument errors
28
- - Add `driver#wait`, `driver#wait_until`, `driver#wait_true`, `driver#wait_until_true` syntaxes
29
- - Can give `driver` instance as its block variable
44
+ - Removed Selendroid related methods
30
45
 
31
46
  ### Deprecations
32
47
  - `Appium::Core::TouchAction` and `Appium::Core::MultiTouch` are deprecated
33
48
  - Please use W3C actions instead http://appium.io/docs/en/commands/interactions/actions/
34
49
  - More working examples:
35
- - test/functional/android/webdriver/w3c_actions_test.rb
36
- - test/functional/ios/webdriver/w3c_actions_test.rb
37
- - test/functional/common_w3c_actions.rb
50
+ - [test/functional/android/webdriver/w3c_actions_test.rb](test/functional/android/webdriver/w3c_actions_test.rb)
51
+ - [test/functional/ios/webdriver/w3c_actions_test.rb](test/functional/ios/webdriver/w3c_actions_test.rb)
52
+ - [test/functional/common_w3c_actions.rb](test/functional/common_w3c_actions.rb)
38
53
  - https://www.selenium.dev/documentation/support_packages/mouse_and_keyboard_actions_in_detail/
39
- - Removed Selendroid related methods
54
+ - https://www.youtube.com/watch?v=oAJ7jwMNFVU
55
+ - https://appiumpro.com/editions/30-ios-specific-touch-action-methods
56
+ - https://appiumpro.com/editions/29-automating-complex-gestures-with-the-w3c-actions-api
57
+ - `launch_app`, `close_app` and `reset`. Please read [issues#15807](https://github.com/appium/appium/issues/15807) for more details.
58
+ - `activate_app` or a new session request can be alternatives of `launch_app`
59
+ - `terminate_app` or close the session request can be alternatives of `close_app`
60
+ - Close current session and creating a new session, or `terminate_app` and `launch_app` can be alternatives of `reset`
40
61
 
41
62
  ## [4.7.1] - 2021-09-26
42
63
 
data/README.md CHANGED
@@ -13,6 +13,10 @@ This library wraps [selenium-webdriver](https://github.com/SeleniumHQ/selenium/w
13
13
  - http://www.rubydoc.info/github/appium/ruby_lib_core
14
14
  - You can find working API examples in test code, [test/functional](test/functional)
15
15
 
16
+ # Migration from v4 to v5
17
+
18
+ Please read [`[5.0.0]`](CHANGELOG.md#500---2021-11-05) section in [CHANGELOG](CHANGELOG.md)
19
+
16
20
  # Related library
17
21
  - https://github.com/appium/ruby_lib
18
22
 
@@ -22,19 +22,16 @@ 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.0.0'
25
+ spec.add_runtime_dependency 'selenium-webdriver', '~> 4.0'
26
26
  spec.add_runtime_dependency 'faye-websocket', '~> 0.11.0'
27
27
 
28
- spec.add_development_dependency 'bundler', '>= 1.14'
29
28
  spec.add_development_dependency 'rake', '~> 13.0'
30
29
  spec.add_development_dependency 'yard', '~> 0.9.11'
31
30
  spec.add_development_dependency 'minitest', '~> 5.0'
32
31
  spec.add_development_dependency 'minitest-reporters', '~> 1.1'
33
32
  spec.add_development_dependency 'webmock', '~> 3.14.0'
34
- spec.add_development_dependency 'rubocop', '1.22.2'
33
+ spec.add_development_dependency 'rubocop', '1.23.0'
35
34
  spec.add_development_dependency 'appium_thor', '~> 1.0'
36
- spec.add_development_dependency 'pry'
37
- spec.add_development_dependency 'pry-byebug'
38
35
  spec.add_development_dependency 'parallel_tests'
39
36
  spec.add_development_dependency 'simplecov'
40
37
  end
data/bin/console CHANGED
@@ -6,9 +6,5 @@ require "appium_lib_core"
6
6
  # You can add fixtures and/or initialization code here to make experimenting
7
7
  # with your gem easier. You can also use a different console, if you like.
8
8
 
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
9
  require "irb"
14
10
  IRB.start(__FILE__)
@@ -77,8 +77,8 @@ module Appium
77
77
  def create_session(capabilities)
78
78
  @available_commands = ::Appium::Core::Commands::COMMANDS.dup
79
79
 
80
- caps = add_appium_prefix(capabilities)
81
- response = execute(:new_session, {}, { capabilities: { alwaysMatch: caps, firstMatch: [] } })
80
+ always_match = add_appium_prefix(capabilities)
81
+ response = execute(:new_session, {}, { capabilities: { alwaysMatch: always_match, firstMatch: [{}] } })
82
82
 
83
83
  @session_id = response['sessionId']
84
84
  raise ::Selenium::WebDriver::Error::WebDriverError, 'no sessionId in returned payload' unless @session_id
@@ -52,6 +52,10 @@ module Appium
52
52
  @wait_timeout = opts.delete(:wait_timeout)
53
53
  @wait_interval = opts.delete(:wait_interval)
54
54
 
55
+ # For logging.
56
+ # TODO: Remove when appium core no longer uses this in this bridge.
57
+ @automation_name = opts.delete(:automation_name)
58
+
55
59
  super
56
60
  end
57
61
 
@@ -414,17 +418,9 @@ module Appium
414
418
  alias set_context context=
415
419
 
416
420
  # Place a file in a specific location on the device.
417
- # On iOS, the server should have ifuse libraries installed and configured properly for this feature to work on
418
- # real devices.
419
421
  # On Android, the application under test should be built with debuggable flag enabled in order to get access to
420
422
  # its container on the internal file system.
421
423
  #
422
- # {https://github.com/libimobiledevice/ifuse iFuse GitHub page6}
423
- #
424
- # {https://github.com/osxfuse/osxfuse/wiki/FAQ osxFuse FAQ}
425
- #
426
- # {https://developer.android.com/studio/debug 'Debug Your App' developer article}
427
- #
428
424
  # @param [String] path Either an absolute path OR, for iOS devices, a path relative to the app, as described.
429
425
  # If the path starts with application id prefix, then the file will be pushed to the root of
430
426
  # the corresponding application container.
@@ -441,18 +437,10 @@ module Appium
441
437
  @bridge.push_file(path, filedata)
442
438
  end
443
439
 
444
- # Pull a file from the simulator/device.
445
- # On iOS the server should have ifuse
446
- # libraries installed and configured properly for this feature to work on real devices.
440
+ # Pull a file from the remote device.
447
441
  # On Android the application under test should be built with debuggable flag enabled in order to get access
448
442
  # to its container on the internal file system.
449
443
  #
450
- # {https://github.com/libimobiledevice/ifuse iFuse GitHub page6}
451
- #
452
- # {https://github.com/osxfuse/osxfuse/wiki/FAQ osxFuse FAQ}
453
- #
454
- # {https://developer.android.com/studio/debug 'Debug Your App' developer article}
455
- #
456
444
  # @param [String] path Either an absolute path OR, for iOS devices, a path relative to the app, as described.
457
445
  # If the path starts with application id prefix, then the file will be pulled from the root
458
446
  # of the corresponding application container.
@@ -461,7 +449,6 @@ module Appium
461
449
  # Only pulling files from application containers is supported for iOS Simulator.
462
450
  # Provide the remote path in format
463
451
  # <code>@bundle.identifier:container_type/relative_path_in_container</code>
464
- # (Make sure this in ifuse doc)
465
452
  #
466
453
  # @return [Base64-decoded] Base64 decoded data
467
454
  #
@@ -478,18 +465,10 @@ module Appium
478
465
  @bridge.pull_file(path)
479
466
  end
480
467
 
481
- # Pull a folder content from the simulator/device.
482
- # On iOS the server should have ifuse libraries installed and configured properly for this feature to work
483
- # on real devices.
468
+ # Pull a folder content from the remote device.
484
469
  # On Android the application under test should be built with debuggable flag enabled in order to get access to
485
470
  # its container on the internal file system.
486
471
  #
487
- # {https://github.com/libimobiledevice/ifuse iFuse GitHub page6}
488
- #
489
- # {https://github.com/osxfuse/osxfuse/wiki/FAQ osxFuse FAQ}
490
- #
491
- # {https://developer.android.com/studio/debug 'Debug Your App' developer article}
492
- #
493
472
  # @param [String] path Absolute path to the folder.
494
473
  # If the path starts with <em>@applicationId/</em> prefix, then the folder will be pulled
495
474
  # from the root of the corresponding application container.
@@ -498,7 +477,6 @@ module Appium
498
477
  # Only pulling files from application containers is supported for iOS Simulator.
499
478
  # Provide the remote path in format
500
479
  # <code>@bundle.identifier:container_type/relative_path_in_container</code>
501
- # (Make sure this in ifuse doc)
502
480
  #
503
481
  # @return [Base64-decoded] Base64 decoded data which is zip archived
504
482
  #
@@ -556,6 +534,7 @@ module Appium
556
534
  @bridge.long_press_keycode(key, metastate: metastate, flags: flags)
557
535
  end
558
536
 
537
+ # @deprecated Except for Windows
559
538
  # Start the simulator and application configured with desired capabilities
560
539
  #
561
540
  # @example
@@ -563,9 +542,16 @@ module Appium
563
542
  # @driver.launch_app
564
543
  #
565
544
  def launch_app
545
+ # TODO: Define only in Windows module when ruby_lib_core removes this method
546
+ if @automation_name != :windows
547
+ ::Appium::Logger.warn(
548
+ '[DEPRECATION] launch_app is deprecated. Please use activate_app instead.'
549
+ )
550
+ end
566
551
  @bridge.launch_app
567
552
  end
568
553
 
554
+ # @deprecated Except for Windows
569
555
  # Close an app on device
570
556
  #
571
557
  # @example
@@ -573,9 +559,16 @@ module Appium
573
559
  # @driver.close_app
574
560
  #
575
561
  def close_app
562
+ # TODO: Define only in Windows module when ruby_lib_core removes this method
563
+ if @automation_name != :windows
564
+ ::Appium::Logger.warn(
565
+ '[DEPRECATION] close_app is deprecated. Please use terminate_app instead.'
566
+ )
567
+ end
576
568
  @bridge.close_app
577
569
  end
578
570
 
571
+ # @deprecated
579
572
  # Reset the device, relaunching the application.
580
573
  #
581
574
  # @example
@@ -583,6 +576,10 @@ module Appium
583
576
  # @driver.reset
584
577
  #
585
578
  def reset
579
+ ::Appium::Logger.warn(
580
+ '[DEPRECATION] reset is deprecated. Please use terminate_app and activate_app, ' \
581
+ 'or quit and create a new session instead.'
582
+ )
586
583
  @bridge.reset
587
584
  end
588
585
 
@@ -800,7 +797,7 @@ module Appium
800
797
  #
801
798
  # @example: Zoom
802
799
  #
803
- # f1 = @driver.action.add_pointer_input(:touch, 'finger1')
800
+ # f1 = ::Selenium::WebDriver::Interactions.pointer(:touch, name: 'finger1')
804
801
  # f1.create_pointer_move(duration: 1, x: 200, y: 500,
805
802
  # origin: ::Selenium::WebDriver::Interactions::PointerMove::VIEWPORT)
806
803
  # f1.create_pointer_down(:left)
@@ -808,7 +805,7 @@ module Appium
808
805
  # origin: ::Selenium::WebDriver::Interactions::PointerMove::VIEWPORT)
809
806
  # f1.create_pointer_up(:left)
810
807
  #
811
- # f2 = @driver.action.add_pointer_input(:touch, 'finger2')
808
+ # f2 = ::Selenium::WebDriver::Interactions.pointer(:touch, name: 'finger2')
812
809
  # f2.create_pointer_move(duration: 1, x: 200, y: 500,
813
810
  # origin: ::Selenium::WebDriver::Interactions::PointerMove::VIEWPORT)
814
811
  # f2.create_pointer_down(:left)
@@ -821,6 +818,10 @@ module Appium
821
818
  def perform_actions(data)
822
819
  raise ::Appium::Core::Error::ArgumentError, "'#{data}' must be Array" unless data.is_a? Array
823
820
 
821
+ # NOTE: 'add_input' in Selenium Ruby implementation has additional 'pause'.
822
+ # This implementation is to avoid the additional pause.
823
+ # https://github.com/SeleniumHQ/selenium/blob/64447d4b03f6986337d1ca8d8b6476653570bcc1/rb/lib/selenium/webdriver/common/action_builder.rb#L207
824
+
824
825
  @bridge.send_actions data.map(&:encode).compact
825
826
  data.each(&:clear_actions)
826
827
  nil
@@ -32,6 +32,7 @@ module Appium
32
32
  predicate: '-ios predicate string',
33
33
  class_chain: '-ios class chain',
34
34
  # Windows with windows prefix
35
+ # @deprecated
35
36
  windows_uiautomation: '-windows uiautomation',
36
37
  # Tizen with Tizen prefix
37
38
  tizen_uiautomation: '-tizen uiautomation'
@@ -122,6 +123,7 @@ module Appium
122
123
  # e.tag_name #=> "XCUIElementTypeStaticText"
123
124
  #
124
125
  # # For Windows
126
+ # # @deprecated
125
127
  # @driver.find_elements :windows_uiautomation, '....'
126
128
  #
127
129
  # # For Tizen
@@ -158,6 +160,12 @@ module Appium
158
160
  private
159
161
 
160
162
  def _set_by_from_finders(how)
163
+ if how == :windows_uiautomation
164
+ ::Appium::Logger.warn(
165
+ '[DEPRECATION] :windows_uiautomation is deprecated. Please use other locators.'
166
+ )
167
+ end
168
+
161
169
  by = FINDERS[how.to_sym]
162
170
  unless by
163
171
  raise ::Appium::Core::Error::ArgumentError,
@@ -24,6 +24,18 @@ module Appium
24
24
  # add to a new MultiTouch action. When ready, call +prepare()+ and all
25
25
  # actions will be executed simultaneously.
26
26
  #
27
+ # Consider to use W3C spec touch action like the followings.
28
+ # https://www.selenium.dev/selenium/docs/api/rb/Selenium/WebDriver/PointerActions.html
29
+ # https://github.com/appium/ruby_lib_core/blob/master/test/functional/android/webdriver/w3c_actions_test.rb
30
+ # https://github.com/appium/ruby_lib_core/blob/master/test/functional/ios/webdriver/w3c_actions_test.rb
31
+ #
32
+ # About W3C actions
33
+ # https://www.youtube.com/watch?v=oAJ7jwMNFVU
34
+ # https://appiumpro.com/editions/30-ios-specific-touch-action-methods
35
+ # https://appiumpro.com/editions/29-automating-complex-gestures-with-the-w3c-actions-api
36
+ #
37
+ # Functional test code in ruby_lib_core repository also helps.
38
+ #
27
39
  # @example
28
40
  #
29
41
  # @driver = Appium::Core.for(opts).start_driver
@@ -27,6 +27,13 @@ module Appium
27
27
  # https://github.com/appium/ruby_lib_core/blob/master/test/functional/android/webdriver/w3c_actions_test.rb
28
28
  # https://github.com/appium/ruby_lib_core/blob/master/test/functional/ios/webdriver/w3c_actions_test.rb
29
29
  #
30
+ # About W3C actions
31
+ # https://www.youtube.com/watch?v=oAJ7jwMNFVU
32
+ # https://appiumpro.com/editions/30-ios-specific-touch-action-methods
33
+ # https://appiumpro.com/editions/29-automating-complex-gestures-with-the-w3c-actions-api
34
+ #
35
+ # Functional test code in ruby_lib_core repository also helps.
36
+ #
30
37
  # @example
31
38
  #
32
39
  # @driver = Appium::Core.for(opts).start_driver
@@ -320,7 +320,7 @@ module Appium
320
320
  #
321
321
  # # Start iOS driver
322
322
  # opts = {
323
- # caps: {
323
+ # capabilities: {
324
324
  # platformName: :ios,
325
325
  # platformVersion: '11.0',
326
326
  # deviceName: 'iPhone Simulator',
@@ -366,7 +366,8 @@ module Appium
366
366
  capabilities: @caps, # ::Selenium::WebDriver::Remote::Capabilities
367
367
  url: @custom_url,
368
368
  wait_timeout: @wait_timeout,
369
- wait_interval: @wait_interval)
369
+ wait_interval: @wait_interval,
370
+ automation_name: @automation_name)
370
371
 
371
372
  if @direct_connect
372
373
  d_c = DirectConnections.new(@driver.capabilities)
@@ -14,7 +14,7 @@
14
14
 
15
15
  module Appium
16
16
  module Core
17
- VERSION = '5.0.0.rc7' unless defined? ::Appium::Core::VERSION
18
- DATE = '2021-10-26' unless defined? ::Appium::Core::DATE
17
+ VERSION = '5.0.2' unless defined? ::Appium::Core::VERSION
18
+ DATE = '2021-12-01' unless defined? ::Appium::Core::DATE
19
19
  end
20
20
  end
data/release_notes.md CHANGED
@@ -1,3 +1,43 @@
1
+ #### v5.0.2 2021-12-01
2
+
3
+ - [3cc0fb1](https://github.com/appium/ruby_lib_core/commit/3cc0fb129a0ec74367c716941adefae75fe6a6d6) Release 5.0.2
4
+ - [a87c63a](https://github.com/appium/ruby_lib_core/commit/a87c63a5e00ca826eb89cee3b4874c4bbb787980) chore: tweak naming
5
+ - [36e50b2](https://github.com/appium/ruby_lib_core/commit/36e50b28c04a5afda8d25f6b855d35fda5ff6b2b) fix: sends [{}] (#360)
6
+
7
+
8
+ #### v5.0.1 2021-11-23
9
+
10
+ - [f17ba52](https://github.com/appium/ruby_lib_core/commit/f17ba524608a6e715923331bb9bfff73e0709bcb) Release 5.0.1
11
+ - [ee9cbc4](https://github.com/appium/ruby_lib_core/commit/ee9cbc42e0d3289bb4ab9b403d45867472241e97) feat: relax selenium webdriver version (#357)
12
+ - [4c2948b](https://github.com/appium/ruby_lib_core/commit/4c2948b113106e01c8009555434b4d0fe0ae99f3) chore(deps-dev): update rubocop requirement from = 1.22.3 to = 1.23.0 (#354)
13
+ - [abe2316](https://github.com/appium/ruby_lib_core/commit/abe2316b5a01a27bc657daeb41524afca4187c18) ci: add codeql-analysis (#355)
14
+ - [1c87fc9](https://github.com/appium/ruby_lib_core/commit/1c87fc9b2e1ac7bd869ec61a0dc045b12d5ed887) docs: add link to changelog in migration guide
15
+
16
+
17
+ #### v5.0.0 2021-11-05
18
+
19
+ - [e2d1e2d](https://github.com/appium/ruby_lib_core/commit/e2d1e2da59b10f84b3c8ecafba7be6ab27223b73) Release 5.0.0
20
+ - [ac4c312](https://github.com/appium/ruby_lib_core/commit/ac4c312b7e6b314a5e23463d930fb6a957ec3e8f) chore: cleanup dev dependencies
21
+ - [0c84f30](https://github.com/appium/ruby_lib_core/commit/0c84f30a1623445576df70de54d8c46e40948d18) bump rc to 8
22
+ - [8c42356](https://github.com/appium/ruby_lib_core/commit/8c423566315b47cf99150a38be09b059aab4d358) chore: add deprecated in app management (#353)
23
+ - [5ad23bc](https://github.com/appium/ruby_lib_core/commit/5ad23bc0826c7afa36a95066b65aeb00f1742ad8) chore: use ::Selenium::WebDriver::Interactions.pointer as example (#352)
24
+ - [a77a6eb](https://github.com/appium/ruby_lib_core/commit/a77a6ebd87b1116254c4900cebd900a3d106940e) chore: create links
25
+ - [bc13166](https://github.com/appium/ruby_lib_core/commit/bc13166ac7f2e65d94acdf3cff1841863f4b59fe) chore: tweak the order of changelog
26
+ - [a6fa1b9](https://github.com/appium/ruby_lib_core/commit/a6fa1b9a68584915646ff11fef4cc70a750d5d79) chore: add deprecation mark for windows (#351)
27
+ - [c7286ed](https://github.com/appium/ruby_lib_core/commit/c7286eda8bfbaa49154b12d024187fd384171d4e) chore(deps-dev): update rubocop requirement from = 1.22.2 to = 1.22.3 (#350)
28
+ - [d30dff4](https://github.com/appium/ruby_lib_core/commit/d30dff483dec6d0fec67b01f1a28a8c6612e32e6) bump version to 5.0.0.rc7
29
+ - [7f0fe5a](https://github.com/appium/ruby_lib_core/commit/7f0fe5aedf43c9f81636b8db7efd505e93850f00) chore: add deprecations for TouchAction and Multitouch (#348)
30
+ - [9ed1202](https://github.com/appium/ruby_lib_core/commit/9ed1202a7979500a4744ceb340827b16137eb188) chore: remove selendroid stuff (#349)
31
+ - [fc37c9f](https://github.com/appium/ruby_lib_core/commit/fc37c9f1841fcb7efb5c23cf9200a13d0d35bdcf) chore: pass wait_timeout and wait_interval (#346)
32
+ - [1da3e75](https://github.com/appium/ruby_lib_core/commit/1da3e753907ac431d925a1489a50af3fa406638f) chore: bump to rc6
33
+ - [61ebace](https://github.com/appium/ruby_lib_core/commit/61ebaceaf2d4a6450356a0a51ffe67cab0b33287) feat: add a few new wait syntaxes (#344)
34
+ - [d6f73b1](https://github.com/appium/ruby_lib_core/commit/d6f73b131fd6c8da96b45edfaa6c6db9a85b383a) chore(deps-dev): update rubocop requirement from = 1.22.1 to = 1.22.2 (#345)
35
+ - [0d69af1](https://github.com/appium/ruby_lib_core/commit/0d69af1b93deefd343c910833557a39ceaef59da) chore: cleanup a bit (#342)
36
+ - [115465e](https://github.com/appium/ruby_lib_core/commit/115465e2b73e65dd3777e698d98f1cdaa161f3eb) chore: append example in wait
37
+ - [ad519ee](https://github.com/appium/ruby_lib_core/commit/ad519ee70ba7b7122107b8b2d986ff1523b654d0) chore: update rubocop (#341)
38
+ - [e13b0ef](https://github.com/appium/ruby_lib_core/commit/e13b0efae6b964cc6b0e7b0ed10816eaf6e007d4) feat: selenium v4 base (#315)
39
+
40
+
1
41
  #### v4.7.1 2021-09-26
2
42
 
3
43
  - [cdd8906](https://github.com/appium/ruby_lib_core/commit/cdd890662585aa5051912d20d90ec3c3866ad8b1) Release 4.7.1
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: 5.0.0.rc7
4
+ version: 5.0.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: 2021-10-26 00:00:00.000000000 Z
11
+ date: 2021-12-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: selenium-webdriver
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 4.0.0
19
+ version: '4.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 4.0.0
26
+ version: '4.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: faye-websocket
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: 0.11.0
41
- - !ruby/object:Gem::Dependency
42
- name: bundler
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '1.14'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '1.14'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: rake
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -128,14 +114,14 @@ dependencies:
128
114
  requirements:
129
115
  - - '='
130
116
  - !ruby/object:Gem::Version
131
- version: 1.22.2
117
+ version: 1.23.0
132
118
  type: :development
133
119
  prerelease: false
134
120
  version_requirements: !ruby/object:Gem::Requirement
135
121
  requirements:
136
122
  - - '='
137
123
  - !ruby/object:Gem::Version
138
- version: 1.22.2
124
+ version: 1.23.0
139
125
  - !ruby/object:Gem::Dependency
140
126
  name: appium_thor
141
127
  requirement: !ruby/object:Gem::Requirement
@@ -150,34 +136,6 @@ dependencies:
150
136
  - - "~>"
151
137
  - !ruby/object:Gem::Version
152
138
  version: '1.0'
153
- - !ruby/object:Gem::Dependency
154
- name: pry
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: '0'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- version: '0'
167
- - !ruby/object:Gem::Dependency
168
- name: pry-byebug
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - ">="
172
- - !ruby/object:Gem::Version
173
- version: '0'
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - ">="
179
- - !ruby/object:Gem::Version
180
- version: '0'
181
139
  - !ruby/object:Gem::Dependency
182
140
  name: parallel_tests
183
141
  requirement: !ruby/object:Gem::Requirement
@@ -217,6 +175,7 @@ files:
217
175
  - ".github/contributing.md"
218
176
  - ".github/dependabot.yml"
219
177
  - ".github/issue_template.md"
178
+ - ".github/workflows/codeql-analysis.yml"
220
179
  - ".github/workflows/unittest.yml"
221
180
  - ".gitignore"
222
181
  - ".rubocop.yml"
@@ -336,9 +295,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
336
295
  version: '2.6'
337
296
  required_rubygems_version: !ruby/object:Gem::Requirement
338
297
  requirements:
339
- - - ">"
298
+ - - ">="
340
299
  - !ruby/object:Gem::Version
341
- version: 1.3.1
300
+ version: '0'
342
301
  requirements: []
343
302
  rubygems_version: 3.2.15
344
303
  signing_key: