私はappiumを初めて使っています。appiumの要素を見つける方法
私はショッピングアプリの自動化でappiumを学習しています(Flipkart)
要素を選択しようとしています第5要素「お勧め割引」リスト
これを行うには、その要素に到達するために水平スクロールを行わなければなりません。しかし、私は問題が"あなたのためのお勧め割引"の要素が存在するので、5th element
をフェッチすることができますそのコンテナ要素を取得しています。
私は問題がのフリップチャートの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);
}
私はfind elements
にuiautomator
を使用しています。 UIののスクリーンショットです。アプリのUIが表示されているようならば要素を見つけるための最善の方法は、
を取得している場合は、アプリを自動化する方法
同じresource_idを持つ複数のリソースがある場合はどうなりますか?同じresource_idを持つ複数のリソースが表示されているため – Ankur
RecyclerViewでは、アイテムは同じViewであるため、非常に一般的に同じresourceIdsを持ちます。一意のアイテムを使用してRecyclerViewを作成する場合を除き、RecyclerViewの意図に反するものではありません。 – Daniel