我正在尝试自动化应用。我发现使用xpath的元素很少。在棉花糖设备中,元素无法使用xpath在kitkat /棒棒糖设备中正常工作。例如,在 KitKat / lollipop 中, xpath 包含视图; marshmallow中的相同xpath而不是view作为Viewgroup 。如何为所有版本提供相同的xpath?
以下是kitkat和marshmallow中相同元素的xpath:
在kitkat中:xPath是 //android.widget.LinearLayout[1]/android.widget.FrameLayout [1] /android.widget.Fr ameLayout [1] / android .view.View [1] / androi d.view.View [1] /雄id.view.View [1] /安德烈oid.view.View [1] /和roid.view.View [1 ] /一个droid.support.v4.wid get.DrawerLayout [1] / android.view.View [1] /android.view.View[2] /android.widget.Scr ollView [ 1] /android.v iew.View [1] /android.tidget.ScrollView [1] /android.view.View [1] /android.view.View [1]
在Marshmallow :(对于相同的元素xpath如下) //android.widget.LinearLayout[1]/android.widget.FrameLayout[1] /android.widget.Fr ameLayout [1] /机器人.view.ViewGroup [1] /一个ndroid.view.ViewGrou p [1] /android.view.Vi ewGroup [1] /android.v iew.ViewGroup [1] /和roid.view.ViewGroup [1] /android.support.v 4.widget.DrawerLayou吨[1] /android.view.Vi ewGroup [1] /android.v iew.ViewGroup [2 ] /和roid.widget.ScrollVi EW [1] /android.view.V iewGroup [1] /android. widget.ScrollView [1] /android.view.ViewGr OUP [1] / android.view.的ViewGroup [1]
答案 0 :(得分:0)
如果您使用RELATIVE XPATH,您的xpath将适用于所有操作系统版本。
你正在使用绝对xpath 这是非常糟糕的做法。始终建议使用相对xpath 。
您可以阅读有关相对和绝对xpath here
的更多信息