我是新手appium。如何在appium中查找元素
我正在學習購物應用自動化appium (Flipkart)。
我想選擇元素第五元素從「爲您推薦折扣」名單。
爲了做到這一點,我不得不使水平滾動伸手去找那個元素。但我有問題獲取該容器元素「爲您推薦的折扣」存在,因此我可以取5th element
。
我猜問題是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
到find elements
。這是UI的屏幕截圖。
我有以下問題:
- 什麼是找到的元素,如果所顯示的應用程序的UI最佳途徑。
- 我應該自動化哪個應用程序才能學習appium。
- 如何自動化應用程序是否UI的總是越來越變
請幫助!提前致謝。
如果有多個資源具有相同的resource_id,該怎麼辦?因爲我看到多個資源具有相同的resource_id – Ankur
在RecyclerView中,項目通常具有相同的resourceIds,因爲它們是相同的View。除非你使用獨特的項目來填充RecyclerView,這將違背RecyclerView的意圖。 – Daniel