Testing the Nvidia Shield with Stb-tester
18 Oct 2021.
Stb-tester supports automated testing on the Nvidia Shield TV and Shield TV Pro.
To test your app you need a mechanism to control the Nvidia Shield and a way to get feedback to check that your app is behaving as it should.
Stb-tester sends CEC commands (over the HDMI connection) to control the Nvidia Shield, and captures the video over the same HDMI connection to verify your app’s behaviour. CEC is the same technology that allows you to use your TV’s remote to control the Nvidia Shield.
The Shield’s CEC implementation is very reliable: We ran a soak test for 32 hours and there were 0 missed keypress or “double” keypress in 73,000 keypresses. The test script used stbt.press to navigate right & left on the Shield’s home screen, and after every keypress it checked that the selection had moved to the expected position.
You will need our USB CEC adapter. If we didn’t ship one with your Stb-tester device, contact email@example.com. Plug it in as per the diagram below — the Stb-tester Node will automatically use the CEC adapter if there is no infrared transmitter connected.
CEC is enabled by default on the Nvidia Shield.
In your test scripts you can use the following key names:
"KEY_PAUSE" work as expected (tested in the YouTube app).
There’s no equivalent of the single “play/pause” button on the remote control
(that is, CEC’s
"KEY_PLAY" doesn’t pause and
"KEY_PAUSE" doesn’t play) so
in the remote control image for the Stb-tester Portal’s “manual control”
clicking the left half of the button sends
"KEY_PLAY" and the right half
"KEY_REWIND" work as expected (tested in the YouTube
app). With long-hold the fast-forwarding/rewinding isn’t as fast as with the
real remote control, but it does work.
There’s no CEC equivalent to the Settings button (we tried all 256 CEC key
codes). However, you can still get to the same Settings menu by navigating to
the gear icon on the home screen using