[英]Android + Appium + ArrayList: How to pass ArrayList between several activities
我在以下方面尋求幫助
任務:要打開帶有交換參數的屏幕,請執行以下操作:
將諸如城市名稱,日期和航班類別的參數保存為字符串。 單擊搜索交換按鈕,如果結果等於保存的參數,則將屏幕上的數據與結果進行比較,然后選擇一個結果,然后將摘要屏幕上的數據進行比較。 所以我需要將第一個屏幕上的數據傳遞給另外兩個屏幕。
我嘗試了什么:我在類中創建了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中獲取值,但是我得到了測試失敗,導致交換結果屏幕(ExchangeRoutePageObject類)中的xpath不出現在交換結果屏幕(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測試中使用它。
幾個月前,我使用這種方法在多個活動之間傳遞參數
SharedPreferences themeInfo = getSharedPreferences("THEMECONFIG",0);
嘗試看看這個答案在堆棧上。 該站點可能會有所幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.