
KD Executor is a multi-purpose tool running on all platform supported by Qt (Windows, Mac, Unix/Linux), which two main purposes are Automatic Testing and automatic demonstration or Presentation of your applications. You can use KD Executor in two different ways:
- For most users who use KD Executor for testing, the KD Executor Shell (presented below) is most convenient.KD Executor Shell
- More advanced users who already have a test environment in place can also use KD Executor as an advanced record and playback engine, using and configuring KD Executor from the command line.
- See a Quick Tour at our American Distributor's site
What is KD Executor?
KD Executor is a record and playback tool for Qt and KDE
applications. In addition, it contains a test environment which uses
this record and playback tool for testing Qt and KDE applications.
Why you should use KD Executor.
KD Executor makes it possible to record scripts for running your program or test cases and can be run on all platforms supported by Qt. Record a script on a platform and reuse it on another Qt supported platform.
The actual tools on the market for testing graphical user interface applications are very fragile. A quick example about this statement:
-
Most of those applications register a mouse click in relation to its position but not to the button/widget that has been pressed. Just by changing a string (e.g in length) you could move the button/widget to another position and introduce a failure in your test, the mouse click not being delivered to the button/widget it was destinated to.
This is one of the fundamental problems that we aimed to solve when creating KD Executor, and so we did by using an event filter which record any event in the system. KD Executor can also send events to widgets so they believe the events come from a user sitting in front of the computer.
There is of course much more than that.
top of the page
KD Executor a multi-purpose tool
- KD Executor records an 'intention' rather than an 'action'. Think about a QTabWidget, at the top of which all tabs are located. Those tabs are not widgets on their own. During the recording session you press the third tab. KD Executor will recognize that a mouse event has occured on the QTabBar and rather than recording the position on the tab bar, it records which tab was at that position.
- KD Executor's features described above are of course limited to built-in Qt Widgets, but it is possible to extend similir tricks for your own widgets. Examples about how to do so are shipped with our distribution.
- Testing an application might involve ensuring that a particular check box is checked, that a combo box contains a certain item...etc... Using KD Executor you may press a magic key during recording that will bring up a 'property picker' which allow you to print out properties (QObject properties) of particular widgets during playback.
- KD Executor is delivered with a set of ready made property extensions to add the most wanted properties that Qt is 'lacking' and give the programmer some inspiration to create property extensions for his own widgets.
- More than regression testing, KD Executor can be used for automatic demonstration of programs.By sending a KD Executor enabled binary to a customer for him to see a demo of your program running.
- KD Executor can increase the effectivity for communication between testers or customers and devellopers. Instead of describing a defect in an application just record the situation where the defect occures and send the script to the develloper.
- KD Executor can control an application remotely. Your support team can demonstrate through the internet a specific feature to your customer.
Launching KD Executor.
Launching KD Executor can basically be done in two ways:
- With a graphical user interface, to enable you to modify and create test suites, test cases, etc. KD Executor Shell
- Without a graphical user interface, running directly in the console. Using this, you can let KD Executor execute test cases automatically, without any interference from the user, for example from a cron job or similar.
Recording and Playback.
You may let the user control KD Executor via a predefined dialog or take full control yourself by integreting it into your application.
You will find a detailed description about how to proceed in for both case in the documentation shipped with our package.
Using KD Executor Configuration Dialog is quite simple, the user just have to make its choice and select the options that pass her best.

top of the page
The user run the program in a normal state or choose whether it will be a Recording or Play back session and of course choose the location and the name of the Script file to be created/used by KD Executor.
In case KD Executor encounters an error it will print it on stdout or show it using a dialog.
The user may also test and run hers program testing different types of font.

top of the page
KD Executor Sidebar
While recording a number of special KD Executor actions are available from a side bar which is shown together with the application being recorded.

top of the page
KD Executor allows the user to interact with hers application during recording by the mean of those special actions. Let us brievly describe some of those actions:
- Stop recording.
- Record a Message Box that will be shown when playing back.
- Bring up the property Picker.
- Create a screen dump of the current top level windows or the current widget (the screen dump will be made at playback time).
- Ask the user for a command to be executed at playback time.
The Property Picker dialog.
if you use KD Executor for regression testing you might be interested to tell whether a list box contains a given item, or whether a check box is enabled etc...
KD Executor lets you choose (Recording time) and print (Playback time) the properties you have specified in the Property Picker dialog:

top of the page
By using the Property Picker you may click on the widgets in your interface, and choose the properties to be printed during playback. Properties are Qt properties as described in the Qt reference documentation. You may however add your own properties if you need to have a closer look at some information that Qt does not have (for example: Porperties containing the elements of list box), You will find a detailed example for doing that in the documentation shipped with KD Executor. The file in which the output goes can be specified.
Adapters.
As mentioned above, KD Executor takes care of recording the intention rather than the action in a number of specific cases. This is possible by using adapters. In KD Executor Configuration Dialog, each adapter can be enable or disabled:

top of the page
It is of course possible to control adapters from source code. KD Executor is shipped with a number of main adapters. You may create your own adapters.
Adapters consist of two parts, the first one is used to recognize specifics events to specifics widgets at recording time and the second part to emulate the event at playback time. During recording, the adapter will indirectely write an XML element to the script file, and during playback it will recognize this element and executs whatever needs to be done.
A detailed description about how to produce adapters as well as an example is provided in KD Executor's documentation.
Remote Control
KD Executor's Configuration dialog let's you control your application remotely:

top of the page
Imagine the situation about having a customer on the phone asking 'How do I ....?' Using KD Executor you may run a demonstration over the internet.
Required Qt Versions
KD Executor is supported for Qt 3.2.0 and higher. Qt 2.x versions will definitely not work. KD Executor does not work with the Professional Edition of Qt (due to the lacking XML support in this version).
Licensing and Pricing
KD Executor is licensed per developer and platform, i.e., you
need one license per
developer or QA engineer who intends to record or playback scripts
with KD Executor for each platform (MS Windows, Unix, MacOS,
Embedded) that this developer uses. There are also favorable
bulk rates for field testing, see below.
Holders of a KD Executor license have access to both the source-code
package and, upon request, prebuilt binaries for the platforms they hold
licenses to. You are are also
entitled to one year of technical support and upgrades; this support contract
can be extended.
top of the page
To evaluate or purchase KD Executor:
If you are located in the US, Canada, or Mexico, please contact our North American reseller ICS to require an evaluation version or for purchasing information.
| ICS | | 1.617.621.0060 (phone) |
| 54B Middlesex Turnpike | | 1.617.621.9555 (fax) |
| Bedford, MA 01730 | | ICS (mail) |
| USA | | |
Other customers may get an evaluation version by following this link: KD Executor evaluation version... or contact our sales department at sales@kdab.net for purchasing information.
top of the page
Bulk Rates for Field Testing and Demos
There are typically two different situations in which our customers
use KD Executor:
- Internal testing. In this case,
normally only comparatively few people
use KD Executor extensively. This is where
the above developer licenses apply.
-
Enhancing your software. You may want to
record auto-running demos of your
software and ship them to your
customers, or ship KD Executor-enabled
versions of your software to your
customers so that your customers can
send you the generated scripts back when
they have found a defect in your
software.
In the latter case, typically a large number of users will record or
play back KD Executor scripts, but never be in
contact with the source code of either your
application or KD Executor. For this case, we
offer a special record/playback-only license
at favorable bulk rates. These
record/playback-only licenses do not include
support and upgrades. Please contact our sales department at sales@kdab.net for purchasing information.
top of the page
How To Decide Which License You Need
Here are a few examples that should help you decide which type of
license you need. For further questions,
please do not hesitate to contact us at sales@kdab.net.
-
Acme Corp. wants to use KD Executor to ship
demo versions of their products to 15000
customers. They purchase two bundles
à 10000 record/playback-only
licenses plus (depending on
the number of developers working on the
project) one developer license. Without
the developer license, they would not be
permitted to build KD Executor into their
products.
-
FooBar Inc. uses KD Executor for inhouse
testing with six developers. They purchase
six developer licenses.
-
NoBugs Software Ltd. uses KD Executor for
inhouse testing with two developers and
wants to send out a KD Executor-enabled
version of their software to 65
customers to let customers record defect
situations. They purchase two developer
licenses and one bundle with 100
record/playback-only licenses.
How to order KD Executor:
- Download the order form as a PDF File, print it out, fill in the blanks, sign it and fax it to: +46-563-540028
- As soon as we receive your order, we will send a confirmation e-mail with information about where to download the commercial
version and how to get support and future updates. We will send you the invoice
and, after we have received your payment, the license certificate by postal mail.
- To speed things up, you can wire your payment before you have received the invoice.
- We prefer wire transfers as the most convenient and safest way
for all sides. If you'd
rather pay by check, please add EUR 25 to cover our banking fees. You can also pay by credit card, contact our sales department for further information.
- If you need quotations, etc. for your internal purchase procedures, please
contact sales@kdab.net and we'll be happy to help you.
KD Executor Kickstart
If you want to make sure to get the most out of KD Executor from the first
day, our KD Executor Kickstart offer might be the right thing for
you. One of our knowledgable engineers (which have been involved in
KD Executor development) will come to your site, introduce you to the
concepts of KD Executor in a short training session, and then help you getting
your project KD Executor-enabled. At the end of the day, you should be all set
up for your daily work with KD Executor.
If you purchase 30 or more licenses, you will get a Kickstart day for free,
all we will charge you are the instructor's travel expenses. If you
purchase 60 or more licenses, we will even cover those. For other pricing,
including bundle deals with license sales, please contact us at sales@kdab.net.