- id定位:元素id唯一,可以用此方法定位元素:
$写法:id=edu.yjyx.student:id/student_yj_lesson
a01.png-
name定位:元素name唯一,根据by_name('亿教课堂'),或者是 name=亿教课堂;
-
xpath(index)定位:元素name会改变且id不唯一,先从路径向上找一个唯一路径名,根据唯一路径名写出相对路径,使用索引方法定位根据元素对应索引数(从0开始):
$写法:xpath=//android.widget.GridView/android.widget.LinearLayout[contains(@index,0)]
a02.png- xpath(id)定位:name是可以用,但是name一旦发生变化,用例就不能用了,健壮性不够,所以采用id,但id却不唯一,这种情况下写出这个元素当前的class(就是xpath)及[@resource-id=’id名’],如果该路径有相同存在,需要加入角标区分(加入角标前xpath要用括号括起来,之前因为不注意,想了半天,没成想是没加括号,尴尬的一匹,注意里面的角标从1开始,而不像index从0开始)注:[1]代表这类控件的第1个,假如这层中他排在第二个控件,但第一个控件和它不是一类,那么它仍然为[1];
$写法:xpath=(//android.widget.TextView[@resource-id="edu.yjyx.student:id/content"])[1]
a04.png- xpath(text)定位:name唯一,可以使用xpath=//class名[@text=’name’]
$写法:xpath=//android.widget.TextView[@text="第一章 有理数"]
网友评论