gpt4 book ai didi

java - 在 appium studio 上找到的元素不适用于 appium 独立服务器,反之亦然

转载 作者:太空宇宙 更新时间:2023-11-04 09:25:52 24 4
gpt4 key购买 nike

我通过桌面检查器捕获的元素无法在 appium studio 上工作,并且当我通过 appium 独立服务器运行时工作正常?

-这背后有什么原因吗?

-如果我从任何可以工作的地方捕获元素,无论任何服务器如何,有什么解决方案吗?

-如何编写下面代码的相对xpath?

/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/androidx.drawerlayout.widget.DrawerLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[1]/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.view.ViewGroup[1]

我正在使用 appium 自动化应用程序,因此通过桌面检查器我捕获了一些元素。当我运行代码时,它工作正常。但对于 xpath,我使用了 appium studio,因为在桌面检查器中它是绝对的 xpath,而且相当长。但是当我在 appium studio 上执行这个脚本时失败了,但它在 appium 独立服务器上运行良好。当我通过 appium studio 找到该元素并尝试在 appium 上运行时,发生了同样的事情。

-捕获的元素无法在两个服务器上运行?

//appium工作室

driver.findElement(By.xpath("//*[@id='action_contacts']")).click();-- 

id -action_contacts
resource id - com.appName.chatapp:id/action_contacts
class - android.widget.FrameLayout

//桌面检查器

driver.findElement(By.id("Contacts")).click();

accessibility id Contacts
id com.appName.chatapp:id/action_contacts
xpath //android.widget.FrameLayout[@content-desc="Contacts"]

使用给定的搜索参数无法在页面上找到元素。

最佳答案

正确的定位器是:

  1. ID :driver.findElement(By.id("action_contacts")).click();
  2. XPath : driver.findElement(By.xpath("//*[contains(@id,'action_contacts')]")).click();,需要使用contains() function为了匹配部分文本。

关于java - 在 appium studio 上找到的元素不适用于 appium 独立服务器,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57719996/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com