appium_lib 12.0.1 → 12.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -80,8 +80,18 @@ module Appium
80
80
 
81
81
  Appium::Logger.info data if verbose && !data.empty?
82
82
 
83
- if data && data[:caps] && data[:caps][:app] && !data[:caps][:app].empty?
84
- data[:caps][:app] = Appium::Driver.absolute_app_path data
83
+ # FIXME: Deprecated. Will remove when we remove 'Appium::Driver.absolute_app_path'
84
+ if data
85
+ if data[:caps][:app] && !data[:caps][:app].empty?
86
+ data[:caps][:app] = Appium::Driver.absolute_app_path data
87
+ elsif data[:caps]['app'] && !data[:caps]['app'].empty?
88
+ data[:caps]['app'] = Appium::Driver.absolute_app_path data
89
+ elsif data['caps'][:app] && !data['caps'][:app].empty?
90
+ data['caps'][:app] = Appium::Driver.absolute_app_path data
91
+ elsif data['caps']['app'] && !data['caps']['app'].empty?
92
+ data['caps']['app'] = Appium::Driver.absolute_app_path data
93
+ end
94
+
85
95
  end
86
96
 
87
97
  if data && data[:appium_lib] && data[:appium_lib][:require]
@@ -101,6 +101,7 @@ module Appium
101
101
  # app: '/path/to/MyiOS.app'
102
102
  # },
103
103
  # appium_lib: {
104
+ # server_url: 'http://127.0.0.1:4723'
104
105
  # wait_timeout: 30
105
106
  # }
106
107
  # }
@@ -250,10 +251,20 @@ module Appium
250
251
  end
251
252
 
252
253
  # @private
254
+ # Deprecated. TODO: remove
253
255
  def set_app_path(opts)
254
- return unless @core.caps && @core.caps[:app] && !@core.caps[:app].empty?
256
+ return unless @core.caps
255
257
 
256
- @core.caps[:app] = self.class.absolute_app_path opts
258
+ # return the path exists on the local
259
+ return if @core.caps['app'] && !@core.caps['app'].nil? && File.exist?(@core.caps['app'])
260
+ return if @core.caps[:app] && !@core.caps[:app].nil? && File.exist?(@core.caps[:app])
261
+
262
+ # The app file is not exact path
263
+ if !@core.caps['app'].nil?
264
+ @core.caps['app'] = self.class.absolute_app_path opts
265
+ elsif !@core.caps[:app].nil?
266
+ @core.caps[:app] = self.class.absolute_app_path opts
267
+ end
257
268
  end
258
269
 
259
270
  # @private
@@ -371,7 +382,7 @@ module Appium
371
382
  { version: ::Appium::VERSION }
372
383
  end
373
384
 
374
- # Converts app_path to an absolute path.
385
+ # [Deprecated] Converts app_path to an absolute path.
375
386
  #
376
387
  # opts is the full options hash (caps and appium_lib). If server_url is set
377
388
  # then the app path is used as is.
@@ -382,13 +393,17 @@ module Appium
382
393
  def self.absolute_app_path(opts)
383
394
  raise 'opts must be a hash' unless opts.is_a? Hash
384
395
 
385
- caps = opts[:caps] || {}
386
- app_path = caps[:app]
396
+ # FIXME: 'caps' and 'app' will be correct
397
+ caps = opts[:caps] || opts['caps'] || {}
398
+ app_path = caps[:app] || caps['app']
387
399
  raise 'absolute_app_path invoked and app is not set!' if app_path.nil? || app_path.empty?
388
400
  # Sauce storage API. http://saucelabs.com/docs/rest#storage
389
401
  return app_path if app_path.start_with? 'sauce-storage:'
390
402
  return app_path if app_path =~ URI::DEFAULT_PARSER.make_regexp # public URL for Sauce
391
403
 
404
+ ::Appium::Logger.warn('[Deprecation] Converting the path to absolute path will be removed. ' \
405
+ 'Please specify the full path which can be accessible from the appium server')
406
+
392
407
  absolute_app_path = File.expand_path app_path
393
408
  if File.exist? absolute_app_path
394
409
  absolute_app_path
@@ -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 = '12.0.1' unless defined? ::Appium::VERSION
18
- DATE = '2022-04-02' unless defined? ::Appium::DATE
17
+ VERSION = '12.1.1' unless defined? ::Appium::VERSION
18
+ DATE = '2022-10-19' unless defined? ::Appium::DATE
19
19
  end
data/readme.md CHANGED
@@ -6,22 +6,20 @@
6
6
  [![Downloads](https://img.shields.io/gem/dt/appium_lib.svg)](https://rubygems.org/gems/appium_lib)
7
7
 
8
8
  - [appium_lib on RubyGems](https://rubygems.org/gems/appium_lib)
9
- - [Documentation for appium_lib](https://github.com/appium/ruby_lib/tree/master/docs)
9
+ - [Documentation for appium_lib](https://www.rubydoc.info/github/appium/ruby_lib)
10
10
  - [Documentation for core lib](http://www.rubydoc.info/github/appium/ruby_lib_core)
11
11
  - Especially [driver method for Appium](http://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device)
12
- - [Getting Started](https://github.com/appium/appium/blob/master/docs/en/about-appium/getting-started.md)
13
- - [code examples](https://github.com/appium/sample-code/tree/master/sample-code/examples/ruby)
14
12
 
15
13
  Helper methods for writing cross platform (iOS, Android) tests in Ruby using Appium. Note that user waits should not exceed 120 seconds if they're going to run on Sauce Labs.
16
14
 
17
- [Ruby_lib_core](https://github.com/appium/ruby_lib_core) is also available as a Ruby client for Appium. `ruby_lib` wraps the core library with some additional helpful methods.
15
+ **Recommend** to use [ruby_lib_core](https://github.com/appium/ruby_lib_core), which works as a Ruby client for Appium. `ruby_lib` wraps the core library with some additional helpful methods, but some of wrapped methods may have unexpected complexity.
18
16
  Ordinary, `ruby_lib` worked with class driver, `$driver`, mainly.
19
17
  We can avoid the class driver with current `ruby_lib`, but if you'd like to implement your test cases based on instance driver, `@driver`, you can consider using `ruby_lib_core` first.
20
18
 
21
19
  # Setup
22
20
  ## Requirement
23
21
  - [Appium](https://github.com/appium/appium#requirements)
24
- - Ruby: 2.6+
22
+ - Ruby: 2.7+
25
23
 
26
24
  ### Ruby Lib and Appium
27
25
 
@@ -32,6 +30,33 @@ We can avoid the class driver with current `ruby_lib`, but if you'd like to impl
32
30
 
33
31
  ## Start appium server
34
32
 
33
+ ### Appium 2
34
+
35
+ ```bash
36
+ $ npm install -g appium@next
37
+ $ appium driver install xcuitest # proper driver name to install
38
+ $ appium server
39
+ ```
40
+
41
+ > **Note** Please set `server_url` properly like the below since the appium 2
42
+ > changed the default WebDriver URL to without `/wd/hub` to follow W3C.
43
+ > ```
44
+ > opts = {
45
+ > caps: {
46
+ > automationName: 'xcuitest'
47
+ > platformName: 'ios',
48
+ > app: '/path/to/MyiOS.app'
49
+ > },
50
+ > appium_lib: {
51
+ > server_url: 'http://127.0.0.1:4723'
52
+ > }
53
+ > }
54
+ > appium_driver = Appium::Driver.new(opts)
55
+ > appium_driver.start_driver
56
+ > ```
57
+ > Or please start the appium server with `appium server --base-path=/wd/hub`
58
+
59
+ ### Appium 1
35
60
  ```bash
36
61
  $ npm install -g appium
37
62
  $ appium
@@ -53,12 +78,11 @@ gem install appium_lib
53
78
 
54
79
  # Documentation
55
80
 
56
- - [Getting started](https://github.com/appium/appium/blob/master/docs/en/about-appium/getting-started.md)
81
+ - [Getting started](https://github.com/appium/appium)
57
82
  - [Overview](https://github.com/appium/ruby_lib/blob/master/docs/docs.md)
58
83
  - [Ruby Android methods](https://github.com/appium/ruby_lib/blob/master/docs/android_docs.md)
59
84
  - [Ruby iOS methods](https://github.com/appium/ruby_lib/blob/master/docs/ios_docs.md)
60
85
  - [Tips for XCUITest for iOS](https://github.com/appium/ruby_lib/blob/master/docs/ios_xcuitest.md)
61
- - [Appium Server docs](https://github.com/appium/appium/tree/master/docs)
62
86
 
63
87
  # Related libraries
64
88
  - [ruby_lib_core](https://github.com/appium/ruby_lib_core): Bridged commands, WebDriver dependencies
data/release_notes.md CHANGED
@@ -1,3 +1,37 @@
1
+ #### v12.1.1 2022-10-19
2
+
3
+ - [83c89c1](https://github.com/appium/ruby_lib/commit/83c89c107ea0e030b7eae2d8ab664c38766df6ed) Release 12.1.1
4
+ - [e40222d](https://github.com/appium/ruby_lib/commit/e40222d66f497fe295aea982ef0c042b901f6e3f) fix: use warn (#951)
5
+ - [a9b7558](https://github.com/appium/ruby_lib/commit/a9b75583e9923ade4f4fd16cb7fad03cc0f7c1be) docs: tweak
6
+ - [600f867](https://github.com/appium/ruby_lib/commit/600f8670f97d91babfd84e1c6c1ef34d2682b883) docs: updating (#950)
7
+ - [a81ea4b](https://github.com/appium/ruby_lib/commit/a81ea4b2a74ea71fa62c1756ffea2f85da57d49b) docd: udpate readme
8
+ - [8f20fe1](https://github.com/appium/ruby_lib/commit/8f20fe12b728195a8d2eb7d39004de4075caeff8) Release 12.1.0
9
+ - [b00662a](https://github.com/appium/ruby_lib/commit/b00662a3976aeadc8d5385fd00129fb9dafa967c) chore: specify latest core
10
+ - [98a3c6b](https://github.com/appium/ruby_lib/commit/98a3c6b9720eeff74f6eefda6e54196477854ed3) feat: update the minimal ruby lib core version (#946)
11
+ - [45a2194](https://github.com/appium/ruby_lib/commit/45a21942311ed4e5b88df3ad9ddb540693422b5e) docs: update the readme
12
+ - [c29cf02](https://github.com/appium/ruby_lib/commit/c29cf0284041f449dc594248cadf47bf7ca074ae) chore: Update rubocop requirement from = 1.35.1 to = 1.36.0 (#944)
13
+ - [26ff210](https://github.com/appium/ruby_lib/commit/26ff21044030eb833c5c167026834f8a522c1a7c) chore: Update rubocop requirement from = 1.35.0 to = 1.35.1 (#941)
14
+ - [1984bd0](https://github.com/appium/ruby_lib/commit/1984bd09e4fa55a41b9c1cf22ae9c4fffa51b149) chore: Update rubocop requirement from = 1.34.1 to = 1.35.0 (#940)
15
+ - [71f889b](https://github.com/appium/ruby_lib/commit/71f889b2671696244609d2ce970dc602be28644a) chore: Update rubocop requirement from = 1.34.0 to = 1.34.1 (#939)
16
+ - [6d4c02d](https://github.com/appium/ruby_lib/commit/6d4c02d0f8d59d5debe60d782260bf1b2e4b80ad) chore: Update rubocop requirement from = 1.33.0 to = 1.34.0 (#938)
17
+ - [6d10490](https://github.com/appium/ruby_lib/commit/6d104904974798e187fc07ad6f98875c09368ca7) chore: Update rubocop requirement from = 1.32.0 to = 1.33.0 (#937)
18
+ - [0144c9c](https://github.com/appium/ruby_lib/commit/0144c9c9d7331e5384de0a528eedf82be98affbd) chore: Update rubocop requirement from = 1.31.2 to = 1.32.0 (#936)
19
+ - [6d08328](https://github.com/appium/ruby_lib/commit/6d083282eb0f04dc70453d5290af2eb6f3d5da90) chore: Update rubocop requirement from = 1.31.1 to = 1.31.2 (#934)
20
+ - [8554315](https://github.com/appium/ruby_lib/commit/8554315055cb5742cb8251e087a7e6d0cc3b7504) chore: Update rubocop requirement from = 1.31.0 to = 1.31.1 (#933)
21
+ - [50b76c6](https://github.com/appium/ruby_lib/commit/50b76c6713d5ae1134dbe7f2d5cfae95df9dede6) chore: Update rubocop requirement from = 1.30.1 to = 1.31.0 (#932)
22
+ - [b55c2a5](https://github.com/appium/ruby_lib/commit/b55c2a58e5ea0ffc215e43dc8e1b28a99c7be372) chore: Update fakefs requirement from ~> 1.7.0 to ~> 1.8.0 (#931)
23
+ - [7c501bc](https://github.com/appium/ruby_lib/commit/7c501bc47f8a40bf83088a43af2892d46cef561c) chore: Update fakefs requirement from ~> 1.5.0 to ~> 1.7.0 (#930)
24
+ - [574e3c4](https://github.com/appium/ruby_lib/commit/574e3c4acc9f38419250aa3a046143acc8d55a75) chore: Update rubocop requirement from = 1.30.0 to = 1.30.1 (#929)
25
+ - [0dacfea](https://github.com/appium/ruby_lib/commit/0dacfea1924f953ae8c6328c97065dcdb6b372d7) chore: Update rubocop requirement from = 1.29.1 to = 1.30.0 (#928)
26
+ - [cf368c8](https://github.com/appium/ruby_lib/commit/cf368c848a76cf5a86c26f006cd4ff412f1f8a86) chore: Update fakefs requirement from ~> 1.4.0 to ~> 1.5.0 (#927)
27
+ - [2e9190a](https://github.com/appium/ruby_lib/commit/2e9190aa8905c3d06adcc16a87209f3841e4cdc4) chore: Update rubocop requirement from = 1.29.0 to = 1.29.1 (#926)
28
+ - [99360fb](https://github.com/appium/ruby_lib/commit/99360fb8b0aab56fc3eb6e903cf89e10bbd8b78b) chore: Update rubocop requirement from = 1.28.2 to = 1.29.0 (#925)
29
+ - [9bf18ce](https://github.com/appium/ruby_lib/commit/9bf18ce0365f4c677d81d83b3a33ef7125a8e1dd) chore: Update rubocop requirement from = 1.28.1 to = 1.28.2 (#924)
30
+ - [d7a5983](https://github.com/appium/ruby_lib/commit/d7a598369c0e28f8924e04aaa6d2159662fa710f) chore: Update rubocop requirement from = 1.28.0 to = 1.28.1 (#923)
31
+ - [e33f440](https://github.com/appium/ruby_lib/commit/e33f4408ccf28564316196b9555b23aaa83d9b5e) chore: Update rubocop requirement from = 1.27.0 to = 1.28.0 (#922)
32
+ - [e598c26](https://github.com/appium/ruby_lib/commit/e598c2681c565c8d52338c6bb544374df5c3729b) chore: Update rubocop requirement from = 1.26.1 to = 1.27.0 (#921)
33
+
34
+
1
35
  #### v12.0.1 2022-04-02
2
36
 
3
37
  - [ae4bddd](https://github.com/appium/ruby_lib/commit/ae4bddd7ba5bf3aafe8fedc44919bb02b4f260be) Release 12.0.1
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: 12.0.1
4
+ version: 12.1.1
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: 2022-04-02 00:00:00.000000000 Z
12
+ date: 2022-10-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: appium_lib_core
@@ -17,14 +17,20 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '5.0'
20
+ version: '5.5'
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 5.5.2
21
24
  type: :runtime
22
25
  prerelease: false
23
26
  version_requirements: !ruby/object:Gem::Requirement
24
27
  requirements:
25
28
  - - "~>"
26
29
  - !ruby/object:Gem::Version
27
- version: '5.0'
30
+ version: '5.5'
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 5.5.2
28
34
  - !ruby/object:Gem::Dependency
29
35
  name: nokogiri
30
36
  requirement: !ruby/object:Gem::Requirement
@@ -91,14 +97,14 @@ dependencies:
91
97
  requirements:
92
98
  - - "~>"
93
99
  - !ruby/object:Gem::Version
94
- version: 1.4.0
100
+ version: 1.8.0
95
101
  type: :development
96
102
  prerelease: false
97
103
  version_requirements: !ruby/object:Gem::Requirement
98
104
  requirements:
99
105
  - - "~>"
100
106
  - !ruby/object:Gem::Version
101
- version: 1.4.0
107
+ version: 1.8.0
102
108
  - !ruby/object:Gem::Dependency
103
109
  name: hashdiff
104
110
  requirement: !ruby/object:Gem::Requirement
@@ -161,14 +167,14 @@ dependencies:
161
167
  requirements:
162
168
  - - '='
163
169
  - !ruby/object:Gem::Version
164
- version: 1.26.1
170
+ version: 1.36.0
165
171
  type: :development
166
172
  prerelease: false
167
173
  version_requirements: !ruby/object:Gem::Requirement
168
174
  requirements:
169
175
  - - '='
170
176
  - !ruby/object:Gem::Version
171
- version: 1.26.1
177
+ version: 1.36.0
172
178
  - !ruby/object:Gem::Dependency
173
179
  name: spec
174
180
  requirement: !ruby/object:Gem::Requirement
@@ -230,7 +236,6 @@ files:
230
236
  - docs/docs.md
231
237
  - docs/ios_docs.md
232
238
  - docs/ios_xcuitest.md
233
- - docs/migration.md
234
239
  - docs/parallel.md
235
240
  - docs/w3c.md
236
241
  - lib/appium_lib.rb
@@ -303,7 +308,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
303
308
  requirements:
304
309
  - - ">="
305
310
  - !ruby/object:Gem::Version
306
- version: '2.6'
311
+ version: '2.7'
307
312
  required_rubygems_version: !ruby/object:Gem::Requirement
308
313
  requirements:
309
314
  - - ">="
data/docs/migration.md DELETED
@@ -1,175 +0,0 @@
1
- ### Breaking Changes in 9.13.0
2
- Change the results of `app_state`
3
-
4
- - After
5
- ```
6
- driver.app_state('com.example.apple-samplecode.UICatalog') #=> :running_in_foreground
7
- ```
8
-
9
- - Before
10
- ```
11
- driver.app_state('com.example.apple-samplecode.UICatalog') #=> 1
12
- ```
13
-
14
- ### Breaking Changes in 9.9.0
15
- Change `start_recording_screen` interface. Please read [documentation](https://github.com/appium/ruby_lib_core/blob/0ba7b1c726f02e11d6daa46481309b1e0e54b00e/lib/appium_lib_core/android/device.rb#L84) for more details.
16
-
17
- - After
18
-
19
- ```ruby
20
- start_recording_screen(remote_path: nil, user: nil, pass: nil, method: 'PUT', force_restart: nil, video_size: nil, time_limit: '180', bit_rate: '4000000')
21
- ```
22
-
23
- - Before
24
-
25
- ```ruby
26
- start_recording_screen(file_path: 'file path in /sdcard/...', video_size: 'videosize', time_limit: '180', bit_rate: '4000000')
27
- ```
28
-
29
-
30
- ### Breaking Changes in 9.6.0
31
- Raise warning if users call `Appium::Driver.new(opts)`.
32
-
33
- - After
34
-
35
- ```ruby
36
- Appium::Driver.new(opts).start_driver # Raise warning.
37
- Appium::Driver.new(opts, true).start_driver # $driver is defined.
38
- Appium::Driver.new(opts, false).start_driver # $driver isn't defined.
39
- ```
40
-
41
- - Before
42
-
43
- ```ruby
44
- Appium::Driver.new(opts).start_driver # $driver is defined.
45
- ```
46
-
47
- ### Breaking Changes in 9.3.7
48
- change `@selenium_driver.find_element/s_with_appium` to `@selenium_driver.find_element/s`.
49
- ref: https://github.com/appium/ruby_lib/pull/532
50
-
51
- A breaking change in v9.1.0 is reverted in this version.
52
-
53
- Old | New
54
- :--|:--
55
- `@selenium_driver.find_element/s_with_appium` | `@selenium_driver.find_element/s`
56
-
57
- - after
58
-
59
- ```
60
- @selenium_driver.find_element :accessibility_id, "some ids"
61
- @selenium_driver.find_elements :accessibility_id, "some ids"
62
- ```
63
-
64
- - before
65
-
66
- ```
67
- @selenium_driver.find_element_with_appium :accessibility_id, "some ids"
68
- @selenium_driver.find_elements_with_appium :accessibility_id, "some ids"
69
- ```
70
-
71
-
72
- ### Breaking Changes in 9.1.0
73
- change `@selenium_driver.find_element/s` to `@selenium_driver.find_element/s_with_appium`.
74
- ref: https://github.com/appium/ruby_lib/pull/383
75
-
76
- Old | New
77
- :--|:--
78
- `@selenium_driver.find_element/s` | `@selenium_driver.find_element/s_with_appium`
79
-
80
- - after
81
-
82
- ```
83
- @selenium_driver.find_element_with_appium :accessibility_id, "some ids"
84
- @selenium_driver.find_elements_with_appium :accessibility_id, "some ids"
85
- ```
86
-
87
- - before
88
-
89
- ```
90
- @selenium_driver.find_element :accessibility_id, "some ids"
91
- @selenium_driver.find_elements :accessibility_id, "some ids"
92
- ```
93
-
94
- ### Breaking Changes in 8.2.0
95
- change `Appium.load_appium_txt` to `Appium.load_settings`.
96
-
97
- Old | New
98
- :--|:--
99
- `Appium.load_appium_txt` | `Appium.load_settings`
100
-
101
- - after
102
-
103
- ```
104
- dir = File.expand_path(File.join(Dir.pwd, 'lib'))
105
- appium_txt = File.join(Dir.pwd, 'appium.txt')
106
- caps = Appium.load_settings file: appium_txt, verbose: true
107
- ```
108
-
109
- - before
110
-
111
- ```
112
- appium_txt = File.expand_path(File.join(Dir.pwd, 'lib'))
113
- dir = appium_txt
114
- caps = Appium.load_appium_txt file: appium_txt, verbose: true
115
- ```
116
-
117
- ### Breaking Changes in 7.0
118
-
119
- Requires appium 1.4.0-beta or newer for iOS helper methods. appium_lib no longer automatically promotes methods on minispec. To restore the old behavior use: `Appium.promote_appium_methods ::Minitest::Spec`
120
-
121
- The implicit wait now defaults to zero. To restore the old behavior, use `set_wait 30`.
122
-
123
- Old | New
124
- :--|:--
125
- `installed?` | `app_installed?`
126
-
127
- ### Breaking Changes in 5.0
128
-
129
- Old | New
130
- :--|:--
131
- `launch` | `launch_app`
132
- `install` | `install_app`
133
- `remove` | `remove_app`
134
-
135
- method_missing has been removed from the Ruby bindings. If you want to invoke methods on the top level object,
136
- you can use the following:
137
-
138
- `Appium.promote_appium_methods Object`
139
-
140
- Also make sure to update to Appium Ruby Console v1.0.3 or better. Old consoles will not work with the 5.0 release due to the removal of method_missing.
141
-
142
- ### Breaking Changes in 4.0
143
-
144
- Old | New
145
- :--|:--
146
- `key_event` | `press_keycode`
147
-
148
- ### Breaking Changes in 2.0
149
-
150
- In 2.0, the e_* methods have been renamed.
151
-
152
- Old | New
153
- :--|:--
154
- `e_buttons` | `buttons`
155
- `e_s_texts` | `texts`
156
- `e_textfields` | `textfields`
157
-
158
- All s_texts methods have been renamed.
159
-
160
- Old | New
161
- :--|:--
162
- `s_text` | `text`
163
- `s_texts` | `texts`
164
- `first_s_text` | `first_text`
165
- `last_s_text` | `last_text`
166
- `s_text_exact` | `text_exact`
167
- `s_texts_exact` | `texts_exact`
168
-
169
- Other changes:
170
-
171
- Old | New
172
- :--|:--
173
- `press_for_duration` | `long_press`
174
- `current_context=` | `set_context`
175
- `name` | `find`