Android + Appium + ArrayList: How to pass ArrayList between several activities









up vote
0
down vote

favorite












I'm looking for help with the following



Task: To open screen with exchange parameters:



screen example



To save parameters such as names of cities, date and flight class as strings. Click on search exchange button and compare data on screen with results if it's equal to saved parameters, then select a result and then compare data on summary screen.
So i need to pass data from first screen through two others.



What did i tried:
I had created ArrayList inside class which described exchange screen:



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;




I'll skip code with button click scenario.



So, when i get results screen, I tried to get value from ArrayList but i get the test fail caused xpath from exchange screen (ExchangeRoutePageObject class) are not present on exchange results screen (ExchangeResultsPageObject class)



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));


Question What do i need to do? I saw that intent with activities are used for this case, but i don't understand how to use it with appium test.










share|improve this question

























    up vote
    0
    down vote

    favorite












    I'm looking for help with the following



    Task: To open screen with exchange parameters:



    screen example



    To save parameters such as names of cities, date and flight class as strings. Click on search exchange button and compare data on screen with results if it's equal to saved parameters, then select a result and then compare data on summary screen.
    So i need to pass data from first screen through two others.



    What did i tried:
    I had created ArrayList inside class which described exchange screen:



    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;




    I'll skip code with button click scenario.



    So, when i get results screen, I tried to get value from ArrayList but i get the test fail caused xpath from exchange screen (ExchangeRoutePageObject class) are not present on exchange results screen (ExchangeResultsPageObject class)



    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));


    Question What do i need to do? I saw that intent with activities are used for this case, but i don't understand how to use it with appium test.










    share|improve this question























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I'm looking for help with the following



      Task: To open screen with exchange parameters:



      screen example



      To save parameters such as names of cities, date and flight class as strings. Click on search exchange button and compare data on screen with results if it's equal to saved parameters, then select a result and then compare data on summary screen.
      So i need to pass data from first screen through two others.



      What did i tried:
      I had created ArrayList inside class which described exchange screen:



      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;




      I'll skip code with button click scenario.



      So, when i get results screen, I tried to get value from ArrayList but i get the test fail caused xpath from exchange screen (ExchangeRoutePageObject class) are not present on exchange results screen (ExchangeResultsPageObject class)



      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));


      Question What do i need to do? I saw that intent with activities are used for this case, but i don't understand how to use it with appium test.










      share|improve this question













      I'm looking for help with the following



      Task: To open screen with exchange parameters:



      screen example



      To save parameters such as names of cities, date and flight class as strings. Click on search exchange button and compare data on screen with results if it's equal to saved parameters, then select a result and then compare data on summary screen.
      So i need to pass data from first screen through two others.



      What did i tried:
      I had created ArrayList inside class which described exchange screen:



      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;




      I'll skip code with button click scenario.



      So, when i get results screen, I tried to get value from ArrayList but i get the test fail caused xpath from exchange screen (ExchangeRoutePageObject class) are not present on exchange results screen (ExchangeResultsPageObject class)



      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));


      Question What do i need to do? I saw that intent with activities are used for this case, but i don't understand how to use it with appium test.







      java android arrays arraylist appium






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 9 at 19:19









      Sergey Bykov

      61




      61






















          1 Answer
          1






          active

          oldest

          votes

















          up vote
          0
          down vote













          Several months ago I used this type of approach to pass parameter between multiple activities



          SharedPreferences themeInfo = getSharedPreferences("THEMECONFIG",0);


          Try to take a look at this answer on stack. This SITE might help






          share|improve this answer




















            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













             

            draft saved


            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53232049%2fandroid-appium-arraylist-how-to-pass-arraylist-between-several-activities%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            0
            down vote













            Several months ago I used this type of approach to pass parameter between multiple activities



            SharedPreferences themeInfo = getSharedPreferences("THEMECONFIG",0);


            Try to take a look at this answer on stack. This SITE might help






            share|improve this answer
























              up vote
              0
              down vote













              Several months ago I used this type of approach to pass parameter between multiple activities



              SharedPreferences themeInfo = getSharedPreferences("THEMECONFIG",0);


              Try to take a look at this answer on stack. This SITE might help






              share|improve this answer






















                up vote
                0
                down vote










                up vote
                0
                down vote









                Several months ago I used this type of approach to pass parameter between multiple activities



                SharedPreferences themeInfo = getSharedPreferences("THEMECONFIG",0);


                Try to take a look at this answer on stack. This SITE might help






                share|improve this answer












                Several months ago I used this type of approach to pass parameter between multiple activities



                SharedPreferences themeInfo = getSharedPreferences("THEMECONFIG",0);


                Try to take a look at this answer on stack. This SITE might help







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 9 at 20:37









                Apuna12

                5819




                5819



























                     

                    draft saved


                    draft discarded















































                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53232049%2fandroid-appium-arraylist-how-to-pass-arraylist-between-several-activities%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Use pre created SQLite database for Android project in kotlin

                    Darth Vader #20

                    Ondo