Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to automate the test running process using TestComplete?

We are trying to integrate tests in our daily builds using TestComplete, so far we have a machine dedicated for testing and our build script copies to this machine everything TestComplete needs for its tests (Application, Database, Test script project and source files, etc).

Basically we can open the TestComplete project manually and run the tests.

Now we want to automate that process, so how do you do it? Or how do you think would be the simplest and best way to make this automation?

Keeping it short, we want to automate the process of opening TestComplete after each build, run all the tests and send an email with the test results.

Anyone can share some experience about this?

Thanks.

like image 693
Fabio Gomes Avatar asked Sep 18 '08 17:09

Fabio Gomes


3 Answers

Answering my own question:

The solution was writing a little C# application which sits on the system tray and monitors a folder.

When a new folder (containing the tests source code) are added to the monitored folder TestComplete is called using the command line, then the application catch its ExitCode and send an email with the Log file generated attached to it.

Depending on the ExitCode I know what happened in the tests, the possible ExitCodes are:

0 - The last test did not produce errors or warnings.
1 - The last test results include warnings but no errors.
2 - The last test results include errors.
3 - The test cannot be run because of an error

More information about the ExitCodes can be found on TestComplete's Help file.

like image 173
Fabio Gomes Avatar answered Nov 24 '22 05:11

Fabio Gomes


Well, although I have not used TestComplete I have used a competing package called QA Wizard Pro. Since you are asking this question I am assuming that it isn't something that is natively supported by TestComplete. QA Wizard is the same way and they expect it to be run manually instead of automatically, though there are test run files that can be run. For QA Wizard I created a batch file that was run nightly from the task scheduler. The account to run the software must be able to interact with the desktop and a user must be logged in with a display. I used a free piece of software called AutoHotKey to automate the running of the tests and then some Cygwin tools to parse the results and trigger an email through Blat with the results. It isn't a perfect solution but it does work.

like image 28
pdavis Avatar answered Nov 24 '22 04:11

pdavis


You should also look at using TestExecute. This is a (much cheaper) program from Automated QA that will execute TestComplete scripts.

This will save you from having to have a full TestComplete license for your build/test server.

like image 20
Alistair Ward Avatar answered Nov 24 '22 04:11

Alistair Ward