testa_appium_driver 0.1.1 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/.idea/inspectionProfiles/Project_Default.xml +8 -8
- data/.idea/runConfigurations/Android_Test.xml +41 -41
- data/.rspec +3 -3
- data/.rubocop.yml +13 -13
- data/CHANGELOG.md +5 -5
- data/CODE_OF_CONDUCT.md +102 -102
- data/Gemfile +12 -12
- data/LICENSE.txt +21 -21
- data/Rakefile +12 -12
- data/bin/console +17 -17
- data/bin/setup +8 -8
- data/lib/testa_appium_driver/android/class_selectors.rb +50 -0
- data/lib/testa_appium_driver/android/driver.rb +2 -1
- data/lib/testa_appium_driver/android/locator/attributes.rb +2 -2
- data/lib/testa_appium_driver/android/locator.rb +1 -1
- data/lib/testa_appium_driver/android/selenium_element.rb +1 -1
- data/lib/testa_appium_driver/common/locator/scroll_actions.rb +136 -58
- data/lib/testa_appium_driver/common/locator.rb +14 -7
- data/lib/testa_appium_driver/common/scroll_actions/w3c_scroll_actions.rb +12 -4
- data/lib/testa_appium_driver/common/scroll_actions.rb +30 -8
- data/lib/testa_appium_driver/common/selenium_element.rb +2 -2
- data/lib/testa_appium_driver/driver.rb +35 -12
- data/lib/testa_appium_driver/ios/driver.rb +1 -0
- data/lib/testa_appium_driver/ios/locator/attributes.rb +5 -3
- data/lib/testa_appium_driver/ios/locator.rb +3 -2
- data/lib/testa_appium_driver/version.rb +5 -5
- data/testa_appium_driver.gemspec +3 -2
- data/testa_appium_driver.iml +1 -1
- metadata +10 -8
data/Rakefile
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "bundler/gem_tasks"
|
4
|
-
require "rspec/core/rake_task"
|
5
|
-
|
6
|
-
RSpec::Core::RakeTask.new(:spec)
|
7
|
-
|
8
|
-
require "rubocop/rake_task"
|
9
|
-
|
10
|
-
RuboCop::RakeTask.new
|
11
|
-
|
12
|
-
task default: %i[spec rubocop]
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "bundler/gem_tasks"
|
4
|
+
require "rspec/core/rake_task"
|
5
|
+
|
6
|
+
RSpec::Core::RakeTask.new(:spec)
|
7
|
+
|
8
|
+
require "rubocop/rake_task"
|
9
|
+
|
10
|
+
RuboCop::RakeTask.new
|
11
|
+
|
12
|
+
task default: %i[spec rubocop]
|
data/bin/console
CHANGED
@@ -1,17 +1,17 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
require "bundler/setup"
|
5
|
-
|
6
|
-
#noinspection RubyResolve
|
7
|
-
require "testa_appium_driver"
|
8
|
-
|
9
|
-
# You can add fixtures and/or initialization code here to make experimenting
|
10
|
-
# with your gem easier. You can also use a different console, if you like.
|
11
|
-
|
12
|
-
# (If you use this, don't forget to add pry to your Gemfile!)
|
13
|
-
# require "pry"
|
14
|
-
# Pry.start
|
15
|
-
|
16
|
-
require "irb"
|
17
|
-
IRB.start(__FILE__)
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require "bundler/setup"
|
5
|
+
|
6
|
+
#noinspection RubyResolve
|
7
|
+
require "testa_appium_driver"
|
8
|
+
|
9
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
10
|
+
# with your gem easier. You can also use a different console, if you like.
|
11
|
+
|
12
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
13
|
+
# require "pry"
|
14
|
+
# Pry.start
|
15
|
+
|
16
|
+
require "irb"
|
17
|
+
IRB.start(__FILE__)
|
data/bin/setup
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
#!/usr/bin/env bash
|
2
|
-
set -euo pipefail
|
3
|
-
IFS=$'\n\t'
|
4
|
-
set -vx
|
5
|
-
|
6
|
-
bundle install
|
7
|
-
|
8
|
-
# Do any other automated setup that you need to do here
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
set -euo pipefail
|
3
|
+
IFS=$'\n\t'
|
4
|
+
set -vx
|
5
|
+
|
6
|
+
bundle install
|
7
|
+
|
8
|
+
# Do any other automated setup that you need to do here
|
@@ -20,12 +20,14 @@ module TestaAppiumDriver
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
+
# first element that match given selectors
|
23
24
|
# @param selectors [Hash]
|
24
25
|
# @return [TestaAppiumDriver::Locator] first element
|
25
26
|
def element(selectors = {})
|
26
27
|
add_selector(selectors)
|
27
28
|
end
|
28
29
|
|
30
|
+
# all elements that match given selectors
|
29
31
|
# @param params [Hash]
|
30
32
|
# @return [TestaAppiumDriver::Locator] all elements that match given selectors
|
31
33
|
def elements(params = {})
|
@@ -34,6 +36,7 @@ module TestaAppiumDriver
|
|
34
36
|
end
|
35
37
|
|
36
38
|
|
39
|
+
# first element that has scrollable: true
|
37
40
|
# @param selectors [Hash]
|
38
41
|
# @return [TestaAppiumDriver::Locator] first scrollable element
|
39
42
|
def scrollable(selectors = {})
|
@@ -41,6 +44,7 @@ module TestaAppiumDriver
|
|
41
44
|
add_selector(selectors)
|
42
45
|
end
|
43
46
|
|
47
|
+
# all elements that have scrollable: true
|
44
48
|
# @param params [Hash]
|
45
49
|
# @return [TestaAppiumDriver::Locator] first scrollable element
|
46
50
|
def scrollables(params = {})
|
@@ -50,12 +54,14 @@ module TestaAppiumDriver
|
|
50
54
|
end
|
51
55
|
|
52
56
|
|
57
|
+
# first android.widget.ImageView element that match given selectors
|
53
58
|
# @return [TestaAppiumDriver::Locator]
|
54
59
|
def image_view(params = {})
|
55
60
|
params[:class] = "android.widget.ImageView"
|
56
61
|
add_selector(params)
|
57
62
|
end
|
58
63
|
|
64
|
+
# all android.widget.ImageView elements that match given selectors
|
59
65
|
# @return [TestaAppiumDriver::Locator]
|
60
66
|
def image_views(params = {})
|
61
67
|
params[:class] = "android.widget.ImageView"
|
@@ -63,12 +69,14 @@ module TestaAppiumDriver
|
|
63
69
|
add_selector(params)
|
64
70
|
end
|
65
71
|
|
72
|
+
# first android.widget.FrameLayout element that match given selectors
|
66
73
|
# @return [TestaAppiumDriver::Locator]
|
67
74
|
def frame_layout(params = {})
|
68
75
|
params[:class] = "android.widget.FrameLayout"
|
69
76
|
add_selector(params)
|
70
77
|
end
|
71
78
|
|
79
|
+
# all android.widget.FrameLayout elements that match given selectors
|
72
80
|
# @return [TestaAppiumDriver::Locator]
|
73
81
|
def frame_layouts(params = {})
|
74
82
|
params[:class] = "android.widget.FrameLayout"
|
@@ -76,12 +84,14 @@ module TestaAppiumDriver
|
|
76
84
|
add_selector(params)
|
77
85
|
end
|
78
86
|
|
87
|
+
# first android.widget.LinearLayout element that match given selectors
|
79
88
|
# @return [TestaAppiumDriver::Locator]
|
80
89
|
def linear_layout(params = {})
|
81
90
|
params[:class] = "android.widget.LinearLayout"
|
82
91
|
add_selector(params)
|
83
92
|
end
|
84
93
|
|
94
|
+
# all android.widget.LinearLayout elements that match given selectors
|
85
95
|
# @return [TestaAppiumDriver::Locator]
|
86
96
|
def linear_layouts(params = {})
|
87
97
|
params[:class] = "android.widget.LinearLayout"
|
@@ -89,12 +99,14 @@ module TestaAppiumDriver
|
|
89
99
|
add_selector(params)
|
90
100
|
end
|
91
101
|
|
102
|
+
# first android.view.View element that match given selectors
|
92
103
|
# @return [TestaAppiumDriver::Locator]
|
93
104
|
def view(params = {})
|
94
105
|
params[:class] = "android.view.View"
|
95
106
|
add_selector(params)
|
96
107
|
end
|
97
108
|
|
109
|
+
# all android.view.View elements that match given selectors
|
98
110
|
# @return [TestaAppiumDriver::Locator]
|
99
111
|
def views(params = {})
|
100
112
|
params[:class] = "android.view.View"
|
@@ -102,12 +114,14 @@ module TestaAppiumDriver
|
|
102
114
|
add_selector(params)
|
103
115
|
end
|
104
116
|
|
117
|
+
# first android.widget.EditText element that match given selectors
|
105
118
|
# @return [TestaAppiumDriver::Locator]
|
106
119
|
def edit_text(params = {})
|
107
120
|
params[:class] = "android.widget.EditText"
|
108
121
|
add_selector(params)
|
109
122
|
end
|
110
123
|
|
124
|
+
# all android.widget.EditText elements that match given selectors
|
111
125
|
# @return [TestaAppiumDriver::Locator]
|
112
126
|
def edit_texts(params = {})
|
113
127
|
params[:class] = "android.widget.EditText"
|
@@ -115,12 +129,14 @@ module TestaAppiumDriver
|
|
115
129
|
add_selector(params)
|
116
130
|
end
|
117
131
|
|
132
|
+
# first android.widget.ViewGroup element that match given selectors
|
118
133
|
# @return [TestaAppiumDriver::Locator]
|
119
134
|
def view_group(params = {})
|
120
135
|
params[:class] = "android.widget.ViewGroup"
|
121
136
|
add_selector(params)
|
122
137
|
end
|
123
138
|
|
139
|
+
# all android.widget.ViewGroup elements that match given selectors
|
124
140
|
# @return [TestaAppiumDriver::Locator]
|
125
141
|
def view_groups(params = {})
|
126
142
|
params[:class] = "android.widget.ViewGroup"
|
@@ -128,12 +144,14 @@ module TestaAppiumDriver
|
|
128
144
|
add_selector(params)
|
129
145
|
end
|
130
146
|
|
147
|
+
# first android.widget.RelativeLayout element that match given selecotrs
|
131
148
|
# @return [TestaAppiumDriver::Locator]
|
132
149
|
def relative_layout(params = {})
|
133
150
|
params[:class] = "android.widget.RelativeLayout"
|
134
151
|
add_selector(params)
|
135
152
|
end
|
136
153
|
|
154
|
+
# all android.widget.RelativeLayout elements that match given selectors
|
137
155
|
# @return [TestaAppiumDriver::Locator]
|
138
156
|
def relative_layouts(params = {})
|
139
157
|
params[:class] = "android.widget.RelativeLayout"
|
@@ -141,12 +159,14 @@ module TestaAppiumDriver
|
|
141
159
|
add_selector(params)
|
142
160
|
end
|
143
161
|
|
162
|
+
# first androidx.recyclerview.widget.RecyclerView element that match given selectors
|
144
163
|
# @return [TestaAppiumDriver::Locator]
|
145
164
|
def recycler_view(params = {})
|
146
165
|
params[:class] = "androidx.recyclerview.widget.RecyclerView"
|
147
166
|
add_selector(params)
|
148
167
|
end
|
149
168
|
|
169
|
+
# all androidx.recyclerview.widget.RecyclerView elements that match given selectors
|
150
170
|
# @return [TestaAppiumDriver::Locator]
|
151
171
|
def recycler_views(params = {})
|
152
172
|
params[:class] = "androidx.recyclerview.widget.RecyclerView"
|
@@ -154,12 +174,14 @@ module TestaAppiumDriver
|
|
154
174
|
add_selector(params)
|
155
175
|
end
|
156
176
|
|
177
|
+
# first android.widget.Button element that match given selectors
|
157
178
|
# @return [TestaAppiumDriver::Locator]
|
158
179
|
def button(params = {})
|
159
180
|
params[:class] = "android.widget.Button"
|
160
181
|
add_selector(params)
|
161
182
|
end
|
162
183
|
|
184
|
+
# all android.widget.Button elements that match given selectors
|
163
185
|
# @return [TestaAppiumDriver::Locator]
|
164
186
|
def buttons(params = {})
|
165
187
|
params[:class] = "android.widget.Button"
|
@@ -167,12 +189,14 @@ module TestaAppiumDriver
|
|
167
189
|
add_selector(params)
|
168
190
|
end
|
169
191
|
|
192
|
+
# first android.widget.ImageButton element that match given selectors
|
170
193
|
# @return [TestaAppiumDriver::Locator]
|
171
194
|
def image_button(params = {})
|
172
195
|
params[:class] = "android.widget.ImageButton"
|
173
196
|
add_selector(params)
|
174
197
|
end
|
175
198
|
|
199
|
+
# all android.widget.ImageButton elements that match given selectors
|
176
200
|
# @return [TestaAppiumDriver::Locator]
|
177
201
|
def image_buttons(params = {})
|
178
202
|
params[:class] = "android.widget.ImageButton"
|
@@ -180,12 +204,14 @@ module TestaAppiumDriver
|
|
180
204
|
add_selector(params)
|
181
205
|
end
|
182
206
|
|
207
|
+
# first android.widget.HorizontalScrollView element that match given selectors
|
183
208
|
# @return [TestaAppiumDriver::Locator]
|
184
209
|
def horizontal_scroll_view(params = {})
|
185
210
|
params[:class] = "android.widget.HorizontalScrollView"
|
186
211
|
add_selector(params)
|
187
212
|
end
|
188
213
|
|
214
|
+
# all android.widget.HorizontalScrollView elements that match given selectors
|
189
215
|
# @return [TestaAppiumDriver::Locator]
|
190
216
|
def horizontal_scroll_views(params = {})
|
191
217
|
params[:class] = "android.widget.HorizontalScrollView"
|
@@ -193,12 +219,14 @@ module TestaAppiumDriver
|
|
193
219
|
add_selector(params)
|
194
220
|
end
|
195
221
|
|
222
|
+
# first android.widget.ScrollView element that match given selectors
|
196
223
|
# @return [TestaAppiumDriver::Locator]
|
197
224
|
def scroll_view(params = {})
|
198
225
|
params[:class] = "android.widget.ScrollView"
|
199
226
|
add_selector(params)
|
200
227
|
end
|
201
228
|
|
229
|
+
# all android.widget.ScrollView elements that match given selectors
|
202
230
|
# @return [TestaAppiumDriver::Locator]
|
203
231
|
def scroll_views(params = {})
|
204
232
|
params[:class] = "android.widget.ScrollView"
|
@@ -206,12 +234,14 @@ module TestaAppiumDriver
|
|
206
234
|
add_selector(params)
|
207
235
|
end
|
208
236
|
|
237
|
+
# first viewpager.widget.ViewPager element that match given selectors
|
209
238
|
# @return [TestaAppiumDriver::Locator]
|
210
239
|
def view_pager(params = {})
|
211
240
|
params[:class] = "androidx.viewpager.widget.ViewPager"
|
212
241
|
add_selector(params)
|
213
242
|
end
|
214
243
|
|
244
|
+
# all viewpager.widget.ViewPager elements that match given selectors
|
215
245
|
# @return [TestaAppiumDriver::Locator]
|
216
246
|
def view_pagers(params = {})
|
217
247
|
params[:class] = "androidx.viewpager.widget.ViewPager"
|
@@ -219,12 +249,14 @@ module TestaAppiumDriver
|
|
219
249
|
add_selector(params)
|
220
250
|
end
|
221
251
|
|
252
|
+
# first android.widget.CheckBox element that match given selectors
|
222
253
|
# @return [TestaAppiumDriver::Locator]
|
223
254
|
def check_box(params = {})
|
224
255
|
params[:class] = "android.widget.CheckBox"
|
225
256
|
add_selector(params)
|
226
257
|
end
|
227
258
|
|
259
|
+
# all android.widget.CheckBox elements that match given selectors
|
228
260
|
# @return [TestaAppiumDriver::Locator]
|
229
261
|
def check_boxes(params = {})
|
230
262
|
params[:class] = "android.widget.CheckBox"
|
@@ -232,12 +264,14 @@ module TestaAppiumDriver
|
|
232
264
|
add_selector(params)
|
233
265
|
end
|
234
266
|
|
267
|
+
# first android.widget.ListView element that match given selectors
|
235
268
|
# @return [TestaAppiumDriver::Locator]
|
236
269
|
def list_view(params = {})
|
237
270
|
params[:class] = "android.widget.ListView"
|
238
271
|
add_selector(params)
|
239
272
|
end
|
240
273
|
|
274
|
+
# all android.widget.ListView elements that match given selectors
|
241
275
|
# @return [TestaAppiumDriver::Locator]
|
242
276
|
def list_views(params = {})
|
243
277
|
params[:class] = "android.widget.ListView"
|
@@ -245,12 +279,14 @@ module TestaAppiumDriver
|
|
245
279
|
add_selector(params)
|
246
280
|
end
|
247
281
|
|
282
|
+
# first android.widget.ProgressBar element that match given selectors
|
248
283
|
# @return [TestaAppiumDriver::Locator]
|
249
284
|
def progress_bar(params = {})
|
250
285
|
params[:class] = "android.widget.ProgressBar"
|
251
286
|
add_selector(params)
|
252
287
|
end
|
253
288
|
|
289
|
+
# all android.widget.ProgressBar elements that match given selectors
|
254
290
|
# @return [TestaAppiumDriver::Locator]
|
255
291
|
def progress_bars(params = {})
|
256
292
|
params[:class] = "android.widget.ProgressBar"
|
@@ -258,12 +294,14 @@ module TestaAppiumDriver
|
|
258
294
|
add_selector(params)
|
259
295
|
end
|
260
296
|
|
297
|
+
# first android.widget.RadioButton element that match given selectors
|
261
298
|
# @return [TestaAppiumDriver::Locator]
|
262
299
|
def radio_button(params = {})
|
263
300
|
params[:class] = "android.widget.RadioButton"
|
264
301
|
add_selector(params)
|
265
302
|
end
|
266
303
|
|
304
|
+
# all android.widget.RadioButton elements that match given selectors
|
267
305
|
# @return [TestaAppiumDriver::Locator]
|
268
306
|
def radio_buttons(params = {})
|
269
307
|
params[:class] = "android.widget.RadioButton"
|
@@ -271,12 +309,14 @@ module TestaAppiumDriver
|
|
271
309
|
add_selector(params)
|
272
310
|
end
|
273
311
|
|
312
|
+
# first android.widget.RadioGroup element that match given selectors
|
274
313
|
# @return [TestaAppiumDriver::Locator]
|
275
314
|
def radio_group(params = {})
|
276
315
|
params[:class] = "android.widget.RadioGroup"
|
277
316
|
add_selector(params)
|
278
317
|
end
|
279
318
|
|
319
|
+
# all android.widget.RadioGroup elements that match given selectors
|
280
320
|
# @return [TestaAppiumDriver::Locator]
|
281
321
|
def radio_groups(params = {})
|
282
322
|
params[:class] = "android.widget.RadioGroup"
|
@@ -284,12 +324,14 @@ module TestaAppiumDriver
|
|
284
324
|
add_selector(params)
|
285
325
|
end
|
286
326
|
|
327
|
+
# first android.widget.SearchView element that match given selectors
|
287
328
|
# @return [TestaAppiumDriver::Locator]
|
288
329
|
def search_view(params = {})
|
289
330
|
params[:class] = "android.widget.SearchView"
|
290
331
|
add_selector(params)
|
291
332
|
end
|
292
333
|
|
334
|
+
# all android.widget.SearchView elements that match given selectors
|
293
335
|
# @return [TestaAppiumDriver::Locator]
|
294
336
|
def search_views(params = {})
|
295
337
|
params[:class] = "android.widget.SearchView"
|
@@ -297,12 +339,14 @@ module TestaAppiumDriver
|
|
297
339
|
add_selector(params)
|
298
340
|
end
|
299
341
|
|
342
|
+
# first android.widget.Spinner element that match given selectors
|
300
343
|
# @return [TestaAppiumDriver::Locator]
|
301
344
|
def spinner(params = {})
|
302
345
|
params[:class] = "android.widget.Spinner"
|
303
346
|
add_selector(params)
|
304
347
|
end
|
305
348
|
|
349
|
+
# all android.widget.Spinner elements that match given selectors
|
306
350
|
# @return [TestaAppiumDriver::Locator]
|
307
351
|
def spinners(params = {})
|
308
352
|
params[:class] = "android.widget.Spinner"
|
@@ -310,12 +354,14 @@ module TestaAppiumDriver
|
|
310
354
|
add_selector(params)
|
311
355
|
end
|
312
356
|
|
357
|
+
# first android.widget.Toast element that match given selectors
|
313
358
|
# @return [TestaAppiumDriver::Locator]
|
314
359
|
def toast(params = {})
|
315
360
|
params[:class] = "android.widget.Toast"
|
316
361
|
add_selector(params)
|
317
362
|
end
|
318
363
|
|
364
|
+
# all android.widget.Toast elements that match given selectors
|
319
365
|
# @return [TestaAppiumDriver::Locator]
|
320
366
|
def toasts(params = {})
|
321
367
|
params[:class] = "android.widget.Toast"
|
@@ -323,12 +369,14 @@ module TestaAppiumDriver
|
|
323
369
|
add_selector(params)
|
324
370
|
end
|
325
371
|
|
372
|
+
# first android.widget.Toolbar element that match given selectors
|
326
373
|
# @return [TestaAppiumDriver::Locator]
|
327
374
|
def toolbar(params = {})
|
328
375
|
params[:class] = "android.widget.Toolbar"
|
329
376
|
add_selector(params)
|
330
377
|
end
|
331
378
|
|
379
|
+
# all android.widget.Toolbar elements that match given selectors
|
332
380
|
# @return [TestaAppiumDriver::Locator]
|
333
381
|
def toolbars(params = {})
|
334
382
|
params[:class] = "android.widget.Toolbar"
|
@@ -336,12 +384,14 @@ module TestaAppiumDriver
|
|
336
384
|
add_selector(params)
|
337
385
|
end
|
338
386
|
|
387
|
+
# first android.widget.TextView element that match given selectors
|
339
388
|
# @return [TestaAppiumDriver::Locator]
|
340
389
|
def text_view(params = {})
|
341
390
|
params[:class] = "android.widget.TextView"
|
342
391
|
add_selector(params)
|
343
392
|
end
|
344
393
|
|
394
|
+
# all android.widget.TextView elements that match given selectors
|
345
395
|
# @return [TestaAppiumDriver::Locator]
|
346
396
|
def text_views(params = {})
|
347
397
|
params[:class] = "android.widget.TextView"
|
@@ -8,11 +8,11 @@ module TestaAppiumDriver
|
|
8
8
|
include ClassSelectors
|
9
9
|
|
10
10
|
|
11
|
+
# executes shell command
|
11
12
|
# @param [String] command Shell command name to execute for example echo or rm
|
12
13
|
# @param [Array<String>] args Array of command arguments, example: ['-f', '/sdcard/my_file.txt']
|
13
14
|
# @param [Integer] timeout Command timeout in milliseconds. If the command blocks for longer than this timeout then an exception is going to be thrown. The default timeout is 20000 ms
|
14
15
|
# @param [Boolean] includeStderr Whether to include stderr stream into the returned result.
|
15
|
-
#noinspection RubyParameterNamingConvention
|
16
16
|
def shell(command, args: nil, timeout: nil, includeStderr: true)
|
17
17
|
params = {
|
18
18
|
command: command,
|
@@ -24,6 +24,7 @@ module TestaAppiumDriver
|
|
24
24
|
end
|
25
25
|
|
26
26
|
|
27
|
+
private
|
27
28
|
def handle_testa_opts
|
28
29
|
if @testa_opts[:default_find_strategy].nil?
|
29
30
|
@default_find_strategy = DEFAULT_ANDROID_FIND_STRATEGY
|