我正在寻找以下方面的帮助
任务:打开带有交换参数的屏幕:
将诸如城市名称,日期和航班类别的参数保存为字符串。单击搜索交换按钮,如果结果等于保存的参数,则将屏幕上的数据与结果进行比较,然后选择一个结果,然后将摘要屏幕上的数据进行比较。 所以我需要将第一个屏幕上的数据传递给另外两个屏幕。
我尝试了什么: 我在类中创建了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中获取值,但是我得到了测试失败,导致交换结果屏幕(ExchangeResultsPageObject类)上不存在来自交换屏幕的xpath(ExchangeRoutePageObject类)
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测试中使用它。
答案 0 :(得分:0)
几个月前,我使用这种方法在多个活动之间传递参数
SharedPreferences themeInfo = getSharedPreferences("THEMECONFIG",0);
尝试看一下这个答案。这个SITE可能有帮助