appium_lib_core 4.1.0 → 5.0.3

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 (57) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +8 -0
  3. data/.github/workflows/codeql-analysis.yml +70 -0
  4. data/.github/workflows/unittest.yml +8 -9
  5. data/.rubocop.yml +95 -1
  6. data/CHANGELOG.md +102 -275
  7. data/README.md +11 -6
  8. data/Rakefile +4 -0
  9. data/appium_lib_core.gemspec +4 -7
  10. data/bin/console +0 -4
  11. data/ci-jobs/functional/run_appium.yml +3 -3
  12. data/ci-jobs/functional_test.yml +3 -3
  13. data/docs/mobile_command.md +2 -2
  14. data/lib/appium_lib_core/android/device/auth_finger_print.rb +2 -1
  15. data/lib/appium_lib_core/android/device.rb +4 -4
  16. data/lib/appium_lib_core/common/base/bridge.rb +297 -90
  17. data/lib/appium_lib_core/common/base/capabilities.rb +10 -3
  18. data/lib/appium_lib_core/common/base/device_ime.rb +49 -0
  19. data/lib/appium_lib_core/common/base/driver.rb +198 -184
  20. data/lib/appium_lib_core/common/base/driver_settings.rb +51 -0
  21. data/lib/appium_lib_core/common/base/has_location.rb +80 -0
  22. data/lib/appium_lib_core/common/base/has_network_connection.rb +56 -0
  23. data/lib/appium_lib_core/common/base/http_default.rb +1 -3
  24. data/lib/appium_lib_core/common/base/remote_status.rb +31 -0
  25. data/lib/appium_lib_core/common/base/rotable.rb +54 -0
  26. data/lib/appium_lib_core/common/base/screenshot.rb +6 -6
  27. data/lib/appium_lib_core/common/base/search_context.rb +19 -4
  28. data/lib/appium_lib_core/common/base.rb +1 -3
  29. data/lib/appium_lib_core/common/command.rb +257 -4
  30. data/lib/appium_lib_core/common/device/app_management.rb +2 -14
  31. data/lib/appium_lib_core/common/device/image_comparison.rb +12 -4
  32. data/lib/appium_lib_core/common/device/keyevent.rb +4 -4
  33. data/lib/appium_lib_core/common/{command/mjsonwp.rb → device/orientation.rb} +14 -11
  34. data/lib/appium_lib_core/common/device/touch_actions.rb +2 -0
  35. data/lib/appium_lib_core/common/device/value.rb +6 -6
  36. data/lib/appium_lib_core/common/error.rb +4 -1
  37. data/lib/appium_lib_core/common/log.rb +4 -1
  38. data/lib/appium_lib_core/common/touch_action/multi_touch.rb +19 -0
  39. data/lib/appium_lib_core/common/touch_action/touch_actions.rb +16 -2
  40. data/lib/appium_lib_core/common/wait.rb +38 -6
  41. data/lib/appium_lib_core/device.rb +1 -5
  42. data/lib/appium_lib_core/driver.rb +30 -46
  43. data/lib/appium_lib_core/{patch.rb → element.rb} +66 -9
  44. data/lib/appium_lib_core/ios/uiautomation/patch.rb +1 -1
  45. data/lib/appium_lib_core/{common/base/command.rb → mac2/bridge.rb} +9 -8
  46. data/lib/appium_lib_core/mac2/device/screen.rb +48 -0
  47. data/lib/appium_lib_core/mac2/device.rb +92 -0
  48. data/lib/appium_lib_core/mac2.rb +17 -0
  49. data/lib/appium_lib_core/version.rb +2 -2
  50. data/lib/appium_lib_core.rb +2 -5
  51. data/release_notes.md +140 -0
  52. data/script/commands.rb +3 -37
  53. metadata +27 -68
  54. data/lib/appium_lib_core/common/base/bridge/mjsonwp.rb +0 -81
  55. data/lib/appium_lib_core/common/base/bridge/w3c.rb +0 -252
  56. data/lib/appium_lib_core/common/command/common.rb +0 -110
  57. data/lib/appium_lib_core/common/command/w3c.rb +0 -56
data/release_notes.md CHANGED
@@ -1,3 +1,143 @@
1
+ #### v5.0.3 2021-12-13
2
+
3
+ - [7cee1b3](https://github.com/appium/ruby_lib_core/commit/7cee1b31647c453a546c450c35c37649462eed05) Release 5.0.3
4
+ - [21bd5a5](https://github.com/appium/ruby_lib_core/commit/21bd5a5186dc25a9523ad8e7ec6275edbc79988e) fix: make bridge attribute non-private for flutter finder (#362)
5
+ - [78e432e](https://github.com/appium/ruby_lib_core/commit/78e432e92571adfd80fe3ad4405010825e766fc5) chore: add changelog
6
+ - [0b3c45c](https://github.com/appium/ruby_lib_core/commit/0b3c45cd6a059fd493bfcbd55ebe437291cbcdab) feat: do not restrict options in install_app (#361)
7
+
8
+
9
+ #### v5.0.2 2021-12-01
10
+
11
+ - [3cc0fb1](https://github.com/appium/ruby_lib_core/commit/3cc0fb129a0ec74367c716941adefae75fe6a6d6) Release 5.0.2
12
+ - [a87c63a](https://github.com/appium/ruby_lib_core/commit/a87c63a5e00ca826eb89cee3b4874c4bbb787980) chore: tweak naming
13
+ - [36e50b2](https://github.com/appium/ruby_lib_core/commit/36e50b28c04a5afda8d25f6b855d35fda5ff6b2b) fix: sends [{}] (#360)
14
+
15
+
16
+ #### v5.0.1 2021-11-23
17
+
18
+ - [f17ba52](https://github.com/appium/ruby_lib_core/commit/f17ba524608a6e715923331bb9bfff73e0709bcb) Release 5.0.1
19
+ - [ee9cbc4](https://github.com/appium/ruby_lib_core/commit/ee9cbc42e0d3289bb4ab9b403d45867472241e97) feat: relax selenium webdriver version (#357)
20
+ - [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)
21
+ - [abe2316](https://github.com/appium/ruby_lib_core/commit/abe2316b5a01a27bc657daeb41524afca4187c18) ci: add codeql-analysis (#355)
22
+ - [1c87fc9](https://github.com/appium/ruby_lib_core/commit/1c87fc9b2e1ac7bd869ec61a0dc045b12d5ed887) docs: add link to changelog in migration guide
23
+
24
+
25
+ #### v5.0.0 2021-11-05
26
+
27
+ - [e2d1e2d](https://github.com/appium/ruby_lib_core/commit/e2d1e2da59b10f84b3c8ecafba7be6ab27223b73) Release 5.0.0
28
+ - [ac4c312](https://github.com/appium/ruby_lib_core/commit/ac4c312b7e6b314a5e23463d930fb6a957ec3e8f) chore: cleanup dev dependencies
29
+ - [0c84f30](https://github.com/appium/ruby_lib_core/commit/0c84f30a1623445576df70de54d8c46e40948d18) bump rc to 8
30
+ - [8c42356](https://github.com/appium/ruby_lib_core/commit/8c423566315b47cf99150a38be09b059aab4d358) chore: add deprecated in app management (#353)
31
+ - [5ad23bc](https://github.com/appium/ruby_lib_core/commit/5ad23bc0826c7afa36a95066b65aeb00f1742ad8) chore: use ::Selenium::WebDriver::Interactions.pointer as example (#352)
32
+ - [a77a6eb](https://github.com/appium/ruby_lib_core/commit/a77a6ebd87b1116254c4900cebd900a3d106940e) chore: create links
33
+ - [bc13166](https://github.com/appium/ruby_lib_core/commit/bc13166ac7f2e65d94acdf3cff1841863f4b59fe) chore: tweak the order of changelog
34
+ - [a6fa1b9](https://github.com/appium/ruby_lib_core/commit/a6fa1b9a68584915646ff11fef4cc70a750d5d79) chore: add deprecation mark for windows (#351)
35
+ - [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)
36
+ - [d30dff4](https://github.com/appium/ruby_lib_core/commit/d30dff483dec6d0fec67b01f1a28a8c6612e32e6) bump version to 5.0.0.rc7
37
+ - [7f0fe5a](https://github.com/appium/ruby_lib_core/commit/7f0fe5aedf43c9f81636b8db7efd505e93850f00) chore: add deprecations for TouchAction and Multitouch (#348)
38
+ - [9ed1202](https://github.com/appium/ruby_lib_core/commit/9ed1202a7979500a4744ceb340827b16137eb188) chore: remove selendroid stuff (#349)
39
+ - [fc37c9f](https://github.com/appium/ruby_lib_core/commit/fc37c9f1841fcb7efb5c23cf9200a13d0d35bdcf) chore: pass wait_timeout and wait_interval (#346)
40
+ - [1da3e75](https://github.com/appium/ruby_lib_core/commit/1da3e753907ac431d925a1489a50af3fa406638f) chore: bump to rc6
41
+ - [61ebace](https://github.com/appium/ruby_lib_core/commit/61ebaceaf2d4a6450356a0a51ffe67cab0b33287) feat: add a few new wait syntaxes (#344)
42
+ - [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)
43
+ - [0d69af1](https://github.com/appium/ruby_lib_core/commit/0d69af1b93deefd343c910833557a39ceaef59da) chore: cleanup a bit (#342)
44
+ - [115465e](https://github.com/appium/ruby_lib_core/commit/115465e2b73e65dd3777e698d98f1cdaa161f3eb) chore: append example in wait
45
+ - [ad519ee](https://github.com/appium/ruby_lib_core/commit/ad519ee70ba7b7122107b8b2d986ff1523b654d0) chore: update rubocop (#341)
46
+ - [e13b0ef](https://github.com/appium/ruby_lib_core/commit/e13b0efae6b964cc6b0e7b0ed10816eaf6e007d4) feat: selenium v4 base (#315)
47
+
48
+
49
+ #### v4.7.1 2021-09-26
50
+
51
+ - [cdd8906](https://github.com/appium/ruby_lib_core/commit/cdd890662585aa5051912d20d90ec3c3866ad8b1) Release 4.7.1
52
+ - [059b092](https://github.com/appium/ruby_lib_core/commit/059b0920becd60d691b0b4fac05cc0d96bcc59c7) ci: tweak brew install
53
+ - [fb32697](https://github.com/appium/ruby_lib_core/commit/fb32697d5ee7cf4ea4367aa9f9bf4458723d6fce) feat: allow to override an existing method by add_command (#330)
54
+ - [cbf7f1f](https://github.com/appium/ruby_lib_core/commit/cbf7f1fc2ce6bb8833e2a7324446d79cbc848834) chore(deps-dev): update webmock requirement from ~> 3.13.0 to ~> 3.14.0 (#329)
55
+ - [beefb17](https://github.com/appium/ruby_lib_core/commit/beefb179ac25e9337bf2badaf4eb0c4cfc5b1e45) chore(deps-dev): update rubocop requirement from = 1.12.0 to = 1.12.1 (#322)
56
+ - [3438b48](https://github.com/appium/ruby_lib_core/commit/3438b481523ec978d06bc243cd42eee8dc00356f) docs: tweak docstring
57
+
58
+
59
+ #### v4.7.0 2021-07-17
60
+
61
+ - [0059974](https://github.com/appium/ruby_lib_core/commit/0059974b0b1d79a822db84d8b0169e8393e00ef9) Release 4.7.0
62
+ - [0f93a52](https://github.com/appium/ruby_lib_core/commit/0f93a52bbdc44bf916c9b974fe9fd09d48e5ff39) test: add more example and test (#328)
63
+ - [9e37b3b](https://github.com/appium/ruby_lib_core/commit/9e37b3bc15f72f7c0117a49945a3fe482598f374) feat: add satellites for Android emulators (#327)
64
+ - [3063a73](https://github.com/appium/ruby_lib_core/commit/3063a73fa291dc378daa53b7df2e4b0b8a6f03d2) ci: calls quit_driver to ensure close the previous session
65
+ - [43fb9e7](https://github.com/appium/ruby_lib_core/commit/43fb9e77f5492a92f4f8c5a5bda71be9c3a9e2c8) chore: tweak naming in an internal variable
66
+
67
+
68
+ #### v4.6.0 2021-06-03
69
+
70
+ - [0dacfab](https://github.com/appium/ruby_lib_core/commit/0dacfab1256e1447e1f7a5974dfcf48ee0a72b9d) Release 4.6.0
71
+ - [b9f015d](https://github.com/appium/ruby_lib_core/commit/b9f015d7dea14964a0733f2385ebcff68da1e18e) feat: allow to add commands dynamically (#325)
72
+ - [3de96ee](https://github.com/appium/ruby_lib_core/commit/3de96eea133ccbcbc5c4d77adc7d67c065a5a38c) chore(deps-dev): update webmock requirement from ~> 3.12.1 to ~> 3.13.0 (#324)
73
+ - [f1a9e79](https://github.com/appium/ruby_lib_core/commit/f1a9e79f3bd4d134e125fc2ed9adcf3d085afc9a) docs: address func test code as working example
74
+ - [eb85b1b](https://github.com/appium/ruby_lib_core/commit/eb85b1b26623436cb0aae95a00fef7bc2d795520) remove ; in a test
75
+ - [1632637](https://github.com/appium/ruby_lib_core/commit/1632637fd872c0b80dfb97b8514ada6a7164eebf) chore(deps-dev): update rubocop requirement from = 1.11.0 to = 1.12.0 (#321)
76
+ - [b9e47aa](https://github.com/appium/ruby_lib_core/commit/b9e47aa9b02f060ffa91e8410ab97dc87d3640a4) docs: add docstring
77
+ - [954a2fe](https://github.com/appium/ruby_lib_core/commit/954a2feebb768a55b496a2614d9e4dd8b702fc1e) chore(deps-dev): update rubocop requirement from = 1.8.1 to = 1.11.0 (#316)
78
+ - [a5b9651](https://github.com/appium/ruby_lib_core/commit/a5b9651aa349c10bd9759fedac6f09e27012a5e5) chore(deps-dev): update webmock requirement from ~> 3.11.0 to ~> 3.12.1 (#319)
79
+ - [485c096](https://github.com/appium/ruby_lib_core/commit/485c096273178aa5e21f28d93545fd127cbb8735) test: add assertion
80
+
81
+
82
+ #### v4.5.0 2021-03-14
83
+
84
+ - [656230e](https://github.com/appium/ruby_lib_core/commit/656230e688ed86414c06efaa73bce7359933cc91) Release 4.5.0
85
+ - [a0a3cfc](https://github.com/appium/ruby_lib_core/commit/a0a3cfc71783bed3d1b0e7afbf6bc0a27bf60a48) feat: add speed option (#318)
86
+ - [16b4f09](https://github.com/appium/ruby_lib_core/commit/16b4f0991deb639314857c3cbece1e4d00393646) feat: add multiple and match_neighbour_threshold (#313)
87
+ - [d195a5b](https://github.com/appium/ruby_lib_core/commit/d195a5ba48c2e1a7229e0145eac616fd886c1ee0) ci: use node 12
88
+
89
+
90
+ #### v4.4.1 2021-02-15
91
+
92
+ - [dc34419](https://github.com/appium/ruby_lib_core/commit/dc34419dfcc4dd8d499a6407d45ab3efe70c2445) Release 4.4.1
93
+ - [3085048](https://github.com/appium/ruby_lib_core/commit/3085048b4816e3415017ebb188e653c8e229a05e) chore: return {} in nil case as well
94
+
95
+
96
+ #### v4.4.0 2021-02-13
97
+
98
+ - [06c68fb](https://github.com/appium/ruby_lib_core/commit/06c68fbe3ffdbb7b068d2f71ad6841c66dbabf8f) Release 4.4.0
99
+ - [3c54ae2](https://github.com/appium/ruby_lib_core/commit/3c54ae25d9a334f3690c94ce8a59a5c6a4bacd20) feat: always return {} in appium_server_version for errors (#311)
100
+
101
+
102
+ #### v4.3.1 2021-02-07
103
+
104
+ - [1f4d52c](https://github.com/appium/ruby_lib_core/commit/1f4d52cc915783cf89cf4b8ca5a21bd1af5403e0) Release 4.3.1
105
+ - [fb41014](https://github.com/appium/ruby_lib_core/commit/fb410146567ed03902b602813881fd3abc3a3d28) chore: change log level
106
+ - [1e54662](https://github.com/appium/ruby_lib_core/commit/1e546628c871e4ed9c8aa038a455d03e4e2e6c4e) chore : Create Dependabot config file (#309)
107
+
108
+
109
+ #### v4.3.0 2021-02-05
110
+
111
+ - [6e85426](https://github.com/appium/ruby_lib_core/commit/6e85426c1ff8f3e4b90d3da5305d493500539467) Release 4.3.0
112
+ - [405b3d8](https://github.com/appium/ruby_lib_core/commit/405b3d8e627323376dbf74a4423d0ebce5ca0cad) feat: Add mac2 module and screen recording option (#308)
113
+ - [876d254](https://github.com/appium/ruby_lib_core/commit/876d25494c76c31ad5c26900d6e30e30ecd8d20c) chore: teak types in yardoc (#307)
114
+ - [7548ea9](https://github.com/appium/ruby_lib_core/commit/7548ea9cb7e031a3689a63e75d32da82d317488a) test: add wait
115
+ - [9d6fef4](https://github.com/appium/ruby_lib_core/commit/9d6fef469fad8bccf61ee6565f2e30095f4e2a6a) feat: makes direct_connect true by default (#303)
116
+ - [761067e](https://github.com/appium/ruby_lib_core/commit/761067e5c42cfb3e4c1e5c5a377dbeb3c903eb7b) test: add location test (#302)
117
+ - [bd33397](https://github.com/appium/ruby_lib_core/commit/bd3339791552d2eb5181ca4475c9ebc90644a456) chore(deps-dev): update rubocop requirement from = 1.8.0 to = 1.8.1 (#301)
118
+
119
+
120
+ #### v4.2.1 2021-01-10
121
+
122
+ - [23e944e](https://github.com/appium/ruby_lib_core/commit/23e944ed72c6ea861532f5acc1381af4441705e6) Release 4.2.1
123
+ - [1a416b1](https://github.com/appium/ruby_lib_core/commit/1a416b136beb2b9115d3eb6637b22817f0e55601) chore: move rotable for w3c (#300)
124
+ - [95821c6](https://github.com/appium/ruby_lib_core/commit/95821c6f1a4ebc785e2dc3e6e16c1705521237e8) ci: bump android app (#299)
125
+ - [4e1770e](https://github.com/appium/ruby_lib_core/commit/4e1770e3b9d6995b1d5430b9033097609edca1c8) chore(deps-dev): update rubocop requirement from = 1.7.0 to = 1.8.0 (#298)
126
+ - [b230512](https://github.com/appium/ruby_lib_core/commit/b230512c52875ea70545d3d2262c306640f87f7d) chore: fix rubocop
127
+
128
+
129
+ #### v4.2.0 2021-01-02
130
+
131
+ - [e55b2b6](https://github.com/appium/ruby_lib_core/commit/e55b2b6f7fe293091be0d3835075e66c74f3b9dd) Release 4.2.0
132
+ - [b0cd235](https://github.com/appium/ruby_lib_core/commit/b0cd235a7fb6e5a8957871650bf86962cf0e0368) feat: append screenshot in element module as well (#297)
133
+
134
+
135
+ #### v4.1.1 2020-12-25
136
+
137
+ - [3a4cf56](https://github.com/appium/ruby_lib_core/commit/3a4cf56c73a64fb10ca0b7fecc5800719838095c) Release 4.1.1
138
+ - [6b2d7dd](https://github.com/appium/ruby_lib_core/commit/6b2d7ddf027b5a9f49cbe9a7f5622eb345e2c076) fix: keyword argument in Ruby 3
139
+
140
+
1
141
  #### v4.1.0 2020-12-25
2
142
 
3
143
  - [89110a9](https://github.com/appium/ruby_lib_core/commit/89110a995b869471a134f8c45ebe8dfbaabfba63) Release 4.1.0
data/script/commands.rb CHANGED
@@ -18,26 +18,18 @@ require './lib/appium_lib_core'
18
18
  module Script
19
19
  class CommandsChecker
20
20
  attr_reader :spec_commands,
21
- :implemented_mjsonwp_commands, :implemented_w3c_commands, :implemented_core_commands,
22
- :webdriver_oss_commands, :webdriver_w3c_commands
21
+ :implemented_w3c_commands, :implemented_core_commands,
22
+ :webdriver_w3c_commands
23
23
 
24
24
  # Set commands implemented in this core library.
25
25
  #
26
- # - implemented_mjsonwp_commands: All commands include ::Selenium::WebDriver::Remote::OSS::Bridge::COMMANDS
27
- # - implemented_w3c_commands: All commands include ::Selenium::WebDriver::Remote::W3C::Bridge::COMMANDS
26
+ # - implemented_w3c_commands: All commands include ::Selenium::WebDriver::Remote::Bridge::COMMANDS
28
27
  # - implemented_core_commands: All commands except for selenium-webdriver's commands
29
- # - webdriver_oss_commands: ::Selenium::WebDriver::Remote::OSS::Bridge::COMMANDS
30
- # - webdriver_w3c_commands: ::Selenium::WebDriver::Remote::W3C::Bridge::COMMANDS
31
28
  #
32
29
  def initialize
33
30
  @spec_commands = nil
34
31
 
35
- @implemented_mjsonwp_commands = convert_driver_commands Appium::Core::Commands::MJSONWP::COMMANDS
36
- @implemented_w3c_commands = convert_driver_commands Appium::Core::Commands::W3C::COMMANDS
37
32
  @implemented_core_commands = convert_driver_commands Appium::Core::Commands::COMMANDS
38
-
39
- @webdriver_oss_commands = convert_driver_commands Appium::Core::Base::Commands::OSS
40
- @webdriver_w3c_commands = convert_driver_commands Appium::Core::Base::Commands::W3C
41
33
  end
42
34
 
43
35
  # Get the bellow url's file.
@@ -80,18 +72,6 @@ module Script
80
72
  end
81
73
  end
82
74
 
83
- # All commands which haven't been implemented in ruby core library yet.
84
- # @return [Hash]
85
- #
86
- def all_diff_commands_mjsonwp
87
- result = compare_commands(@spec_commands, @implemented_mjsonwp_commands)
88
-
89
- white_list.each { |v| result.delete v }
90
- w3c_spec.each { |v| result.delete v }
91
-
92
- result
93
- end
94
-
95
75
  # All commands which haven't been implemented in ruby core library yet.
96
76
  # @return [Hash]
97
77
  #
@@ -111,20 +91,6 @@ module Script
111
91
  result
112
92
  end
113
93
 
114
- def diff_webdriver_oss
115
- result = compare_commands(@spec_commands, @webdriver_oss_commands)
116
- white_list.each { |v| result.delete v }
117
- w3c_spec.each { |v| result.delete v }
118
- result
119
- end
120
-
121
- def diff_webdriver_w3c
122
- result = compare_commands(@spec_commands, @webdriver_w3c_commands)
123
- white_list.each { |v| result.delete v }
124
- mjsonwp_spec.each { |v| result.delete v }
125
- result
126
- end
127
-
128
94
  def compare_commands(command1, with_command2)
129
95
  return {} if command1.nil?
130
96
  return command1 if with_command2.nil?
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: 4.1.0
4
+ version: 5.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kazuaki MATSUO
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-12-26 00:00:00.000000000 Z
11
+ date: 2021-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: selenium-webdriver
@@ -16,20 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '3.14'
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: 3.14.1
19
+ version: '4.0'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - "~>"
28
25
  - !ruby/object:Gem::Version
29
- version: '3.14'
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: 3.14.1
26
+ version: '4.0'
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: faye-websocket
35
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,20 +38,6 @@ dependencies:
44
38
  - - "~>"
45
39
  - !ruby/object:Gem::Version
46
40
  version: 0.11.0
47
- - !ruby/object:Gem::Dependency
48
- name: bundler
49
- requirement: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - ">="
52
- - !ruby/object:Gem::Version
53
- version: '1.14'
54
- type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- version: '1.14'
61
41
  - !ruby/object:Gem::Dependency
62
42
  name: rake
63
43
  requirement: !ruby/object:Gem::Requirement
@@ -120,28 +100,28 @@ dependencies:
120
100
  requirements:
121
101
  - - "~>"
122
102
  - !ruby/object:Gem::Version
123
- version: 3.11.0
103
+ version: 3.14.0
124
104
  type: :development
125
105
  prerelease: false
126
106
  version_requirements: !ruby/object:Gem::Requirement
127
107
  requirements:
128
108
  - - "~>"
129
109
  - !ruby/object:Gem::Version
130
- version: 3.11.0
110
+ version: 3.14.0
131
111
  - !ruby/object:Gem::Dependency
132
112
  name: rubocop
133
113
  requirement: !ruby/object:Gem::Requirement
134
114
  requirements:
135
115
  - - '='
136
116
  - !ruby/object:Gem::Version
137
- version: 1.7.0
117
+ version: 1.23.0
138
118
  type: :development
139
119
  prerelease: false
140
120
  version_requirements: !ruby/object:Gem::Requirement
141
121
  requirements:
142
122
  - - '='
143
123
  - !ruby/object:Gem::Version
144
- version: 1.7.0
124
+ version: 1.23.0
145
125
  - !ruby/object:Gem::Dependency
146
126
  name: appium_thor
147
127
  requirement: !ruby/object:Gem::Requirement
@@ -156,34 +136,6 @@ dependencies:
156
136
  - - "~>"
157
137
  - !ruby/object:Gem::Version
158
138
  version: '1.0'
159
- - !ruby/object:Gem::Dependency
160
- name: pry
161
- requirement: !ruby/object:Gem::Requirement
162
- requirements:
163
- - - ">="
164
- - !ruby/object:Gem::Version
165
- version: '0'
166
- type: :development
167
- prerelease: false
168
- version_requirements: !ruby/object:Gem::Requirement
169
- requirements:
170
- - - ">="
171
- - !ruby/object:Gem::Version
172
- version: '0'
173
- - !ruby/object:Gem::Dependency
174
- name: pry-byebug
175
- requirement: !ruby/object:Gem::Requirement
176
- requirements:
177
- - - ">="
178
- - !ruby/object:Gem::Version
179
- version: '0'
180
- type: :development
181
- prerelease: false
182
- version_requirements: !ruby/object:Gem::Requirement
183
- requirements:
184
- - - ">="
185
- - !ruby/object:Gem::Version
186
- version: '0'
187
139
  - !ruby/object:Gem::Dependency
188
140
  name: parallel_tests
189
141
  requirement: !ruby/object:Gem::Requirement
@@ -221,7 +173,9 @@ extra_rdoc_files: []
221
173
  files:
222
174
  - ".github/ISSUE_TEMPLATE/issue-report.md"
223
175
  - ".github/contributing.md"
176
+ - ".github/dependabot.yml"
224
177
  - ".github/issue_template.md"
178
+ - ".github/workflows/codeql-analysis.yml"
225
179
  - ".github/workflows/unittest.yml"
226
180
  - ".gitignore"
227
181
  - ".rubocop.yml"
@@ -261,19 +215,19 @@ files:
261
215
  - lib/appium_lib_core/common.rb
262
216
  - lib/appium_lib_core/common/base.rb
263
217
  - lib/appium_lib_core/common/base/bridge.rb
264
- - lib/appium_lib_core/common/base/bridge/mjsonwp.rb
265
- - lib/appium_lib_core/common/base/bridge/w3c.rb
266
218
  - lib/appium_lib_core/common/base/capabilities.rb
267
- - lib/appium_lib_core/common/base/command.rb
219
+ - lib/appium_lib_core/common/base/device_ime.rb
268
220
  - lib/appium_lib_core/common/base/driver.rb
221
+ - lib/appium_lib_core/common/base/driver_settings.rb
222
+ - lib/appium_lib_core/common/base/has_location.rb
223
+ - lib/appium_lib_core/common/base/has_network_connection.rb
269
224
  - lib/appium_lib_core/common/base/http_default.rb
270
225
  - lib/appium_lib_core/common/base/platform.rb
226
+ - lib/appium_lib_core/common/base/remote_status.rb
227
+ - lib/appium_lib_core/common/base/rotable.rb
271
228
  - lib/appium_lib_core/common/base/screenshot.rb
272
229
  - lib/appium_lib_core/common/base/search_context.rb
273
230
  - lib/appium_lib_core/common/command.rb
274
- - lib/appium_lib_core/common/command/common.rb
275
- - lib/appium_lib_core/common/command/mjsonwp.rb
276
- - lib/appium_lib_core/common/command/w3c.rb
277
231
  - lib/appium_lib_core/common/device/app_management.rb
278
232
  - lib/appium_lib_core/common/device/app_state.rb
279
233
  - lib/appium_lib_core/common/device/battery_status.rb
@@ -287,6 +241,7 @@ files:
287
241
  - lib/appium_lib_core/common/device/ime_actions.rb
288
242
  - lib/appium_lib_core/common/device/keyboard.rb
289
243
  - lib/appium_lib_core/common/device/keyevent.rb
244
+ - lib/appium_lib_core/common/device/orientation.rb
290
245
  - lib/appium_lib_core/common/device/screen_record.rb
291
246
  - lib/appium_lib_core/common/device/setting.rb
292
247
  - lib/appium_lib_core/common/device/touch_actions.rb
@@ -301,6 +256,7 @@ files:
301
256
  - lib/appium_lib_core/common/ws/websocket.rb
302
257
  - lib/appium_lib_core/device.rb
303
258
  - lib/appium_lib_core/driver.rb
259
+ - lib/appium_lib_core/element.rb
304
260
  - lib/appium_lib_core/ios.rb
305
261
  - lib/appium_lib_core/ios/device.rb
306
262
  - lib/appium_lib_core/ios/device/clipboard.rb
@@ -313,7 +269,10 @@ files:
313
269
  - lib/appium_lib_core/ios/xcuitest/device/performance.rb
314
270
  - lib/appium_lib_core/ios/xcuitest/device/screen.rb
315
271
  - lib/appium_lib_core/ios_xcuitest.rb
316
- - lib/appium_lib_core/patch.rb
272
+ - lib/appium_lib_core/mac2.rb
273
+ - lib/appium_lib_core/mac2/bridge.rb
274
+ - lib/appium_lib_core/mac2/device.rb
275
+ - lib/appium_lib_core/mac2/device/screen.rb
317
276
  - lib/appium_lib_core/version.rb
318
277
  - lib/appium_lib_core/windows.rb
319
278
  - lib/appium_lib_core/windows/bridge.rb
@@ -325,7 +284,7 @@ homepage: https://github.com/appium/ruby_lib_core/
325
284
  licenses:
326
285
  - Apache-2.0
327
286
  metadata: {}
328
- post_install_message:
287
+ post_install_message:
329
288
  rdoc_options: []
330
289
  require_paths:
331
290
  - lib
@@ -333,15 +292,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
333
292
  requirements:
334
293
  - - ">="
335
294
  - !ruby/object:Gem::Version
336
- version: '2.4'
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
300
  version: '0'
342
301
  requirements: []
343
- rubygems_version: 3.1.2
344
- signing_key:
302
+ rubygems_version: 3.2.15
303
+ signing_key:
345
304
  specification_version: 4
346
305
  summary: Minimal Ruby library for Appium.
347
306
  test_files: []
@@ -1,81 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- module Appium
16
- module Core
17
- class Base
18
- class Bridge
19
- class MJSONWP < ::Selenium::WebDriver::Remote::OSS::Bridge
20
- include Device::DeviceLock
21
- include Device::Keyboard
22
- include Device::ImeActions
23
- include Device::Setting
24
- include Device::Context
25
- include Device::Value
26
- include Device::FileManagement
27
- include Device::KeyEvent
28
- include Device::ImageComparison
29
- include Device::AppManagement
30
- include Device::AppState
31
- include Device::ScreenRecord::Command
32
- include Device::Device
33
- include Device::TouchActions
34
- include Device::ExecuteDriver
35
-
36
- def commands(command)
37
- ::Appium::Core::Commands::MJSONWP::COMMANDS[command]
38
- end
39
-
40
- # Returns all available sessions on the Appium server instance
41
- def sessions
42
- execute :get_all_sessions
43
- end
44
-
45
- # For Appium
46
- def log_event(vendor, event)
47
- execute :post_log_event, {}, { vendor: vendor, event: event }
48
- end
49
-
50
- # For Appium
51
- def log_events(type = nil)
52
- args = {}
53
- args['type'] = type unless type.nil?
54
-
55
- execute :get_log_events, {}, args
56
- end
57
-
58
- def take_element_screenshot(element)
59
- execute :take_element_screenshot, id: element.ref
60
- end
61
-
62
- def take_viewport_screenshot
63
- # TODO: this hasn't been supported by Espresso driver
64
- execute_script('mobile: viewportScreenshot')
65
- end
66
-
67
- def send_actions(_data)
68
- raise Error::UnsupportedOperationError, '#send_actions has not been supported in MJSONWP'
69
- end
70
-
71
- # For Appium
72
- # @param [Hash] id The id which can get as a response from server
73
- # @return [::Selenium::WebDriver::Element]
74
- def convert_to_element(id)
75
- ::Selenium::WebDriver::Element.new self, element_id_from(id)
76
- end
77
- end # class MJSONWP
78
- end # class Bridge
79
- end # class Base
80
- end # module Core
81
- end # module Appium