Использование Appium Android Native - как прокрутить вниз и выбрать нужный элемент на экране? - PullRequest
0 голосов
/ 15 апреля 2019

Среда:

  • Java-клиент Appium v7.0.0
  • plattformName: Android
  • deviceName: Android Emulator
  • платформа Версия: 8.1.0
  • appPackage: com.makemytrip
  • appActivity: com.mmt.travel.app.home.ui.SplashActivity
  • Java-клиент Selenium v3.141.59
  • Eclipse IDE для разработчиков Java v2018-09 (4.9.0)

Я пытаюсь запустить свой сценарий поиска рейса в Eclipse с использованием Java для тестирования собственного приложения Android.Чтобы выбрать дату от 16 сентября 2019 года и дату 20 октября 2019 года. Я написал следующие строки кода:

String fromStr = "August 2019";

driver.findElementByAndroidUIAutomator("new UiScrollable(new UiSelector().scrollable(true).instance(0)).scrollIntoView(new UiSelector().text(\""+fromStr+"\").instance(0))");

String fromDate = "16";

List<WebElement> date = driver.findElements(By.id("com.makemytrip:id/calendar_day"));

for (int j=0; j<date.size(); j++) {

if (date.get(j).getText().equals(fromDate)) {
date.get(j).click();
System.out.println("Date selected is: "+fromDate);
break;
    }
}

String toStr = "September 2019";

driver.findElementByAndroidUIAutomator("new UiScrollable(new UiSelector().scrollable(true).instance(0)).scrollIntoView(new UiSelector().text(\""+toStr+"\").instance(0))");

//Selecting To date in a calendar
String toDate = "20";

date = driver.findElements(By.id("com.makemytrip:id/calendar_day"));

for (int k=0; k<date.size(); k++) {

  if (date.get(k).getText().equals(toDate)) {
 date.get(k).click();
     System.out.println("Date selected is: "+toDate);
 break;
  }
}

Когда я запускаю свой код каждый раз, когда он прокручивается вниз по сравнению с текущим месяцем (т.е.Апрель 2019) и останавливается в неправильный месяц (например, июнь 2019 / июль 2019) и выбирает дату (например, 16 и 20) того же месяца.

что я делаю не так?

...