Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Running duration test/long term test/repetiting same test in qtuitestrunner
Forum Updated to NodeBB v4.3 + New Features

Running duration test/long term test/repetiting same test in qtuitestrunner

Scheduled Pinned Locked Moved Mobile and Embedded
16 Posts 4 Posters 5.8k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K Offline
    K Offline
    kamalakshantv
    wrote on last edited by
    #3

    Put some wait in the loop and check if it helps.

    1 Reply Last reply
    0
    • M Offline
      M Offline
      mhzaman77
      wrote on last edited by
      #4

      Hi,
      tag is used.

      no, putting wait does not help.

      Thanks,
      Zaman

      1 Reply Last reply
      0
      • S Offline
        S Offline
        stukdev
        wrote on last edited by
        #5

        [quote author="mhzaman77" date="1292327680"]Hi,
        tag is used.
        [/quote]
        Thank's :P

        1 Reply Last reply
        0
        • K Offline
          K Offline
          kamalakshantv
          wrote on last edited by
          #6

          [quote author="mhzaman77" date="1292327680"]Hi,
          tag is used.

          no, putting wait does not help.

          Thanks,
          Zaman[/quote]

          Where did you put the wait and try. Also if I am understanding it right . You are facing problem when adding the loop part of the code otherwise it works properly.

          1 Reply Last reply
          0
          • M Offline
            M Offline
            mhzaman77
            wrote on last edited by
            #7

            Hi,
            Thanks for the quick response. I put the loop after one instant is finished and before starting the 2nd instant as shown below:

            @
            testcase = {
            for (var i=0; i<10; i++){
            testFunction1: function() {
            wait (5000);
            startApplication("<path to qml viewer>", ["<path to test.qml>"]);
            var close = findWidget( {qmlType: "Rectangle"} );
            mouseClick(close);
            verify(getLabels().contains("Hello World!"));
            wait (5000);
            }
            }
            @

            still it is the same. Can u please correct me....
            Yes, in general works fine when there is no loop introduced.

            BR,
            Zaman

            1 Reply Last reply
            0
            • K Offline
              K Offline
              kamalakshantv
              wrote on last edited by
              #8

              To me it seems like something is not closed properly. Check once you start qmlviewer it is closed properly before starting it again in the loop.

              1 Reply Last reply
              0
              • M Offline
                M Offline
                mhzaman77
                wrote on last edited by
                #9

                Hi,
                yes, without putting the loop - qmlviewer process is closed.

                Having the loop - I was thinking once the application is opened, then checking and after verification if there is some command to close the application which might help before initiating the next loop. - so far no clue....

                BR,
                Zaman

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  mhzaman77
                  wrote on last edited by
                  #10

                  Hi,
                  guessing if there is any cleanup function to be used and how to...

                  BR,
                  Zaman

                  1 Reply Last reply
                  0
                  • K Offline
                    K Offline
                    kamalakshantv
                    wrote on last edited by
                    #11

                    That's why I wanted to check if putting some wait helped and provided enough time to close the application. Any clue why with loop it didnt close

                    1 Reply Last reply
                    0
                    • D Offline
                      D Offline
                      dclark
                      wrote on last edited by
                      #12

                      Hi Zaman,

                      You have put the for loop outside the test function definition. If you put it inside testFunction1, does it work?

                      I tried the following, which is similar to what I think you’re trying to do, and it works OK. This uses the photoviewer demo (note, the QTDIR and QT_SRC environment variables need to be set for this to run).

                      @testcase = {
                      photoviewer: function() {
                      for (var i=0; i<10; i++) {
                      startApplication("$QTDIR/bin/qmlviewer", ["$QT_SRC/demos/declarative/photoviewer/photoviewer.qml"]);
                      mouseClick("Quit");
                      }
                      }
                      }@

                      Cheers,
                      David

                      1 Reply Last reply
                      0
                      • M Offline
                        M Offline
                        mhzaman77
                        wrote on last edited by
                        #13

                        Hi David,

                        Thanks for the hints.

                        For this specific photoviewer application there is a quit button which closes the application before it enters into the for loop for the 2nd instance. And it works fine.

                        Now if you comment (//mouseClick ("Quit") - looping the appl. does not work. Gives an error note:
                        QDEBUG : test::photoviewer(...) QtUiTest: couldn't listen for connections on 5656 : "The bound address is already in use" started : false

                        for my application also it shows animated 'Hello world' text. After having a mouse click it changes the position. In test script after the application is opened - I guess I need to close this instant of appl. run before it goes for 2nd instant. i.e.
                        @
                        testcase = {
                        testFunction1: function() {
                        for (var i=0; i<10; i++){
                        startApplication("<path to qml viewer>", ["<path to test.qml>"]);
                        var close = findWidget( {qmlType: "Rectangle"} );
                        mouseClick(close);
                        verify(getLabels().contains("Hello World!"));
                        wait (5000);
                        // I guess I need to use some command/api to close the current run of the application before it enters into the loop for 2nd run
                        }
                        }
                        }
                        @

                        Many Thanks.

                        BR,
                        Zaman

                        1 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          mhzaman77
                          wrote on last edited by
                          #14

                          Hi David,
                          one update:
                          also the way tried as shown below does not work:
                          @
                          testcase = {
                          photoviewer: function() {
                          for (var i=0; i<3; i++) {
                          startApplication("qmlviewer", ["photoviewer.qml"]);
                          wait(1000);
                          enter("Brisbane", "Prague");
                          select("Add");
                          wait(1000);
                          enter("Oslo", findByProperty({ text: "" }));
                          select("Edit");
                          wait(1000);
                          var removeButton = findByProperty({ label: "Remove" });
                          for (var i=0; i<4; ++i) {
                          select(removeButton[i]);
                          }

                          mouseClick("Quit");
                          }

                          }
                          }
                          @

                          Thanks.
                          BR,
                          Zaman

                          1 Reply Last reply
                          0
                          • D Offline
                            D Offline
                            dclark
                            wrote on last edited by
                            #15

                            I was able to reproduce the problem, and I'll take a look at how to fix it. In the meantime, it is possible to use the test data mechanism to repeatedly run a test function.

                            The test data for each test function is just a JavaScript object, so it can be set using code. For example, this runs the photoviewer test function 20 times:

                            @testcase = {
                            photoviewer_data: {},

                            photoviewer: function() {
                                startApplication("$QTDIR/bin/qmlviewer", ["$QT_SRC/demos/declarative/photoviewer/photoviewer.qml"]);
                                print(getLabels());
                            }
                            

                            }

                            for (var i=0; i<20; i++) {
                            eval("testcase.photoviewer_data.run" + i + " = []");
                            }@

                            Hope this helps!
                            David

                            1 Reply Last reply
                            0
                            • M Offline
                              M Offline
                              mhzaman77
                              wrote on last edited by
                              #16

                              Hi David,

                              That`s great. Yes, test data mechanism works fine.

                              BR,
                              Zaman

                              1 Reply Last reply
                              0

                              • Login

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • Users
                              • Groups
                              • Search
                              • Get Qt Extensions
                              • Unsolved