Skip to content

Commit 1e7a4c3

Browse files
Update Android page to always output resource-ids
Fix #96
1 parent 920f52f commit 1e7a4c3

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

lib/appium_lib/android/helper.rb

+8-2
Original file line numberDiff line numberDiff line change
@@ -329,18 +329,24 @@ def run node
329329

330330
keys = node.keys
331331
return if keys.empty?
332+
if keys == %w(hierarchy)
333+
run_internal.call node['hierarchy']
334+
return
335+
end
332336

333337
n_content = '@content-desc'
334338
n_text = '@text'
335339
n_class = '@class'
336340
n_resource = '@resource-id'
337341
n_node = 'node'
338342

343+
# Store the object if it has a content description, text, or resource id.
344+
# If it only has a class, then don't save it.
339345
obj = {}
340346
obj.merge!( { desc: node[n_content] } ) if keys.include?(n_content) && !node[n_content].empty?
341347
obj.merge!( { text: node[n_text] } ) if keys.include?(n_text) && !node[n_text].empty?
348+
obj.merge!( { resource_id: node[n_resource] } ) if keys.include?(n_resource) && !node[n_resource].empty?
342349
obj.merge!( { class: node[n_class] } ) if keys.include?(n_class) && !obj.empty?
343-
obj.merge!( { resource_id: node[n_resource] } ) if keys.include?(n_resource) && !obj.empty?
344350

345351
r.push obj if !obj.empty?
346352
run_internal.call node[n_node] if keys.include?(n_node)
@@ -371,7 +377,7 @@ def run node
371377
out += " name: #{e_desc}\n" unless e_desc.nil?
372378
end
373379

374-
out += " resource_id: #{e_resource_id}\n" unless e_resource_id.nil?
380+
out += " resource_id: #{e_resource_id}\n" unless e_resource_id.nil? || e_resource_id.empty?
375381

376382
# there may be many ids with the same value.
377383
# output all exact matches.

0 commit comments

Comments
 (0)