Testing Set-Top Boxes and Gaming Consoles with Eggplant Functional
Set-top boxes and gaming consoles are content delivery devices that use proprietary and modified operating systems, which can make automation and testing difficult. With Eggplant Functional, you use Virtual Network Computing (VNC) or Remote Desktop Protocol (RDP) to automate systems under test (SUTs). However, it typically is not possible to host a VNC or RDP server on a set-top box. This article explains how to use video capture devices combined with Eggplant Functional to test these unique devices.
If you're testing the 4th generation Apple TV, use the methods outlined in Automating Apple TV with iOS Gateway.
How Eggplant Functional Works with Set-Top Boxes and Gaming Consoles
During testing, the VNC/RDP server sends a real-time replica of the SUT environment to the Eggplant Functional client so that you can perform image searches. The VNC/RDP server also accepts keyboard and mouse events sent from the Eggplant Functional client to control the SUT. However, not all operating systems are compatible with a VNC or RDP server, and there is not always a compatible server available on the market.
The two major categories of devices are set-top boxes (Roku, cable TV boxes, etc.) and gaming consoles (XBox, Playstation, etc.). Set-top boxes are used for accessing over-the-top (OTT) media content and usually can run various applications from different providers. Gaming consoles are used primarily for playing video games, but many modern gaming consoles also function as OTT devices.
Hosting a VNC server directly on a set-top box or gaming console is not usually possible, unless you heavily augment the device’s operating system. This process can be highly invasive and disruptive to the typical behavior of the SUT, or not feasible at all. In addition, set-top boxes and gaming consoles are usually controlled by Infrared Remote (IR), Bluetooth, or other types of remote controls rather than by keyboard and mouse events, which means the VNC and RDP methods of SUT control won't work.
There are various consumer-level hardware products and well-supported open-source software solutions available that allow Eggplant Functional to access the device's display in order to perform image and OCR searches while simultaneously controlling the device. Depending on the specific device you are testing and what your testing use case is, a particular approach might be most appropriate.
Before deciding on an automation approach, consider your use cases with your particular device. Are you validating the device's operating system? Are you validating OTT streaming content? Are you validating video game content and game-play? Some approaches for connecting to the device from Eggplant Functionalare suited to particular use cases but are not useful for others.
The content below describes approaches for connecting to a set-top box or gaming console from Eggplant Functional.
Accessing Set-Top Box or Gaming Console Displays
There are two primary appliances that allow access to the display of the device for the purpose of validating the user interface via image and OCR searches:
- Video capture device
- KVM-over-IP device
Video capture devices are affordable, consumer-grade products. They are the best option for testing gaming consoles where game-play is one of the target testing use cases. However, video capture devices require a dedicated "middle-man" desktop or laptop machine in order to display the video capture device output. See Using Video Capture Devices to learn more about this approach.
KVM-over-IP devices are generally considerably more expensive than video capture devices but do not require a dedicated middle-man machine to host the display of the set-top box. For use cases that do not include game-play, a KVM-over-IP device can simplify environment setup. See Using a KVM-over-IP Device for more information. Note: when testing set-top boxes and gaming consoles with KVM-over-IP devices, only the display component of the KVM is used as generally set-top boxes and gaming consoles do not have keyboard and mouse inputs for the KVM to leverage.
Using Video Capture Devices with Eggplant Functional
Video capture devices allow you to output the display of a set-top box or gaming console to a video capture application installed on a standard desktop or laptop system. The typical use of these video capture devices is to allow the recording or streaming of the display of the set-top box or gaming console, which means the use of a video capture device during testing also enables the recording or remote monitoring of the device under test. However, the primary purpose of the video capture device in the Eggplant Functional environment is to allow image- and OCR-based validation of the SUT.
The middle-man desktop system hosts a VNC server or supports RDP connections, which you then use to connect from the Eggplant Functional controller machine. Eggplant Functional then performs its image and OCR searches against the display of the set-top box or gaming console as it appears within the video capture application running on the desktop machine.
Video capture device environment diagram
Recommended Video Capture Devices
We recommend the AverMedia ExtremeCap U3 Game Capture device. The RECentral application for the ExtremeCap U3 is available for Windows and Mac.