Tool Review: T-Plan Robot

Tool Review: T-Plan Robot (Open Source Edition)

T-Plan Robot

Overview:

T-Plan Robot (formerly known as VNCRobot) is an automation tool, based on VNC (virtual client computing, RFB protocol). Using this almost unique approach, T-Plan Robot is able to automate every application running under every platform which supports a VNC Server. Every popular operating system (Windows, Linux, OSX) is supported and even testing of mobile applications running under iOS or Android (although some special customization is needed) is possible at the moment.

Technique: Star2Star2Star2

T-Plan Robot uses the screen of an active VNC connection to automate the whole system under test. What exactly does that mean? T-Plan Robot has in fact only access to a “screen shot” of the system under test to analyze its current state. Interaction is only possible by using the mouse and the keyboard. So, “looking behind the mask” like many other automation tools do is not possible with T-Plan Robot. This automation approach is totally different than others. Normally, automation tools use more or less specific methods to interact with the elements of the GUI of the system under test. They are strictly bound to platforms or even single applications.

T-Plan Robot offers two possibilities to move the mouse cursor on the needed locations: coordinates and images. Every tester should know, that automating an application using absolute coordinates is by far the worst method. So, the image-based-automation or, to be more precise, a combination of both possibilities is the proper way.

With the image-based-approach, small representative images are used to define points of interest of the GUI. For example, the label of a text field.

Capture an image using T-Plan Robot

T-Plan Robot will search for this image and return the coordinates of the upper left corner where the image was found. Then it should be possible to calculate the relative position of the text field right next to the label “Wine:” by adding 150 pixel to the x and about 20 pixel to the y coordinate. If the position of the “Wine:” label changes in the future, but the relative position of the text field stays almost the same, T-Plan Robot will find and return the new position of the image and the test will continue to work correctly.

By using the combination of the image-based and coordinate-based-approach you are very safe from UI changes.

Documentation: Star2Star2

Since T-Plan has acquired VNC Robot in July, 2009 almost all files and information has moved to the T-Plan site. Only a small Open Source project is still available on sourceforge but there is no documentation maintained. So, you have to look on the documentation for the commercial version. T-Plan is improving the Robot (currently the commercial version 2.2 is available) and maybe the documentation for version 2.0 (currently the Open Source verion 2.0.5 is the latest) won’t be available any more. But at the moment you will find a detailed documentaion for the Open Source version on the T-Plan site.

Support (Community/Commercial): Star2Star2

The only way to get free support is to use the offical forum on sourceforge. If you want professional commercial support you will have to buy the commercial product.

License: Star2Star2Star2

T-Plan Robot 2.0.5 is available under the GNU General Public License (GPL)

Installation: Star2Star2Star2

The installation of T-Plan Robot is only downloading and extracting the content of the .zip file because T-Plan Robot is developed using Java. Therefore of course the Java Runtime Environment has to be installed on the machine first.

Handling & Usability: Star2Star2

Because of the very image-based-approach the handling of T-Plan Robot is very different to other automation tools. First you have to connect to the system under test, using the built in VNCconnection (on the system under test a VNC server has to be installed and configured before).

Connect to a system under test using VNC

The default view of the IDE shows the scripting pane on the left and the active VNC connection to the right, you can always see what’s happening on the system under test.

T-Plan Robot provides a basic Capture & Replay feature, which records every interaction with the system under test to a script. It is only using mouse clicks on absolute coordinates and keyboard type commands. Creating own scripts without the capture functionality is a little bit tricky because T-Plan Robot provides an “interesting” scripting language. Every result is set in global variables like “{_EXIT_CODE}” or “{_SEARCH_X}”. Functions are called using its name and property/value pairs like “Mouse click to=x:100,y:200 wait=1000″.

Using the image-based-approach you have to create the images first. T-Plan Robot has a built in image capture capability (“Tools/Take a Screenshot”). With it you can create the images of the GUI elements to search for during the test execution. Creating image-based tests basically contains three steps:

  1. Capture the desired image using “Take a screenshot”
  2. Insert a “CampareTo” function to search for the image an retrieve its current coordinates
  3. Calculate the coordinates to click on

Insert an CompareTo statement

Click on the calculated coordinates

T-Plan Robot also offers a quite good way to create simple HTML reports using the “Report” command. Also screenshots can be captured and included into the report during a test run.

Predefined Functionality: Star2

Because T-Plan Robot is limited to the functionality of the VNC connection, only “mouse move/click/…” and “press/type/typeline” commands are available to interact with the system under test. Furthermore you can use its capability to read and write to the clipboard of the system under test.

If you use the images-based-approach you will also use the “CompareTo” command to look for an image or the “WaitFor” command to wait for an image on the system under test. That’s it more or less.

Of course T-Plan Robot offers some basic keywords to create more enhanced scripts like “If/Else” and “For” loops.

Data-Driven-Testing:

Using the T-Plan Robot GUI, Data-Driven-Testing is almost impossible because there is no way to read an external data source like files.

Compatibility: Star2Star2Star2

Well, T-Plan Robot is able to automate every platform providing a VNC server, so more compatibility is almost impossible.

Conclusion: Star2Star2Star2_1

T-Plan Robot offers a new approach for black box GUI testing because of its almost platform independent connection via VNC and the image-based-automation. This is in fact the main advantage of T-Plan Robot. If you want to automate different applications on different platforms for example multi browser tests on Windows/Linux/OSX then T-Plan Robot is the way to go. If you are only interested in one specific application on one specific platform, you should look for a more specific automation tool, before you use the image-based-approach of T-Plan Robot.

The development of the commercial version is of course more active, very interesting new features, like image collections or image meta data have been introduced in the past. Only future will tell if the Open Source version will integrate new features as well.

Important links:

About the Author

klemens loschy

Klemens Loschy is member of SEQIS – The Austrian Test Experts! since 2002 and is responsible for test automation, load & performance tests, test frameworks and test tool development. Furthermore he is a student at the Technical University of Vienna (Software Engineering). He has more than 9 years experience with all kind of test software (automation and management) and programming languages (Java, SenseTalk, TSL, …).

Feel free to conctact him: klemens.loschy@seqis.com

About these ads

Kommentar verfassen

Bitte logge dich mit einer dieser Methoden ein, um deinen Kommentar zu veröffentlichen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ photo

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

Follow

Erhalte jeden neuen Beitrag in deinen Posteingang.

%d Bloggern gefällt das: