Hey guys,
is there a way to access UIAelement via appium? We're using it in combination with Selenium WebDriver, Serenity BDD, Cucumber in Java.
This is the depth of page source via appium:
<UIAScrollView name="" label="" value="" dom="" enabled="true" valid="true" visible="true" hint="" path="/0/0/1" x="0" y="20" width="375" height="647">
<UIAElement name=" Some Name #1 $2.150,00" label=" Some Name #1 $2.150,00" value="" dom="" enabled="true" valid="true" visible="true" hint="" path="/0/0/1/0" x="0" y="64" width="375" height="360">
</UIAElement>
<UIAElement name=" Some Name #2 $250,00" label=" Some Name #2 $250,00" value="" dom="" enabled="true" valid="true" visible="true" hint="" path="/0/0/1/1" x="0" y="424" width="375" height="460">
</UIAElement>
<UIAElement name=" Some Name #3 $299,00" label=" Some Name #3 $299,00" value="" dom="" enabled="true" valid="true" visible="false" hint="" path="/0/0/1/2" x="0" y="884" width="375" height="560">
</UIAElement>
<UIAElement name=" Some Name #4 $150,00" label=" Some Name #4 $150,00" value="" dom="" enabled="true" valid="true" visible="false" hint="" path="/0/0/1/3" x="0" y="1444" width="375" height="510">
</UIAElement>
<UIAElement name=" Some Name #5 $1.150,00" label=" Some Name #5 $1.150,00" value="" dom="" enabled="true" valid="true" visible="false" hint="" path="/0/0/1/4" x="0" y="1954" width="375" height="610">
</UIAElement>
<UIAElement name=" Some Name #6 $389,00" label=" Some Name #6 $389,00" value="" dom="" enabled="true" valid="true" visible="false" hint="" path="/0/0/1/5" x="0" y="2564" width="375" height="410">
</UIAElement>
<UIAImage name="" label="" value="" dom="" enabled="true" valid="true" visible="false" hint="" path="/0/0/1/6" x="369.5" y="67" width="2.5" height="548">
</UIAImage>
<UIAImage name="" label="" value="" dom="" enabled="true" valid="true" visible="false" hint="" path="/0/0/1/7" x="3" y="612.5" width="369" height="2.5">
</UIAImage>
</UIAScrollView>
By using Calabash I'm getting more detailed information:
[
26
]{
"alpha"=>1,
"enabled"=>true,
"id"=>nil,
"visible"=>1,
"frame"=>{
"y"=>0,
"x"=>-40,
"width"=>400,
"height"=>300
},
"accessibilityElement"=>false,
"class"=>"RCTView",
"label"=>"",
"description"=>"<RCTView: 0x7f8eb3edb910; reactTag: 18; frame = (-40 0; 400 300); layer = <CALayer: 0x7f8eb3eb25c0>>",
"value"=>nil,
"rect"=>{
"y"=>64,
"center_x"=>160,
"center_y"=>214,
"x"=>-40,
"width"=>400,
"height"=>300
}
},
[
27
]{
"alpha"=>1,
"enabled"=>true,
"id"=>nil,
"visible"=>1,
"frame"=>{
"y"=>0,
"x"=>0,
"width"=>400,
"height"=>300
},
"accessibilityElement"=>false,
"class"=>"RCTImageView",
"label"=>nil,
"description"=>"<RCTImageView: 0x7f8eb3edbb10; baseClass = UIImageView; frame = (0 0; 400 300); clipsToBounds = YES; opaque = NO; layer = <CALayer: 0x7f8eb3e2f2d0>> - (null)",
"value"=>nil,
"rect"=>{
"y"=>64,
"center_x"=>160,
"center_y"=>214,
"x"=>-40,
"width"=>400,
"height"=>300
}
},
[
28
]{
"alpha"=>1,
"enabled"=>true,
"id"=>nil,
"visible"=>1,
"frame"=>{
"y"=>310,
"x"=>111.5,
"width"=>97.5,
"height"=>17
},
"accessibilityElement"=>true,
"class"=>"RCTText",
"label"=>"Some Name #1",
"description"=>"<RCTText: 0x7f8eb3edc690; reactTag: 20; text: Some Name #1 frame = (111.5 310; 97.5 17); opaque = NO; layer = <CALayer: 0x7f8eb3e79910>>",
"value"=>nil,
"rect"=>{
"y"=>374,
"center_x"=>160.25,
"center_y"=>382.5,
"x"=>111.5,
"width"=>97.5,
"height"=>17
}
},
[
29
]{
"alpha"=>1,
"enabled"=>true,
"id"=>nil,
"visible"=>1,
"frame"=>{
"y"=>333,
"x"=>128,
"width"=>64.5,
"height"=>17
},
"accessibilityElement"=>true,
"class"=>"RCTText",
"label"=>"$2.150,00",
"description"=>"<RCTText: 0x7f8eb3edd8d0; reactTag: 23; text: $2.150,00 frame = (128 333; 64.5 17); opaque = NO; layer = <CALayer: 0x7f8eb3e822e0>>",
"value"=>nil,
"rect"=>{
"y"=>397,
"center_x"=>160.25,
"center_y"=>405.5,
"x"=>128,
"width"=>64.5,
"height"=>17
}
},
Is there a possibility to get access to these elements via appium as well or do we have to change to Calabash (as well according speed issues, cli etc.)?
Kindly,
Andreas