Я пытаюсь получить и сохранить список данных года в переменной списка, но не могу сохранить все данные.
И в то же время я такжехочу выполнить поиск определенного года, а если год не будет найден, я хочу прокрутить и выполнить поиск снова в списке.
Я также прилагаю скриншот своих элементов в приложении.
Это мой код для хранения и поиска списка записей в переменной списка
public void fetchVehicleListAndClickOnYear(String year) {
java.util.List<MobileElement> vehicleList =driver.findElementsById(packageName+":id/title");
for (int i=0;i<= vehicleList.size();i++) {
String actuallist = vehicleList.get(i).getText();
System.out.println("Print vehicle year list " +actuallist);
if(actuallist.equals(year)) {
driver.findElementByName(year).click();
} else {
Utils.scrollDown(driver);
}
}
}
public void fillVehicleInfoOnSignup(String Vehicle_Year) {
vehicleYearTextBox.click();
Utils.PauseTestExecution(2);
fetchVehicleListAndClickOnYear(Vehicle_Year);
}
For scrolling code
public static void scrollDown(AndroidDriver<MobileElement> driver) {
//if pressX was zero it didn't work for me
int pressX = driver.manage().window().getSize().width / 2;
// 4/5 of the screen as the bottom finger-press point
int bottomY = driver.manage().window().getSize().height * 4/5;
// just non zero point, as it didn't scroll to zero normally
int topY = driver.manage().window().getSize().height / 8;
//scroll with TouchAction by itself
scroll(pressX, bottomY, pressX, topY,driver);
}
public static void scroll(int fromX, int fromY, int toX, int toY,AndroidDriver<MobileElement> driver) {
TouchAction touchAction = new TouchAction(driver);
new TouchAction(driver).press(PointOption.point(fromX, fromY)).waitAction().moveTo(PointOption.point(toX, toY)).release().perform();
}
Ошибка при отображении
ПРЕДУПРЕЖДЕНИЕ: произошла недопустимая операция доступа с отражением ПРЕДУПРЕЖДЕНИЕ: незаконный доступ с отражением по net.sf.cglib.core.ReflectUtils $ 1 (файл: /Users/daffolapmac-73/eclipse-workspace/Wapanda_Driver_Automation/libfiles/cglib-3.2.8.jar) для метода java.lang.ClassLoader.defineClass (java.lang.[], int, int, java.security.ProtectionDomain) ПРЕДУПРЕЖДЕНИЕ: рассмотрите возможность сообщения об этом сопровождающим net.sf.cglib.core.ReflectUtils $ 1. ПРЕДУПРЕЖДЕНИЕ. Используйте --illegal-access = warn, чтобы включить предупреждения о дальнейших действиях.операции легального рефлексивного доступа ПРЕДУПРЕЖДЕНИЕ. Все будущие операции нелегального доступа будут запрещены в следующей версии. Распечатать список год выпуска автомобиля 2018 Распечатать список год выпуска автомобиля 2000 Распечатать список год выпуска автомобиля 1967 Распечатать список года выпуска автомобиля 1952 Распечатать список года выпуска автомобиля 1942 Распечатать год выпуска автомобиляlist 1941 java.lang.IndexOutOfBoundsException: индекс 7 за пределами длины 7 в java.base / jdk.internal.util.Preconditions.outOfBounds (Preconditions.java:64) в java.base / jdk.internal.util.Preconditions.outOfBoundsCheckIndex (Preconditions.java:70) в java.base / jdk.internal.util.Preconditions.checkIndex (Preconditions.java:248) в java.base / java.util.Objects.checkIndex (Objects.java:372)в java.base / java.util.ArrayList.get (ArrayList.java:440) в com.wapanda.pages.DriverSignUpPages.fetchVehicleListAndClickOnYear (DriverSignUpPages.java:261) в com.wapanda.pages.DriffPignSp: 275) на com.wapanda.tests.ValidateDriverProcess.validateDriverSignupProcess (ValidateDriverProcess.java:108) в java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в java.base / jdk.internal.reflect.NativeMethodAccessorImpl.Met.java.jj .jj ()base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.base / java.lang.reflect.Method.invoke (Method.java:564) в org.testng.internal.hodHotMethodInvocationHelper.java:124) в org.testng.internal.Invoker.invokeMethod (Invoker.java:580) в org.testng.internal.Invoker.invokeTestMethod (Invoker.java:716) в org.testest.internal.Invoker.invoke(Invoker.java:988) в org.testng.internal.TestMethodWorker.invokeTestMethods (TestMethodWorker.java:125) в org.testng.internal.TestMethodWorker.run (TestMethodWorker.java:10un) (org.Run)TestRunner.java:648) в org.testng.TestRunner.run (TestRunner.java:505) в org.testng.SuiteRunner.runTest (SuiteRunner.java:455)в org.testng.SuiteRunner.runSequentially (SuiteRunner.java:450) в org.testng.SuiteRunner.privateRun (SuiteRunner.java:415) в org.testng.SuiteRunner.run (SuiteRunner.java:364) в org.test.SuiteRunnerWorker.runSuite (SuiteRunnerWorker.java:52) по адресу org.testng.SuiteRunnerWorker.run (SuiteRunnerWorker.java:84) по адресу org.testng.TestNG.runSuitesSequentially (TestNG.java:120Lung.Ung. At. Org at..java: 1137) в org.testng.TestNG.runSuites (TestNG.java:1049) в org.testng.TestNG.run (TestNG.java:1017) в org.testng.remote.AbstractRemoteTestNG.run (AbstractRemoteTestNG.java:114) в org.testng.remote.RemoteTestNG.initAndRun (RemoteTestNG.java:251) в org.testng.remote.RemoteTestNG.main (RemoteTestNG.java:77)