【问题标题】:Dynamic xpaths in AppiumAppium 中的动态 xpath
【发布时间】:2019-06-02 22:56:16
【问题描述】:

尝试自动化 Android 应用的测试。但是,这些元素没有附加任何 ID,只有 xpaths。这些xpaths 是动态的,可以根据屏幕大小和屏幕上的元素位置而变化。

我尝试使用 contains() 函数,但在某些情况下没有共同的提名者。这似乎也不是最可靠的方法。

例子:

/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.view.ViewGroup/android。 support.v4.widget.DrawerLayout/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[2]/android.view.ViewGroup/android.widget.ScrollView/android.view .ViewGroup/android.view.ViewGroup/android.view.ViewGroup[2]/android.view.ViewGroup/android.view.ViewGroup[4]

改成

/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.view.ViewGroup/android。 support.v4.widget.DrawerLayout/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[2]/android.view.ViewGroup/android.widget.ScrollView/android.view .ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[2]

在屏幕上向下滚动时。

最好和最可靠的解决方案是什么?相同的测试脚本应该在具有不同屏幕尺寸的多个设备上运行。

是否甚至建议在 Appium 中使用 xpath,或者我应该去找开发人员并要求每个元素的唯一 ID?

【问题讨论】:

  • 不推荐在 Appium 中使用 Xpath,最好使用唯一 ID,如果可用的话!!在联系开发者获取 ID 之前,您可以尝试 Appium Desktop。

标签: xpath appium


【解决方案1】:

不推荐使用 xpath。您必须要求您的开发人员为您要与之交互的每个元素设置唯一的 ID。

推荐的方式是使用

  • ID查找元素
  • 辅助功能 ID 查找元素

如果你想使用findElementByAccessibilityId(),你可以要求开发者在元素中加入唯一的cont-desc

MobileElemet element = driver.findElementByAccessibilityId("your cont-desc id")

或者如果您想使用 findElementById(),您可以要求开发人员在元素中添加唯一的 id

MobileElemet element = driver.findElementById("element's id")

您可以使用 Appium Desktop Inspectoruiautomatorviewer 验证应用元素是否包含 idcont-desc >

【讨论】:

    猜你喜欢
    • 2015-03-05
    • 2011-06-05
    • 1970-01-01
    • 2020-02-11
    • 2016-08-14
    • 2018-10-12
    • 1970-01-01
    • 1970-01-01
    • 2015-08-27
    相关资源
    最近更新 更多