|-Node #4 at (l=0.0, t=63.0, r=1080.0, b=2274.0)px IsTraversalGroup = 'true' |-Node #19 at (l=0.0, t=63.0, r=1080.0, b=2274.0)px | IsTraversalGroup = 'true' | VerticalScrollAxisRange = 'ScrollAxisRange(value=0.0, maxValue=0.0, reverseScrolling=false)' | Actions = [ScrollBy] | |-Node #22 at (l=42.0, t=620.0, r=1038.0, b=788.0)px | | ImeAction = 'Default' | | EditableText = '' | | TextSelectionRange = 'TextRange(0, 0)' | | Focused = 'false' | | ContentDescription = '[Email]' | | Text = '[Email]' | | Actions = [GetTextLayoutResult, SetText, …] | | MergeDescendants = 'true' | |-Node #34 at (l=42.0, t=809.0, r=1038.0, b=977.0)px | | ImeAction = 'Default' | | EditableText = '' | | TextSelectionRange = 'TextRange(0, 0)' | | Focused = 'false' | | ContentDescription = '[Password]' | | Text = '[Password]' | | [Password] | | Actions = [GetTextLayoutResult, SetText, …] | | MergeDescendants = 'true' | | |-Node #41 at (l=923.0, t=852.0, r=1028.0, b=957.0)px | | Role = 'Button' | | Focused = 'false' | | ContentDescription = '[Show password]' | | Actions = [OnClick, RequestFocus] | | MergeDescendants = 'true' | |-Node #48 at (l=42.0, t=1009.0, r=1038.0, b=1114.0)px | Focused = 'false' | Role = 'Button' | Text = '[LOGIN]' | Actions = [OnClick, RequestFocus, GetTextLayoutResult] | MergeDescendants = 'true' |-Node #7 at (l=0.0, t=63.0, r=1080.0, b=231.0)px IsTraversalGroup = 'true' |-Node #11 at (l=43.0, t=108.0, r=184.0, b=185.0)px Text = '[Login]' Actions = [GetTextLayoutResult] Node #1 at (l=0.0, t=63.0, r=1080.0, b=2274.0)px |-Node #4 at (l=0.0, t=63.0, r=1080.0, b=2274.0)px IsTraversalGroup = 'true' |-Node #19 at (l=0.0, t=63.0, r=1080.0, b=2274.0)px | IsTraversalGroup = 'true' | VerticalScrollAxisRange = 'ScrollAxisRange(value=0.0, maxValue=0.0, reverseScrolling=false)' | Actions = [ScrollBy] | |-Node #22 at (l=42.0, t=620.0, r=1038.0, b=788.0)px | | ImeAction = 'Default' | | EditableText = '' | | TextSelectionRange = 'TextRange(0, 0)' | | Focused = 'false' | | Actions = [GetTextLayoutResult, SetText, …] | | MergeDescendants = 'true' | | |-Node #23 at (l=42.0, t=641.0, r=1038.0, b=788.0)px | | |-Node #27 at (l=74.0, t=684.0, r=137.0, b=747.0)px | | | ContentDescription = '[Email]' | | | Role = 'Image' | | |-Node #32 at (l=179.0, t=686.0, r=291.0, b=743.0)px | | Text = '[Email]' | | Actions = [GetTextLayoutResult] | |-Node #34 at (l=42.0, t=809.0, r=1038.0, b=977.0)px | | ImeAction = 'Default' | | EditableText = '' | | TextSelectionRange = 'TextRange(0, 0)' | | Focused = 'false' | | [Password] | | Actions = [GetTextLayoutResult, SetText, …] | | MergeDescendants = 'true' | | |-Node #35 at (l=42.0, t=830.0, r=1038.0, b=977.0)px | | |-Node #39 at (l=74.0, t=873.0, r=137.0, b=936.0)px | | | ContentDescription = '[Password]' | | | Role = 'Image' | | |-Node #41 at (l=923.0, t=852.0, r=1028.0, b=957.0)px | | | Role = 'Button' | | | Focused = 'false' | | | Actions = [OnClick, RequestFocus] | | | MergeDescendants = 'true' | | | |-Node #42 at (l=944.0, t=873.0, r=1007.0, b=936.0)px | | | ContentDescription = '[Show password]' | | | Role = 'Image' | | |-Node #47 at (l=179.0, t=875.0, r=378.0, b=932.0)px | | Text = '[Password]' | | Actions = [GetTextLayoutResult] | |-Node #48 at (l=42.0, t=1009.0, r=1038.0, b=1114.0)px | Focused = 'false' | Role = 'Button' | Actions = [OnClick, RequestFocus] | MergeDescendants = 'true' | |-Node #52 at (l=497.0, t=1037.0, r=605.0, b=1086.0)px | Text = '[LOGIN]' | Actions = [GetTextLayoutResult] |-Node #7 at (l=0.0, t=63.0, r=1080.0, b=231.0)px IsTraversalGroup = 'true' |-Node #11 at (l=43.0, t=108.0, r=184.0, b=185.0)px Text = '[Login]' Actions = [GetTextLayoutResult] onRoot(useUnmergedTree = true) .printToLog("UNMERGED") onRoot() .printToLog("MERGED")