appium_lib 16.1.0 → 16.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dc789518d6c55b8b1605ec1cfb28472d3728ef834a79610a24b59d845279094e
4
- data.tar.gz: c3ae639da97dd64ffcee3e997ee50cdbefbc17b0467060e8929638710d2364a7
3
+ metadata.gz: 1ce9ba5f66a01f14337c06877b4cca232bd6607f0022c89e0fde1dbcd5c2d56a
4
+ data.tar.gz: df68401640b09c89449a78e9d3e4fa35116355aa85f3975b0c2a32e6724bbdd0
5
5
  SHA512:
6
- metadata.gz: 96e32e63ed7f2487b9fd5a793c59f04ea8824f9fda9b3dbab66615be27898c9bac3f572d65a7e401ec1f19a598b8b3d7566df17049a993b345b866e7267fd79d
7
- data.tar.gz: 17ab6f41063cf9e77fe57d5299e66747b9db0337ac97d8f27808fd0345847b4306d3ee3d33ac2276a3ce3cd7f7d86bef9a6e590bf7f1215bd9702cf37ccbb3a5
6
+ metadata.gz: 0b1a1d43c3463f70046e92e03de743ebb47b1d3bd0c4fc713a73af17e20be036377a2c2affa10b049308c1c898c3311ff310bbbd9b2cfc6c1eb00099058eef9e
7
+ data.tar.gz: 68cdfe45b0bba432f098c8080628f55879eba3161fb7dd94175f4cc142e8762343dfc30afe62239895d24dc351171f210e8c458efb0bb005c645ed50168fd250
@@ -3,6 +3,12 @@ updates:
3
3
  - package-ecosystem: bundler
4
4
  directory: "/"
5
5
  schedule:
6
- interval: daily
6
+ interval: weekly
7
+ time: "11:00"
8
+ open-pull-requests-limit: 10
9
+ - package-ecosystem: github-actions
10
+ directory: "/"
11
+ schedule:
12
+ interval: weekly
7
13
  time: "11:00"
8
14
  open-pull-requests-limit: 10
@@ -14,17 +14,18 @@ concurrency:
14
14
 
15
15
  jobs:
16
16
  ios_test:
17
- runs-on: macos-14
17
+ runs-on: macos-15
18
+ timeout-minutes: 90
18
19
  env:
19
- XCODE_VERSION: 15.3
20
- IOS_VERSION: 17.4
21
- IOS_DEVICE_NAME: iPhone 15 Plus
20
+ XCODE_VERSION: 16.4
21
+ IOS_VERSION: 18.5
22
+ IOS_DEVICE_NAME: iPhone 16 Plus
22
23
 
23
24
  steps:
24
- - uses: actions/checkout@v3
25
+ - uses: actions/checkout@v6
25
26
 
26
27
  - name: Install Node.js
27
- uses: actions/setup-node@v3
28
+ uses: actions/setup-node@v6
28
29
  with:
29
30
  node-version: 'lts/*'
30
31
 
@@ -34,7 +35,7 @@ jobs:
34
35
  xcode-version: ${{ env.XCODE_VERSION }}
35
36
  - run: defaults write com.apple.iphonesimulator PasteboardAutomaticSync -bool false
36
37
 
37
- - uses: futureware-tech/simulator-action@v3
38
+ - uses: futureware-tech/simulator-action@v5
38
39
  with:
39
40
  # https://github.com/actions/runner-images/blob/main/images/macos/macos-14-arm64-Readme.md
40
41
  model: ${{ env.IOS_DEVICE_NAME }}
@@ -53,19 +54,26 @@ jobs:
53
54
  npm install -g mjpeg-consumer
54
55
  - run: |
55
56
  appium driver install xcuitest
56
- appium plugin install images@2.1.8
57
+ appium plugin install images
57
58
  appium plugin install execute-driver
58
59
  nohup appium --use-plugins=images,execute-driver --relaxed-security --log-timestamp --log-no-colors > appium.log &
59
60
 
61
+ - run: |
62
+ npx appium driver run xcuitest download-wda-sim --platform=ios --outdir=${{ github.workspace }}/wda
63
+ name: Downloading prebuilt WDA
64
+
60
65
  - name: Set up Ruby
61
66
  uses: ruby/setup-ruby@v1
62
67
  with:
63
- ruby-version: 3.3
68
+ ruby-version: 4.0
64
69
  - run: |
65
70
  bundle install
66
- rake ios
71
+ bundle exec rake ios
67
72
  name: Run tests
73
+ timeout-minutes: 60
68
74
  working-directory: ios_tests
75
+ env:
76
+ LOCAL_PREBUILT_WDA: ${{ github.workspace }}/wda/WebDriverAgentRunner-Runner.app
69
77
 
70
78
  - name: Save server output
71
79
  if: ${{ always() }}
@@ -75,3 +83,88 @@ jobs:
75
83
  path: |
76
84
  appium.log
77
85
  test/report/
86
+
87
+ android_test:
88
+ runs-on: ubuntu-latest
89
+ timeout-minutes: 90
90
+ env:
91
+ API_LEVEL: 35
92
+ ARCH: x86_64
93
+
94
+ steps:
95
+ - uses: actions/checkout@v6
96
+
97
+ - name: Set up Java
98
+ uses: actions/setup-java@v5
99
+ with:
100
+ distribution: temurin
101
+ java-version: '17'
102
+
103
+ - name: Install Node.js
104
+ uses: actions/setup-node@v6
105
+ with:
106
+ node-version: 'lts/*'
107
+
108
+ - name: Set up Ruby
109
+ uses: ruby/setup-ruby@v1
110
+ with:
111
+ ruby-version: 4.0
112
+
113
+ - name: Install appium
114
+ run: |
115
+ npm install -g appium
116
+ npm install -g mjpeg-consumer
117
+
118
+ - name: Start appium
119
+ run: |
120
+ appium driver install uiautomator2
121
+ appium plugin install images
122
+ appium plugin install execute-driver
123
+ nohup appium --use-plugins=images,execute-driver --relaxed-security --log-timestamp --log-no-colors > appium.log &
124
+
125
+ - name: Enable KVM group perms
126
+ run: |
127
+ echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
128
+ sudo udevadm control --reload-rules
129
+ sudo udevadm trigger --name-match=kvm
130
+
131
+ - name: AVD cache
132
+ uses: actions/cache@v5
133
+ id: avd-cache
134
+ with:
135
+ path: |
136
+ ~/.android/avd/*
137
+ ~/.android/adb*
138
+ key: avd-${{ env.API_LEVEL }}
139
+
140
+ - name: Create AVD snapshot for cache
141
+ if: steps.avd-cache.outputs.cache-hit != 'true'
142
+ uses: reactivecircus/android-emulator-runner@v2
143
+ with:
144
+ api-level: ${{ env.API_LEVEL }}
145
+ arch: ${{ env.ARCH }}
146
+ target: google_apis
147
+ force-avd-creation: false
148
+ emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
149
+ disable-animations: false
150
+ script: echo "Generated AVD snapshot for caching."
151
+
152
+ - name: run tests
153
+ uses: reactivecircus/android-emulator-runner@v2
154
+ with:
155
+ api-level: ${{ env.API_LEVEL }}
156
+ arch: ${{ env.ARCH }}
157
+ script: cd android_tests;bundle install;bundle exec rake --tasks;bundle exec rake android
158
+ target: google_apis
159
+ profile: Nexus 5X
160
+ disable-spellchecker: true
161
+ disable-animations: true
162
+
163
+ - name: Save server output
164
+ if: ${{ always() }}
165
+ uses: actions/upload-artifact@master
166
+ with:
167
+ name: appium-android_test_with_other_deps.log
168
+ path: |
169
+ appium.log
170
+ test/report/
@@ -0,0 +1,10 @@
1
+ name: Conventional Commits
2
+ on:
3
+ pull_request:
4
+ types: [opened, edited, synchronize, reopened]
5
+
6
+ jobs:
7
+ lint:
8
+ uses: appium/appium-workflows/.github/workflows/pr-title.yml@main
9
+ with:
10
+ config-preset: angular
@@ -16,7 +16,7 @@ jobs:
16
16
  runs-on: ubuntu-latest
17
17
 
18
18
  steps:
19
- - uses: actions/checkout@v3
19
+ - uses: actions/checkout@v6
20
20
  - name: Set up Ruby
21
21
  uses: ruby/setup-ruby@v1
22
22
  with:
data/.rubocop.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  AllCops:
2
2
  TargetRubyVersion: 3.1
3
- Metrics/LineLength:
3
+ Layout/LineLength:
4
4
  Max: 128
5
5
  Metrics/MethodLength:
6
6
  Enabled: false
data/CHANGELOG.md CHANGED
@@ -3,6 +3,12 @@ Commit based release not is [release_notes.md](./release_notes.md)
3
3
 
4
4
  Release tags are https://github.com/appium/ruby_lib/releases .
5
5
 
6
+ ## [16.2.0] - 2026-04-19
7
+ - Define device methods (`lock`, `unlock`, `hide_keyboard`, `push_file`, `pull_file`, `background_app`, `shake`, etc.) natively on `Appium::Driver` via `def_delegators :driver`, replacing the implicit delegation previously set up by `extend ::Appium::Core::Device`. Paves the way for `ruby_lib_core` to drop its static compatibility list (appium/ruby_lib_core#97).
8
+
9
+ ## 16.1.1 - 2025-12-28
10
+ - Add deprecated mark for start_logs_broadcast/stop_logs_broadcast to use BiDi instead
11
+
6
12
  ## 16.1.0 - 2025-03-37
7
13
  - Relaxed usable the appium_lib_core deps version to `> 11`
8
14
 
data/Gemfile CHANGED
@@ -16,11 +16,10 @@ source 'https://rubygems.org'
16
16
  gemspec
17
17
 
18
18
  gem 'appium_thor', '~> 2.0'
19
- gem 'fakefs', '~> 3.0.0'
20
- gem 'hashdiff', '~> 1.1.0'
19
+ gem 'hashdiff', '~> 1.2.0'
21
20
  gem 'minitest', '~> 5.0'
22
21
  gem 'minitest-reporters', '~> 1.1'
23
22
  gem 'pry'
24
23
  gem 'rake', '~> 13.0'
25
- gem 'rubocop', '1.74.0'
24
+ gem 'rubocop', '1.86.1'
26
25
  gem 'yard', '~> 0.9.11'
data/appium_lib.gemspec CHANGED
@@ -13,7 +13,7 @@ Gem::Specification.new do |s|
13
13
  s.homepage = 'https://github.com/appium/ruby_lib' # published as appium_lib
14
14
  s.require_paths = ['lib']
15
15
 
16
- s.add_dependency 'appium_lib_core', '>= 9.2.1', '< 12.0'
16
+ s.add_dependency 'appium_lib_core', '>= 9.2.1', '< 13.0'
17
17
  s.add_dependency 'nokogiri', '~> 1.8', '>= 1.8.1'
18
18
  s.add_dependency 'tomlrb', '>= 1.1', '< 3.0'
19
19
 
@@ -30,33 +30,6 @@ module Appium
30
30
  # --relaxed-security
31
31
  @driver.execute_script 'mobile: shell', args
32
32
  end
33
-
34
- # Starts Android logcat broadcast websocket
35
- #
36
- # @param [String] logcat_file A file path to write messages from a logcat WebSocket client
37
- #
38
- # @example
39
- #
40
- # start_logs_broadcast 'outputfile.log' #=> #<Appium::Android::Command::WsLogcat:...>
41
- #
42
- def start_logs_broadcast(logcat_file = 'logcat.log')
43
- @driver.execute_script 'mobile: startLogsBroadcast'
44
-
45
- socket_url = "ws://#{URI.parse(server_url).host}:#{@core.port}/ws/session/#{@driver.session_id}/appium/device/logcat"
46
- @logcat_client = ::Appium::Common::Command::WsLogcat.new(url: socket_url, output_file: logcat_file)
47
- end
48
-
49
- # Stop Android logcat broadcast websocket
50
- #
51
- # @example
52
- #
53
- # stop_logs_broadcast #=> nil
54
- #
55
- def stop_logs_broadcast
56
- @logcat_client.close
57
-
58
- @driver.execute_script 'mobile: stopLogsBroadcast'
59
- end
60
33
  end
61
34
  end
62
35
  end
@@ -12,8 +12,6 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- require_relative 'command/ws_logcat'
16
-
17
15
  module Appium
18
16
  module Common
19
17
  module Command
@@ -40,6 +40,33 @@ require 'uri'
40
40
 
41
41
  module Appium
42
42
  class Driver
43
+ extend Forwardable
44
+
45
+ # Methods forwarded to the underlying Appium::Core::Base::Driver instance
46
+ # (exposed via `#driver`). Previously these were wired up implicitly by
47
+ # `extend ::Appium::Core::Device` through a static compatibility list in
48
+ # `ruby_lib_core` (see appium/ruby_lib_core#97). Defining them here lets
49
+ # `ruby_lib_core` eventually drop that list.
50
+ CORE_BRIDGE_METHODS = %i[
51
+ take_element_screenshot save_viewport_screenshot
52
+ lock device_locked? unlock
53
+ hide_keyboard is_keyboard_shown
54
+ ime_activate ime_available_engines ime_active_engine ime_activated ime_deactivate
55
+ get_settings update_settings
56
+ within_context current_context available_contexts set_context
57
+ push_file pull_file pull_folder
58
+ keyevent press_keycode long_press_keycode
59
+ match_images_features find_image_occurrence get_images_similarity compare_images
60
+ app_strings background_app
61
+ install_app remove_app app_installed? activate_app terminate_app
62
+ app_state
63
+ stop_recording_screen stop_and_save_recording_screen
64
+ shake device_time
65
+ execute_cdp
66
+ ].freeze
67
+
68
+ def_delegators :driver, *CORE_BRIDGE_METHODS
69
+
43
70
  # @private
44
71
  class << self
45
72
  def convert_to_symbol(value)
@@ -27,7 +27,6 @@ module Appium
27
27
  target.extend Appium::Ios::Xcuitest::Gesture
28
28
  target.extend Appium::Ios::Xcuitest::MultiAppHandler
29
29
  target.extend Appium::Ios::Xcuitest::Element
30
- target.extend Appium::Ios::Xcuitest::Command
31
30
  target.extend Appium::Ios::Xcuitest::GetContext
32
31
  end
33
32
  end
@@ -17,38 +17,3 @@ require_relative 'command/gestures'
17
17
  require_relative 'command/source'
18
18
  require_relative 'command/multi_app_handler'
19
19
  require_relative 'command/get_context'
20
-
21
- module Appium
22
- module Ios
23
- module Xcuitest
24
- module Command
25
- # Starts iOS syslog broadcast websocket
26
- #
27
- # @param [String] syslog_file A file path to write messages from a syslog WebSocket client
28
- #
29
- # @example
30
- #
31
- # start_logs_broadcast 'outputfile.log' #=> #<Appium::Android::Command::WsLogcat:...>
32
- #
33
- def start_logs_broadcast(syslog_file = 'syslog.log')
34
- @driver.execute_script 'mobile: startLogsBroadcast'
35
-
36
- socket_url = "ws://#{URI.parse(server_url).host}:#{@core.port}/ws/session/#{@driver.session_id}/appium/device/syslog"
37
- @logcat_client = ::Appium::Common::Command::WsLogcat.new(url: socket_url, output_file: syslog_file)
38
- end
39
-
40
- # Stop iOS syslog broadcast websocket
41
- #
42
- # @example
43
- #
44
- # stop_logs_broadcast #=> nil
45
- #
46
- def stop_logs_broadcast
47
- @logcat_client.close
48
-
49
- @driver.execute_script 'mobile: stopLogsBroadcast'
50
- end
51
- end
52
- end
53
- end
54
- end
@@ -14,6 +14,6 @@
14
14
 
15
15
  module Appium
16
16
  # Version and Date are defined on the 'Appium' module, not 'Appium::Common'
17
- VERSION = '16.1.0' unless defined? ::Appium::VERSION
18
- DATE = '2025-03-27' unless defined? ::Appium::DATE
17
+ VERSION = '16.2.0' unless defined? ::Appium::VERSION
18
+ DATE = '2026-04-19' unless defined? ::Appium::DATE
19
19
  end
data/release_notes.md CHANGED
@@ -1,3 +1,59 @@
1
+ #### v16.2.0 2026-04-19
2
+
3
+ - [939a204](https://github.com/appium/ruby_lib/commit/939a20461738c80f9a19bb9ee8fe41030ab6c91e) Release 16.2.0
4
+ - [324b646](https://github.com/appium/ruby_lib/commit/324b646adcf182b92cad66bd53ec8f7b1892b34f) feat: define device methods natively on Appium::Driver (#1109)
5
+ - [5e60d97](https://github.com/appium/ruby_lib/commit/5e60d973ca74fe25af3b58ad7dcf9ce46d209b08) chore: Update rubocop requirement from 1.86.0 to 1.86.1 (#1108)
6
+ - [76a85fd](https://github.com/appium/ruby_lib/commit/76a85fde1c05b5a479179d07e062a2ca9b18d48d) chore: Bump actions/cache from 4 to 5 (#1107)
7
+ - [555767c](https://github.com/appium/ruby_lib/commit/555767cf885f49705cfeea8be4688f7bddb08cd7) ci: add android (#1106)
8
+ - [59a27af](https://github.com/appium/ruby_lib/commit/59a27af6c3c2bbfd37664e59d2a9e3322250199c) feat: drop deprecated start_logs_broadcast/stop_logs_broadcast methods (#1105)
9
+ - [4bd31dc](https://github.com/appium/ruby_lib/commit/4bd31dc1b15de6dccb80a5eb2f70e5c592af7293) chore: Update rubocop requirement from 1.85.1 to 1.86.0 (#1104)
10
+ - [070e4e3](https://github.com/appium/ruby_lib/commit/070e4e34294e1d2a6bf57519493e4f47d96a7fae) chore: Update rubocop requirement from 1.85.0 to 1.85.1 (#1103)
11
+ - [e624cea](https://github.com/appium/ruby_lib/commit/e624cea7ab88fd543f77d63517eb0fc4b3d138fe) chore: Bump futureware-tech/simulator-action from 4 to 5 (#1102)
12
+ - [6192589](https://github.com/appium/ruby_lib/commit/6192589e4379e4405d6dbf0c99fb583544be996c) chore: Update rubocop requirement from 1.84.2 to 1.85.0 (#1101)
13
+ - [211cb0b](https://github.com/appium/ruby_lib/commit/211cb0bfb746b51db6f24d27a7d1ae8153fc6937) chore: Update rubocop requirement from 1.84.1 to 1.84.2 (#1100)
14
+ - [56e092d](https://github.com/appium/ruby_lib/commit/56e092de3ff7c4c29a2cf9f63672563f60f5457f) chore: Update rubocop requirement from 1.84.0 to 1.84.1 (#1099)
15
+ - [858cacb](https://github.com/appium/ruby_lib/commit/858cacb2675dcfd7935bee7c8fc9dbfd6eae60c1) chore: Update rubocop requirement from 1.82.1 to 1.84.0 (#1098)
16
+ - [0451b50](https://github.com/appium/ruby_lib/commit/0451b50e15723b649d92f4f1476d5b575ed92482) ci: add pr title check
17
+ - [d5a27a8](https://github.com/appium/ruby_lib/commit/d5a27a8de9fcca37accd851686c6a8a90a40b374) chore: Update rubocop requirement from 1.82.0 to 1.82.1 (#1097)
18
+
19
+
20
+ #### v16.1.1 2025-12-28
21
+
22
+ - [2efaf09](https://github.com/appium/ruby_lib/commit/2efaf0937dfaf3759d370607fdea05c890df634a) Release 16.1.1
23
+ - [121316f](https://github.com/appium/ruby_lib/commit/121316f8c74cbcdab6073c7b7cb8ef5b46f28bb6) chore: add deprecated in docstrings for start_logs_broadcast/stop_logs_broadcast (#1095)
24
+ - [2736ab2](https://github.com/appium/ruby_lib/commit/2736ab2cb77cf7a149bd2e933f1c5af5e5e6c8cc) ci: use ruby v4 (#1094)
25
+ - [0fe4fbc](https://github.com/appium/ruby_lib/commit/0fe4fbce26f71211e15eea11ff624b1fbeb23767) chore: Update rubocop requirement from 1.81.7 to 1.82.0 (#1093)
26
+ - [5676f33](https://github.com/appium/ruby_lib/commit/5676f338c399cddc41f3b830d82eccd7a955466c) chore: Bump futureware-tech/simulator-action from 3 to 4 (#1092)
27
+ - [9b7b69b](https://github.com/appium/ruby_lib/commit/9b7b69b26c20b0dd23a218d4994cac634504fb08) chore: Bump actions/setup-node from 3 to 6 (#1091)
28
+ - [00d640d](https://github.com/appium/ruby_lib/commit/00d640dd460a013a924b27a2865d605563f44e2d) chore: Bump actions/checkout from 3 to 6 (#1090)
29
+ - [2272004](https://github.com/appium/ruby_lib/commit/2272004b6127b49bc555bdf13a61fd8370f0adec) ci: add github actions dependabot config
30
+ - [0ffe7d4](https://github.com/appium/ruby_lib/commit/0ffe7d48eddf59817686cf72b2811af11d7b34c3) chore: Update rubocop requirement from 1.81.6 to 1.81.7 (#1089)
31
+ - [1b9628c](https://github.com/appium/ruby_lib/commit/1b9628c0098499e5c0c763f2f1e63578ce1a3dae) chore: Update rubocop requirement from 1.81.1 to 1.81.6 (#1088)
32
+ - [99d15ca](https://github.com/appium/ruby_lib/commit/99d15ca8e0339da425f2cc93c360fbd1e4231453) chore: Update rubocop requirement from 1.81.0 to 1.81.1 (#1087)
33
+ - [94f8d72](https://github.com/appium/ruby_lib/commit/94f8d72e251b3513db7c1ddd6009cef76c6b620f) chore: Update rubocop requirement from 1.80.2 to 1.81.0 (#1086)
34
+ - [31a7747](https://github.com/appium/ruby_lib/commit/31a77475ce32fe1cfb61e8a9e5b8c9c4671603fb) chore: Update rubocop requirement from 1.80.1 to 1.80.2 (#1084)
35
+ - [38c0dcb](https://github.com/appium/ruby_lib/commit/38c0dcb248a5cd8e458027304c6a3fb11f97cf95) ci: use newer dependencies (#1085)
36
+ - [e925497](https://github.com/appium/ruby_lib/commit/e925497539a5cfa374a1855642bcf524f3cbdb0d) chore: Update rubocop requirement from 1.80.0 to 1.80.1 (#1083)
37
+ - [a3b6a09](https://github.com/appium/ruby_lib/commit/a3b6a09bf6faf9ac870704b6430412113d2d9262) chore: Update rubocop requirement from 1.79.2 to 1.80.0 (#1082)
38
+ - [dfa1010](https://github.com/appium/ruby_lib/commit/dfa10104bcd8f1e477f8aa8da5437ae89df2a330) chore: Update rubocop requirement from 1.79.1 to 1.79.2 (#1081)
39
+ - [454dcfb](https://github.com/appium/ruby_lib/commit/454dcfb4cea592a7e295b787f2c6f9c8d78a53b1) chore: Update rubocop requirement from 1.79.0 to 1.79.1 (#1080)
40
+ - [facc0db](https://github.com/appium/ruby_lib/commit/facc0db652c1f5d4c82d7b5be7dfdf80fba4d509) chore: Update rubocop requirement from 1.78.0 to 1.79.0 (#1079)
41
+ - [d9df353](https://github.com/appium/ruby_lib/commit/d9df35303244433576026b17db1388a1b1135b05) chore: Update rubocop requirement from 1.77.0 to 1.78.0 (#1078)
42
+ - [8d3b64c](https://github.com/appium/ruby_lib/commit/8d3b64c09ff623791255f93910f16f2d4c26d132) chore: Update rubocop requirement from 1.76.2 to 1.77.0 (#1077)
43
+ - [83283a9](https://github.com/appium/ruby_lib/commit/83283a98f0e396d25d4c9b6d9eb65a14a1b043e1) chore: Update rubocop requirement from 1.76.1 to 1.76.2 (#1076)
44
+ - [f92405a](https://github.com/appium/ruby_lib/commit/f92405a943139284ab189a50f189714e56244e9b) chore: Update rubocop requirement from 1.76.0 to 1.76.1 (#1075)
45
+ - [a8cf9da](https://github.com/appium/ruby_lib/commit/a8cf9daa6e1703a9adef7c62e3f061ecdf345101) chore: Update rubocop requirement from 1.75.8 to 1.76.0 (#1074)
46
+ - [1e3c2f6](https://github.com/appium/ruby_lib/commit/1e3c2f6bec7e84be3f05095ac09421be25c5f940) chore: Update rubocop requirement from 1.75.7 to 1.75.8 (#1073)
47
+ - [48c869e](https://github.com/appium/ruby_lib/commit/48c869e660c0701cf659ca2965286070629b2cf7) chore: Update rubocop requirement from 1.75.6 to 1.75.7 (#1072)
48
+ - [a7dbd63](https://github.com/appium/ruby_lib/commit/a7dbd63df5c19f8d0a03d8f35a22d64ac95550bf) chore: Update hashdiff requirement from ~> 1.1.0 to ~> 1.2.0 (#1071)
49
+ - [710884d](https://github.com/appium/ruby_lib/commit/710884d4eaffa7a2d62615907934ab35e19e3639) chore: Update rubocop requirement from 1.75.5 to 1.75.6 (#1070)
50
+ - [6e58d17](https://github.com/appium/ruby_lib/commit/6e58d17499371b8e4bfed9a57922ba9f94ca0c9f) chore: Update rubocop requirement from 1.75.4 to 1.75.5 (#1069)
51
+ - [0398421](https://github.com/appium/ruby_lib/commit/039842150019d0e844542551ada80256ebaf18ab) chore: Update rubocop requirement from 1.75.3 to 1.75.4 (#1068)
52
+ - [2f73e58](https://github.com/appium/ruby_lib/commit/2f73e5810cb9f4430a8baa39bfd2d959a333819a) chore: Update rubocop requirement from 1.75.2 to 1.75.3 (#1067)
53
+ - [17b591b](https://github.com/appium/ruby_lib/commit/17b591b1e78a092431b597ba43bb7085616391ed) chore: Update rubocop requirement from 1.75.1 to 1.75.2 (#1066)
54
+ - [b49421a](https://github.com/appium/ruby_lib/commit/b49421a28dfaa40f22e6dc45a59b85de2b27cad0) chore: Update rubocop requirement from 1.74.0 to 1.75.1 (#1065)
55
+
56
+
1
57
  #### v16.1.0 2025-03-27
2
58
 
3
59
  - [caca559](https://github.com/appium/ruby_lib/commit/caca559c1fb70d0376860a5b8590c71e33eb453f) Release 16.1.0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appium_lib
3
3
  version: !ruby/object:Gem::Version
4
- version: 16.1.0
4
+ version: 16.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - code@bootstraponline.com
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2025-03-27 00:00:00.000000000 Z
12
+ date: 2026-04-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: appium_lib_core
@@ -20,7 +20,7 @@ dependencies:
20
20
  version: 9.2.1
21
21
  - - "<"
22
22
  - !ruby/object:Gem::Version
23
- version: '12.0'
23
+ version: '13.0'
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
@@ -30,7 +30,7 @@ dependencies:
30
30
  version: 9.2.1
31
31
  - - "<"
32
32
  - !ruby/object:Gem::Version
33
- version: '12.0'
33
+ version: '13.0'
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: nokogiri
36
36
  requirement: !ruby/object:Gem::Requirement
@@ -84,6 +84,7 @@ files:
84
84
  - ".github/PULL_REQUEST_TEMPLATE.md"
85
85
  - ".github/dependabot.yml"
86
86
  - ".github/workflows/functional-test.yml"
87
+ - ".github/workflows/pr-title.yml"
87
88
  - ".github/workflows/rubocop.yml"
88
89
  - ".gitignore"
89
90
  - ".rubocop.yml"
@@ -121,7 +122,6 @@ files:
121
122
  - lib/appium_lib/android/uiautomator2/helper.rb
122
123
  - lib/appium_lib/appium.rb
123
124
  - lib/appium_lib/common/command.rb
124
- - lib/appium_lib/common/command/ws_logcat.rb
125
125
  - lib/appium_lib/common/device.rb
126
126
  - lib/appium_lib/common/helper.rb
127
127
  - lib/appium_lib/common/http_client.rb
@@ -177,7 +177,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
177
177
  - !ruby/object:Gem::Version
178
178
  version: '0'
179
179
  requirements: []
180
- rubygems_version: 3.4.10
180
+ rubygems_version: 3.5.9
181
181
  signing_key:
182
182
  specification_version: 4
183
183
  summary: Ruby library for Appium
@@ -1,30 +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 Common
17
- module Command
18
- class WsLogcat < ::Appium::Core::WebSocket
19
- def initialize(url:, output_file: 'logcat.log')
20
- super(url: url)
21
- @output_file = output_file
22
- end
23
-
24
- def handle_message_data(data)
25
- File.open(@output_file, 'a') { |f| f.write("#{data}\n") }
26
- end
27
- end
28
- end
29
- end
30
- end