appium自动化中元素定位碰到的问题一

Alanxz 2020-05-28

今天在练习appium自动化时,碰到一个问题。

xpath=//android......./android.widget.LinearLayout[5]/android.widget.LinearLayout[2]/...............t/android.widget.EditText

1,首先:xpath定位的时候,数字是从1开始计算的,不是从0开始计算的。

上面例子中的“5”和“2”,表示:第五个和第二个。哪怕前端代码中显示是第4列,但是我们要知道是第五个。因为前端代码是从0开始计算的。

2,appium中的xpath定位,是用的class的属性值来定位的。

不是标签名。注意,这里与selenium的区别。

3,就是到底是第几行,要看清前面几行的class值是否一样。

0 android.widget.LinearLayout     classA

1 android.widget.LinearLayout     classB

2 android.widget.EditText             classC

3 android.widget.LinearLayout     classD

如果按照我第一点的内容,此时定位classD 的时候,就是android.widget.LinearLayout[4]了,

但是实际应该是:android.widget.LinearLayout[3]

因为:classB的值不一样,所以不能统计进去。

这个点也是容易犯错误的地方,希望大家能理解我写的意思。

相关推荐