Я ищу помощь со следующим
Задача: Чтобы открыть экран с параметрами обмена:
пример экрана
Для сохранения параметров, таких как названия городов, дата и класс полета, в виде строк. Нажмите кнопку поиска обмена и сравните данные на экране с результатами, если они совпадают с сохраненными параметрами, затем выберите результат и затем сравните данные на сводном экране.
Поэтому мне нужно передать данные с первого экрана через два других.
Что я пробовал:
Я создал ArrayList внутри класса, который описывал экран обмена:
public class ExchangeRoutePageObject extends MainPageObject {
public ExchangeRoutePageObject(AppiumDriver driver){super(driver);}
public ArrayList<String> saveParameters(){
ArrayList<String> exchangeParameters = new ArrayList<>();
exchangeParameters.add(getElementValue(CITY_ORIGIN_FIELD_TEXT));
exchangeParameters.add(getElementValue(CITY_DESTINATION_FIELD_TEXT));
exchangeParameters.add(getElementValue(DATE_FIELD));
exchangeParameters.add(getCurrentClass());
return exchangeParameters;
}
}
Я пропущу код со сценарием нажатия кнопки.
Итак, когда я получаю экран результатов, я пытался получить значение из ArrayList, но я получаю ошибку теста, вызванную тем, что xpath из экрана обмена (класс ExchangeRoutePageObject) отсутствует на экране результатов обмена (класс ExchangeResultsPageObject)
public class ExchangeResultsPageObject extends MainPageObject {
ExchangeResultsPageObject(AppiumDriver driver){super(driver);}
private void checkClass(){
ExchangeRoutePageObject ExchangeRoutePageObject = new ExchangeRoutePageObject(driver);
ArrayList exchangeParameters = ExchangeRoutePageObject.saveParameters();
System.out.println(exchangeParameters.get(3));
Вопрос Что мне нужно сделать? Я видел, что для этого случая используются намерения с действиями, но я не понимаю, как использовать это с тестом на appium.