Ask a Question

Playback processing for Data Driven tests slows down the longer it runs.

SOLVED
jg0888
Contributor

Playback processing for Data Driven tests slows down the longer it runs.

I am having Playback Processing time issues with a Keyword Test that uses the Data Driven function. My Data Driven function uses an excel file to house the information. It seems to process pretty quickly in the beginning, but the longer it runs, the more time it takes between steps. It starts processing the first row at 11 seconds, around row 75 is is processing at 36 seconds, and after 150 rows, it is now processing at 55 seconds per row. It is a pretty complex Keyword test that has quite a few "If...Then/Else" and "If Object Exists/Else" statements.

 

Are there any techniques to keep the processing speed up or does this normally happen the longer TestComplete runs for one test? I have attached a flow chart of what I have mapped out via TestComplete, as I cannot load my actual test because the test details contains confidential data.

9 REPLIES 9
Marsha_R
Champion Level 3

That's a very nice flow chart but it really doesn't help us see what's going on in TestComplete.  Most people will just use a screenshot of the TestComplete code and use some editing tool to mark it up so we can't see the confidential parts.

 

To answer your one question, no, TestComplete should not be slowing down as it loops through the test.  

NisHera
Valued Contributor

I don't think complexity of your test would slow you down.

b'cos any computer operation those decision making process such as "if then else" are much faster.

 

first I would be looking at how you log your results. are you saving big pictures on your log file ?  dose it save to external hard disc?

do you have enough RAM in your test machine? do you use external data base?

do you open lot of windows and screens one after other? 

dose your app is working on back ground in each of these test operations?

did you check memory , processor usage in Task manager of test machine? 

what configurations you have ? in terms of XL, Testcomplete, App, servers, DB.etc.

dose you have lot of waiting times in your test?

 

 

to improve your speed you can use these tips best-practices-performance-tips

also refer this 

 

in my testing environment I find slowness when test progresses but it's due to heavy back ground processing in my application. (which it is suppose to ..)

so I close the app, let background finish and re start in particulate intervals.  

jg0888
Contributor

Marsha_R - Here is a screenshot of my KeywordTest. Please let me know if any other information would be helpful for you.

 

Marsha_R
Champion Level 3

@NisHera's questions are good, but I'm curious about your code and I'm going to ask some more  🙂

 

It looks like you are checking for objects with If Object but you frequently expect that they aren't there, since your log messages are mentioning finding a new path.  Between that and your use of coordinates to Click instead of object names, are you perhaps having trouble with your name mapping?  I think we can help you simplify this a lot.

@Marsha_R Most of the "If Object" statements are created because the system itself wasn't built with automation in mind. Thus, the same field has slight variations, but it can't be found.

 

I have only been using TestComplete for a short time, so any tips or help to avoid the same loop multiple times would be appreciated. Is there anything specific that I can provide for you to help with the "If Object" field?

 

Also, @NisHera I have already been able to greatly reduce time with "Collect Test Visualizer data during test run" changed to "Off", but finding ways to reduce code length and efficiency is always welcome. I'll continue looking at your suggestions.

Marsha_R
Champion Level 3

Yes, please show an example of where the same field has variations in names.  I think using wildcards will help you with this.

jg0888
Contributor

@Marsha_R Here are a couple of examples. I am familiar with the wildcard, but how would I implement with these successfully?

Marsha_R
Champion Level 3

Here's a good reference

https://support.smartbear.com/testcomplete/docs/reference/misc/using-wildcards.html

 

In your first example, if 

textnodeTdxrdesignbaisdropv1x2z12 is really the same object as 13, 14, and 15

 

then delete three of the lines in the mapping and change the remaining one to textnodeTdxrdesignbaisdropv1x2z*

 

This will let the object be matched with anything that comes up at the end of that pattern.

jg0888
Contributor

@Marsha_R Thank you very much for your help! This really helped me correct some issues.

 

@NisHera Not logging pictures with my test has really increased the rate at which my test is processed, and it no longer slows as it goes on. Thank you very much!

cancel
Showing results for 
Search instead for 
Did you mean: