gpt4 book ai didi

java - 如何在appium中查找元素

转载 作者:行者123 更新时间:2023-11-30 06:53:09 24 4
gpt4 key购买 nike

我是 appium 的新手。

我正在学习带有购物应用程序自动化的 appium (Flipkart)

我正在尝试从“为您推荐的折扣” 列表中选择元素第 5 个元素

为了做到这一点,我必须进行水平滚动以触及该元素。但是我在获取包含 "Recommended discount for You" 元素的容器元素时遇到问题,因此我可以获取 第 5 个元素

我想问题是 flipkart 的 UI 总是在变化。

   driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
Thread.sleep(3000);
driver.scrollToExact("Recommended Offers for You");
Thread.sleep(10000);
// Getting error on below line
AndroidElement ele = (AndroidElement) driver.findElement(By.xpath("//android.support.v7.widget.RecyclerView[@index='1']"));

for(int i=0;i<4;i++)
{
Thread.sleep(2000);
if (ele.findElement(By.xpath("android.widget.RelativeLayout[@index='2']")).isDisplayed())
{
ele.findElement(By.xpath("android.widget.RelativeLayout[@index='2']")).click();
break;
}
else
{
horizontalScroll(ele);
}

}

public void horizontalScroll(AndroidElement ele)
{
Dimension size=driver.manage().window().getSize();
int x_start=(int)(size.width*0.60);
int x_end=(int)(size.width*0.30);
int y=130;
ele.swipe(SwipeElementDirection.RIGHT,x_end,y,4000);
}

我正在使用 uiautomator查找元素。这是UI 的屏幕截图

enter image description here

我有以下问题:

  1. 如果应用的 UI 与显示的一样,查找元素的最佳方法是什么。
  2. 为了学习 appium,我应该自动化哪个应用程序。
  3. 如果应用的 UI 总是发生变化,如何使应用自动化

请帮忙!提前致谢。

最佳答案

  1. 在应用中定位元素的最佳(或者说最快)方法是使用 resource-id。如果 resource-id 不可用/相同,您必须使用 xpath

  2. 找到它
  3. 如果您想学习 Appium,您可以按照 Mukesh Otwani 的这些教程开始,这里是 link

  4. 如果 UI 不断更新,解决此问题的唯一方法是不断更新您的脚本。

希望对您有所帮助!

关于java - 如何在appium中查找元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37836017/

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