6 Replies Latest reply: Dec 11, 2015 7:46 AM by Abhishek Aggarwal RSS

    How to click on the dimensions in the chart?

      Please refer to the attached image.

      Problem Statement : According to the image, we have to select a value from any of the drop-downs (dimensions).

      Problem Description: I checked the properties of all the objects in this application in QlikView Desktop. Here, I observed that these drop-downs are not mapped to any Object Ids (like container Id, chart Id etc) instead, these drop-downs are available as different dimensions in the chart. I was able to obtain the other Chart Ids, Container Ids etc from the same QLikView Desktop.

      Approaches Tried : I have tried two approaches described below, still no luck:

      1. I tried all the actions mentioned in the QVScalability Tool .pdf file. The most suitable action was "Straight Table". I successfully scripted using this action. But, the response did not come as required (It loaded the whole template i.e. container Ids, charts Ids and their data as response).
      2. Instead of IE plugin, I used the full browser version (this shows the ajax requests) to load the .qvw file. With the help of Developer Tool (F12) available in the browser, I tried to capture all the ajax requests. Here the the .qvw file loads, but those dimensions are not displayed as drop-downs instead only their names are displayed (like account, name etc.)  We can right click on these dimensions and we have a "sort" option available. Now, every time i click on the "sort" option, I can see an ajax request running in the background but suddenly an "unexpected error" occurs and the browser closes. The error message itself says "Unexpected error occurred".  

      Please let me know how can we script this piece where I have to select a value from the drop-down (dimension).

        • Re: How to click on the dimensions in the chart?
          Sebastian Fredenberg

          Hello,

           

          It seems you have a straighttable in a container object, so yes you are correct in using that action. You do need to specify the id containerobject in order for it to work though. However, the scalability tool does not support dropdown select which I think is what you want. The workaround I suggest is to create a listbox object in which you can select you dimension to accomplish what you want.

           

          For the second issue, I do not know what causes it but it is unrelated to the sclability tool at least. If it is indeed a bug it can be reported to support.

           

          Cheers

          /Sebastian

          • Re: How to click on the dimensions in the chart?

            Hi,

            Can anybody suggest how much effort (in terms of Time) is required to replace these Dimensions by ListBox. Reason behind my question is: The application is going to be pushed to the production soon, so I just wanted to calculate whether or not the team has the time to do these changes.

            Thanks!

            • Re: How to click on the dimensions in the chart?

              Hi All,

               

              After digging into the requests for hours, I am able to script the dimensions using JMeter without converting them into the Listbox or any other object.

               

              Here are the details that can help in scripting the QlikView application.

              1. If you observe the JMX script that is generated by QVScalability, doesn't utilize the plugin version of the QlikView application, instead it fires the AJAX request.

               

              2. You can open the QlikView application in the AJAX mode as well (for manual transactions) which facilitates you to see the requests which are getting triggered (in developers tool) with each user action.

               

              3. You will observe the following POST body where name and rect are the parameters in which you will be interested in

              <update mark="{MARKID}" stamp="${STAMPID}" cookie="true" scope="Document" view="${DOCUMENT}" ident="null"><set name="${NAME}" rect="${CHARTRECT}" /></update>

               

              4. The above request will be followed by the request that will fetch the data that you had requested for and the POST body looks something like this:

              <update mark="${MARKID}" stamp="{STAMPID}" cookie="true" scope="Document" view="${DOCUMENT}" ident="null">${POLLSTRING}</update>

               

              ${POLLSTRING} can be calculated by using the same code written in Poll string builder OBJECTS (BeanShell PostProcessor) that is written in above request that loads the chart. Use the same BeanShell PostProcessor, place it as a child of the first request and use the ${POLLSTRING} in the second request.

               

               

               

              Thanks,

              Abhishek