When you use Eggplant Functional for image-based testing, you can connect to a system under test (SUT) in one of two ways:
- Virtual Network Computing (VNC)
- Remote Desktop Protocol (RDP)
Each method has its benefits and best use cases, as outlined below.
When to Use VNC
VNC is a cross-platform connection method, working equally well on Mac OS, Windows, and Linux, making it a good choice to use for Eggplant Functional environments where you will be testing multiple operating systems. You have to install a VNC server on each SUT you want to test, but there are many such products available for free download. For more information about this process, visit VNC Servers.
When to Use RDP
RDP is a native Windows remote connection method; therefore, it is available for connecting only into Windows environments. It is generally faster than VNC, so you are likely to see less latency when working remotely through RDP. Also note that you do not have to install anything additional on the Windows environment. However, you must enable Windows SUTs to receive RDP connections; check your Windows documentation for how to do this.
Eggplant Functional allows you to specify how many monitors you want to be represented in a single SUT window when connecting via RDP. Note that it can take a moment for the monitors to populate, and before that happens, you might see a very wide single monitor. You can add a hard wait after the connection is established or add an image search that will only match for multiple monitors (e.g., an image of the start menu that reaches left of the monitor) to adjust the timing of your scripts to work with this feature. See the RemoteMonitor functions to learn how to use this feature.
Multiple monitors with RDP connections is supported starting in Eggplant Functional 21.2.
Switching Between VNC and RDP
If you have existing scripts created through one connection method, you can switch the connection method to execute the same test. However, note that because VNC and RDP use different methods for drawing the screen, you will most likely need to capture new images in the SUT with the new connection method before the script will execute successfully.