私はこのようなことを達成したいと思います。
Gmailアプリを開き、特定のメールを探し(スクロールも可能)、そのメールをクリックします。
以下の方法では、特定のメールを検索してクリックすることができます。
UI Automator/Ui Automator2:Recyclerビューの子UI要素をスクロールして見つけてください
public void openMailWithParticularTitle(){
UiObject2 obj = Utils.getDeviceInstance().findObject(By.res("com.google.android.gm:id/recycler_list_view"));
List<UiObject2> mails = obj.findObjects(By.clazz("android.view.View"));
for(int i =0; i<mails.size();i++){
if(mails.get(i).getContentDescription()!=null && mails.get(i).getContentDescription().contains("My Mail Link")){
mails.get(i).click();
break;
}
}
}
しかし、それだけで目に見えるアイテムを探し、子要素を探すためにスクロールしません。
私はこれを見回して試しましたが、何らかの理由でこれも機能していないようです。
public void scrollMailWithParticularTitle2() throws UiObjectNotFoundException {
openApp(Const.package_gmail_app,true);
UiScrollable settingsItem = new UiScrollable(new UiSelector()
.className("android.support.v7.widget.RecyclerView"));
UiObject about = settingsItem.getChildByText(new UiSelector()
.className("android.view.View"), "My Mail Link");
about.click();
}
すべてのヘルプ/提案をいただければ幸いです。 (Iは、UIテストの限られた知識をしました)
私の答えを見て、より良い提案をしてください。 – AnswerDroid