T-Plan Robot Documents > T-Plan Robot Enterprise v2 Tutorial

VNC technology overview

As we've already mentioned, T-Plan Robot relies in live desktop automation scenarios on the Remote Frame Buffer (RFB) protocol. This technology is better known by the software implementing it called VNC, Virtual Network Computing.

VNC was originally developed at the Olivetti Research Laboratory back in 1999. The project was open sourced under GPL in 2002 and the technology spread through the IT industry. Today there are many variants of VNC software delivering various free or commercial extra features; most products however support at least the same basic functionality specified by the RFB protocol. For an overview see the Wikipedia article on VNC.

VNC operates typically in the client-server scenario over TCP/IP. The viewer (client) displays image of the server desktop and sends all your mouse pointer moves, clicks and drags and keys typed on the client machine keyboard to the server. The server sends updated pixels of the remote desktop image in return.

The RFB protocol (and subsequently the VNC software) have a few specific features as well as limitations which have practical impacts on test automation:
  • Transfer of characters from client to server is limited to the Latin-1 (ISO 8859-1) character set. It means that you can automate typing of text in most west European languages (English, German, French, Spanish, ...) but not other languages (Russian, Chinese, ...).
  • To transfer text from the desktop to client one can take advantage of desktop clipboard changes. It is however also limited to Latin-1 and it may require additional tools and/or configuration. See the T-Plan Robot Enterprise Release Notes for more information.
  • Though most VNC products support file transfers, it is not defined in the RFB protocol and it's implementation is usually based on proprietary extensions. As such this functionality is not supported by T-Plan Robot Enterprise. This may change in the future.
  • The protocol supports transfer of desktop bell events (beeps) to the client. They are typically emitted when the server rings a bell through printing out the ASCII 0x07 character. This can be used for example to detect correct completion of a CLI command on Linux/Unix systems.
It is important to understand that the items listed above are VNC specific and they are not on the T-Plan Robot side. Other clients which may be supported in the future may not apply them.