You are here


Running Jenkins slave agent under Windows 10 for UI test automation with Testcomplete

The Jenkins slave agent is what enables the test node to execute tests and collect results using Jenkins server. This slave agent runs find under Windows 7 but for Windows 8.1 and Windows 10 this does not work. This is due to the fact tha the user account running the agent, must have a combination of system user rights and still have access to a GUI.

I have discovered by change that the Slave Agent works if it is launched a commandline interface which is run "as administrator". then simply run the following command:

Creating a Testcomplete build step in Jenkins with Job DSL which executes all function i a Testcomplete unit file

I have been working with Jenkins CI for some weeks, and we have grown out own the Jenkins Plugin for handling TestComplete tests as a test step. So I have created a dynamic creation of a job in Jenkins.

Updated the Worlds Test Automation Tool Comparison Matrix

I just get a bit of input for my test automation tool comparison matrix. Which is the most comprehensive comparison know to testers in this world.
Just added: Ranorex and Watir. And does now contain:
TestComplete, QTP, CodedUI, Telerik, Test, Studio, Qualiber, White, Test, Automation FX, Ranorex and Watir. And more are under planning.
The Test Automation Tool Comparison Matrix is found here:

Getting the TestComplete 10 Installed and Updating the Licenses on the Excisting License Server

I did an install of the new TestComplete 10 last week. And it has been pointed out to me, that some of the Smartbear documentation is a bit off, or unnecessary. i even might create some confusion.
So here I will give you my way to getting the TestComplete 10 upgrade to being a success..

Getting TestComplete to wait for a specific process lowering CPU usage

Sometimes while running tests, the CPU usage for a process (ie. tested application) can get higher than wanted. If the test get unstable due to this. The little trick can help you wait for more CPU power.

function TestProcessCPUUsage()
while(Sys.Process("chrome").CPUUsage > 5){
Delay(2000, "Chrome CPU usage: " + Sys.Process("chrome").CPUUsage);

Getting TestComplete to wait for more available CPU Power

Sometimes while running tests, the CPU usage can get higher than wanted. If the test get unstable due to this. The little trick can help you wait for more CPU power.

function TestCPUUsage()
// Will wait for the used CPU power to get below 5%
while(Sys.CPUUsage > 5){
Delay(2000, "CPU usage: " + Sys.CPUUsage);

Sharing Keywords and scripts across projects in TestComplete

You have need for common test keywords or scripted methods across projects in Testcomplete.
You need that they are only to be maintained in one place.

You can put your shared script units to a separate folder on the hard drive. When you need to link them to a new project, open this folder in the Add Existing item - Script dialog and press the Ctrl+A shortcut to select all files in order to avoid adding them one by one.
You Can however also pick the items one by one.

Handy littel feature when testing "major" changes to the OS.

When testing and installer or perhaps a change of display language. The RebootAndContinue possibility is very handy when used with persistant project variable for keeping track of the tests state. It is found in TestComplete's aqEnvironment.
I simply stops the test, reboots the machine and continues the test from where it left. Very cool.

Working with strings in TestComplete

A String is a sequence of symbols or digits. Strings are among the most frequently used data types. Like any other data type, strings in TestComplete are represented as OLE-compatible variants. In scripting, a sequence of literal characters, enclosed in double quotes ("), is recognized as a string. Single quotation marks (') are allowed within a string. To insert a double quotation mark into a string, it should be duplicated. The following is an example of string:


str1 = "The buswas heading to London, when the driver noticed a cat on the road."
str2 = "'Ahoy! Is there anyone?' - the captain cried."
str3 = """Nobody."" - was the answer."

To work with strings, TestComplete has a special scripting object - aqString. The object is available for all supported scripting languages, so you can use it to work with string values regardless of the chosen language.