Ask a Question

How to get the execution time for loading the report in Load testing.

sguda
Regular Contributor

How to get the execution time for loading the report in Load testing.

I am creating a load test which will login into the system and view the report.

I want to insert the logic to capture the execution time it took to load the pdf report in http load test like i did in keyword test using timer object.



Please tell me if that is posiible to do in Load test, B'se i don't see any steps to include the logic here. so let me know how i can acheive this.



In keyword testing for another script i created a script routine to capture the execution time to run in between the keyword steps.



How can i do this in load testing

Please suggest.
12 REPLIES 12
AlexanderM
Staff

RE: How to get the execution time for loading the report in Load testing.


Hello Sri,





In Load Testing, you cannot add this logic to your test.

However, you do not need to do this - TestComplete will automatically measure the PDF file loading time. This will be the execution time of the corresponding request in the Load Testing results.
-----

Alexander
Customer Care Manager
sguda
Regular Contributor

RE: How to get the execution time for loading the report in Load testing.

Hi,



But for that i need to look into connections and recognize that particular requests which exports the PDF right.



1. I was thinking that there might be a way to specify start transaction and end transaction for that particular action and monitor the time.



So you are saying it is not possible.



2. Also what does Raise events do in requests and responses. I didn't clearly understand for what purpose we can use this.



3. Also in the beginning of my load test, i have login script . i want to change the login for few VU'S



4.Is there any way i can specify that run fist 5 users with one login id and next 5 users with another login id. 



5.Can i do this with raise events option  or can i acheive this by deviding the whole load test into small tasks like one for login,   another for going to required web page and do certain things and another task for Clicking on export report button.



Will that be helpful



Please let me know as soon as possible . i am waiting for the solution for this.






sguda
Regular Contributor

RE: How to get the execution time for loading the report in Load testing.

1.

Is there any conceopt of creating transactions for a particular cations like export report and get the response time for that part of the load test alone. This will part of my load test.


AlexKaras
Community Hero

RE: How to get the execution time for loading the report in Load testing.

Hi Sri,



It would help if you define more precisely what do you mean as "export report" and what is the expected/measured time.



HTTP Load Testing in TestComplete is a functionality that sends requests to the server and processes responses. Not more not less. Requests and responses have no idea what data they are transferring. From their point of view they are just transferring a sequences of bytes and it is up to the server or client to consider these data as a report export, quote posting or something else. Usually the client sends request to the server and waits for the response. The time interval between request and response includes time to deliver request to the server, delay on the server before request is processed, time to process the request, time to generate the response, time to deliver response to the client, etc.

It is obvious from the above that the time interval between the request and corresponding response includes the actual processing time to generate the response as well as additional time penalties like queuing, transmission delays, etc.

If you need to measure the actual time to generate a report, then you should use some profiling tool (e.g. AQTime by AutomatedQA) that will connect to the server and measure the time it takes the code on the server to generate the report. The trigger that starts report generation is irrelevant in this case and may be triggered either via HTTP (like the Load Testing does) or by some test driver application or by some other means.

If you would like to measure the time that user of your web application should wait for the report, then you should record an HTTP Load Testing task in TestComplete that triggers report generation. In the recorded task you should find the request that requests server for the report and find the response that contains report sent from the server. Then you should create the handlers for the OnLoadTestingRequest and OnLoadTestingResponse events. The code in the OnLoadTestingRequest handler should save somewhere the current time. The code in the OnLoadTestingResponse should subtract the saved time from the current one. This will give you the time it took to send request to the server and get back the response. Note, that it can take additional time before the user sees the report on the screen as additional time may be needed on the client to process the raw data received from the server.

If you need to measure the time that it takes on the client to click some button to ask for the report and see the report on the screen, then again you either need a profiler (running on the client in this case) or you can use ordinary functional testing in TestComplete (if you do not need precise timing) and measure time between button click and report appearence on the screen.
Regards,
  /Alex [Community Hero]
____
[Community Heroes] are not employed by SmartBear Software but
are just volunteers who have some experience with the tools by SmartBear Software
and a desire to help others. Posts made by [Community Heroes]
may differ from the official policies of SmartBear Software and should be treated
as the own private opinion of their authors and under no circumstances as an
official answer from SmartBear Software.
The [Community Hero] signature is used with permission by SmartBear Software.
https://community.smartbear.com/t5/custom/page/page-id/hall-of-fame
================================
sguda
Regular Contributor

RE: How to get the execution time for loading the report in Load testing.

Hi Alexi,



1.

In this case the report is acrobat adobe report. In the loads test i recorded as click on export button, close the adobe  opened report, Logout the browser , close the browser.



But in the connections , i see the last connection was for report viewer and i don't see any connections or requests regarding the closing of report, Logging out of aplication and close the browser.



Does Test Complete shows connections in sequense as recorded or it didn't record those connections at all.



I am getting confused.



2. Also the estimated time for the report to appear on the screen is atleast 1.5 to 2 mins.

But the request execution time and the response time for that particular request is showing the same as 21.05 secs . I don't understand this. It gives me a warning on that particular request.



3. Also how to use these Event Handlers in load test. I recognise the connection and request and check the raise event for that request. and i don't understand wht to do next.

Do i have to code any script. I saw help. i don't see any sample code also.




sguda
Regular Contributor

RE: How to get the execution time for loading the report in Load testing.

Hi



In my load test at the end of the scenario, it clicks on Export report button, and i want to see what is the response time  i get for that particular request until it opens the report.



Under the coonections, request response , i see the response is an image on the report, but that particular request is giving me warning and in the header section it is saying that crystal image is not found.



Also when i see the execution time, it is 0.13 sec , but the expected is around 2 minutes.



So i am thinking that the test is comming out with out waiting untill the report is opened and that's the reason why it is not giving me the response time for that particular image request and ending up in warning.

My main goal is to get the response time for the report to load.



Please suggest me any other way i can do it.
AlexKaras
Community Hero

RE: How to get the execution time for loading the report in Load testing.

Hi Sri,



As I wrote, HTTP Load Testing deals only with the traffic send via http. Logging out of browser and closing of Acrobat and the browser does not require http connection, do not produce an http traffic and have no relation to http at all. That is why all these activities are not recorded and not reflected in the Load Testing.



The time difference between getting data from the net (21 sec) and report display on the screen (1.5 mins) may be explained by the fact that Acrobat needs some time to process received raw bytes sequence into the graphics presented to the end-user.



According to the provided test scenario, I think that you don't need Load Testing functionality in your test at all. This seems to be a pure functional test. Just save the current time before clicking the Export button, wait until the report is shown in the Acrobat and subtract the saved time from the current. This will give you the time that user needs to wait to see the report. It looks like that you are interested exactly in this time interval but not in measuring the time it takes the server to send the data to your client application.
Regards,
  /Alex [Community Hero]
____
[Community Heroes] are not employed by SmartBear Software but
are just volunteers who have some experience with the tools by SmartBear Software
and a desire to help others. Posts made by [Community Heroes]
may differ from the official policies of SmartBear Software and should be treated
as the own private opinion of their authors and under no circumstances as an
official answer from SmartBear Software.
The [Community Hero] signature is used with permission by SmartBear Software.
https://community.smartbear.com/t5/custom/page/page-id/hall-of-fame
================================
sguda
Regular Contributor

RE: How to get the execution time for loading the report in Load testing.

Hi Alex,



Thank you so much for making it clear.
sguda
Regular Contributor

RE: How to get the execution time for loading the report in Load testing.

Hi Alex,



I guess i am wrong. These are the properties of the report



Protocol: HyperText Transfer Protocol

Type: HTML Document

Url: http://qa2008/advantagev260/SY/ReportViewer.aspx



So this looks like Http protocol request.

The response time for that particular request to get report viewer.aspx is giving as 9.30 sec.

But the expected time is 41.437 sec to 2 mins.



I don't understand why it is not showing the correct response time for that request.



I thought it might not be waiting for the report to appear , i recorded another action on the report after it opens. Still it is showing the same time. also it is showing 9.45 sec for the report viewer request second time i recorded with the action on the report.



This report viewer overlay on another referring browser page.

So please suggest me
cancel
Showing results for 
Search instead for 
Did you mean: