簡體   English   中英

Android + Appium + ArrayList:如何在多個活動之間傳遞ArrayList

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM