Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is TestComplete so slow?

We are using TestComplete from AQTime to test the GUI at client with our Client/Server application. It is compiled with Delphi 2007. The source of client is about 1.4 millions sourcelines. The hardware is a Intel dualcore 2.13 Mhz, 2 GB RAM using Windows XP Pro.

I compile the application with all debug options and also link in TCOpenApp, tcOpenAppClasses, tcPublicInfo, tcDUnitSupport as described in documentation to make it an Open Application. The resulting exe-file is about 50 MB.

Now when running the testscript and it works, but running very very slow. The CPU is running at 100 % and it is a bit frustrating to change the testscript because of the slowness. I have turned off all desktop effects like rounded window corners. No desktop background.

Anyone else with the same experience or even an solution ?

like image 632
Roland Bengtsson Avatar asked Apr 23 '09 08:04

Roland Bengtsson


People also ask

How do I run a desktop application in TestComplete?

Running Applications From the TestComplete IDERight-click the application in the Project Explorer and select Run from the context menu. Right-click the application in the TestedApps editor and select Run from the context menu.

Does TestComplete run on Linux?

With cross-browser and cross-device testing in TestComplete, you can easily record your automated GUI test and then execute the same test on other real browsers or devices locally or in the cloud. These tests can be run on Windows, MAC, Linux, Android and iOS platforms across all browser configurations.

How do I add wait time to TestComplete?

TestComplete will open the Operation Parameters wizard. On the first page of the wizard, type Sys and click Next. The next page will display a list of available methods of the Sys object. To wait for a process of a desktop application, choose the WaitProcess method from the list.


1 Answers

Your problem probably lies in the fact you compiled with debug info and are using the tcXXX units, resulting in an enormous amount of objects being created.

A transcript from AutomatedQA message boards

Did you compile it in debug mode? We have an app that when compiled in Debug mode is slow when used with TC. This is because of the enormous # of objects in it. If we compile w/o debug but with the TC enabler(s), everything is fine.

and this one might help to

A couple of areas where you can increase speed.

If you are just using record and playback, then look into replacing the .Keys("xxx") calls to .wText = "xxx". The Keys function will use the ms delay between keystrokes, while wText just forces the text overwrite internally.

The second suggestion (which you likely have already looked at) is Tools->Default Project Properties->Project->Playback, setting the delays to 100 ms, 5 ms, and 5 ms to keep the pauses to a minimum.

As for the object properties, yes, TC loads them all. You can force this with a process refresh on yor application, so that the data is forced into being available without a load delay when called. This might help with reducing the appearance of delay.


Edit:

  • We also have been evaluating TestComplete and also encountered this performance problems. I would be very interested to know if and how you've finally solved them.
  • That said, I think it is a product with great potential and can really help you with organizing all of your unit, integration and GUI tests.
like image 164
Lieven Keersmaekers Avatar answered Sep 19 '22 17:09

Lieven Keersmaekers