Currently, only Android-based set-top boxes are supported.
Registering Equipment #
Unlike the method for connecting iOS/Android devices, IPTV set-top boxes cannot be directly connected via USB. Instead, you must enter the set-top box’s IP address in Stego for remote access.
To connect, you will need the set-top box’s internal IP address (DHCP).

Step 1. Register the IPTV license file by navigating to Stego > Settings > License.
(For license file issuance, please contact contact@apptest.ai. )

Step 2. After registering the correct license file, the IPTV tab will be activated.

Step 3. Click the IPTV tab, enter the desired device name in the Name field, and input the IP address and port number (if needed) of the set-top box in the Host field.
Click + Add to save multiple set-top boxes at once, or click – to delete a device.

Step 4. Click Save button to confirm that the device is successfully registered, and check the popup message at the bottom right.

(Successful registration)

(Failed registration)

Step 5. To connect the registered set-top box, click the + button at the top right in the Device window on the main screen.
For more details on device connection, refer to “Downloading and installing Stego.”

Step 6. If the connection is successful, a screen similar to the one below will appear.
Overview of the Connected Device Screen #

① The name of the connected set-top box.
② Displays the screen of the selected connected device.
③ Toolbox
- Analyzes UI elements on the current screen for scenario creation.
- Captures the current screen.
- Copies the App ID to the clipboard.
- If the connection is lost or the mirroring screen becomes unstable, click Refresh to attempt reconnection.
Note) Unlike iOS and Android devices, touch actions are not supported on set-top boxes.
Remote Control Usage #
Unlike scenario creation on Android and iOS devices, IPTV scenarios are created using keycodes via the remote control.

To create scenarios and control the set-top box screen, Stego provides a remote control UI.
As of 2024.01.02, the following devices support the remote control:
- LGU+ IPTV – UHD2
- LGU+ IPTV – UHD3
- LGU+ IPTV – UHD4T
- LGU+ IPTV – UHD4K
- LGU+ IPTV – UHD_SoundBarBlack
For more information on remote control buttons or adding new remotes, please contact contact@apptest.ai.
Remote Control Mode Changes #

① Control Mode : Operate the set-top box via the remote control UI. Automatically switches off when Edit Mode is activated.
② Record Mode : In Control Mode, this feature allows you to easily create scenario steps, which are generated along with remote control actions.
③ Edit Mode : Modifies the attribute values of the selected scenario’s Keycode steps according to the selected remote control button action.
Special Actions #
Due to certain limitations, such as the inability to use touch or low hardware specifications on IPTV devices, special actions are provided to address these challenges.
Input Action #
This feature supports scenarios that require text entry into a search bar.
Instead of inputting consonants/vowels one by one using the remote control, the Input feature allows users to type Hangul, English, special characters, and numbers all at once.




IPTV Abnormal Video Detection Action #
This specialized action monitors video playback—one of IPTV’s core features—by detecting abnormalities such as video freezing or audio silence.
Note) This action is only available with an active IPTV license.

If Abnormal Video Action #
Detects video and audio abnormalities during playback and executes additional actions (child steps) when abnormality detection conditions are met.
It is primarily used to identify abnormal conditions and handle follow-up actions.
If Abnormal Video Attributes #
- Monitoring duration : Sets the duration for video monitoring.
- Default : 10 (sec)
- Range : 5 ~ 3,600 (sec)
- Indicators : Allows you to set monitoring metrics for video quality, including video freeze and audio silence detection.
- Video freeze : Detects a video freeze if the frame change percentage(%) stays below the specified threshold for the set duration (sec).
– Default : 2 (%) for 5 (sec)
– Range : 0 ~ 100 (%) for 1 ~ 3,600 (sec) - Audio silence : Detects an audio silence if the sound pressure level (dB) stays below the specified threshold for the set duration (sec).
– Default : 2 (dB) for 5 (sec)
– Range : 0 ~ 100 (dB) for 1 ~ 3,600 (sec) - AND/OR Condition : Sets the conditions for detecting video freeze and audio silence.
(In the AND condition, an abnormality is detected only if both conditions are met, whereas in the OR condition, it is detected if either condition is met.)
– Default : AND
– Range : AND/OR
- Video freeze : Detects a video freeze if the frame change percentage(%) stays below the specified threshold for the set duration (sec).

(Example of If Abnormal Video Action Attributes)
If Abnormal Video Action Step Result #
Provides results by detecting video and audio abnormalities during playback to identify any issues.
Playback section indicators enable a detailed review of segments where video freezing or audio silence occurred.

(Example of ‘If Abnormal Video’ Action Step Result When No Abnormalities Are Detected)
① The name of the executed step is displayed.
② The result message of the executed step is displayed.
③ A video player for the tested segment is provided.
④ The results for the video freeze indicator are displayed.
⑤ The results for the audio silence indicator are displayed.
⑥ The user-defined threshold is displayed as a yellow line.

(Example of ‘If Abnormal Video’ Action Step Result When Abnormalities Are Detected)
① The name of the executed step is displayed.
② The result message of the executed step is displayed.
③ A video player is provided to replay the tested segment.
④ A checkbox is provided to toggle the abnormality detection area on or off.
⑤ The detected video freeze section is highlighted in red.
⑥ The detected audio silence section is highlighted in red.
⑦ The user-defined threshold is displayed as a yellow line.
⑧ Hovering over the detected abnormality section displays the detected timestamp as a tooltip.
Assert Video Action #
It inspects video and audio abnormalities during playback. If the abnormality detection conditions are met, an error message defined in the ‘type’ attribute is displayed, and the test scenario is halted.
Assert Video Attributes #
- Monitoring duration : Sets the duration for video monitoring.
- Default : 10 (sec)
- Range : 5 ~ 3,600 (sec)
- Indicators : Defines the monitoring metrics for video quality, including video freeze and audio silence detection.
- Video freeze : Detects a video freeze if the frame change percentage(%) stays below the specified threshold for the set duration (sec).
– Default : 2 (%) for 5 (sec)
– Range : 0 ~ 100 (%) for 1 ~ 3,600 (sec) - Audio silence : Detects an audio silence if the sound pressure level (dB) stays below the specified threshold for the set duration (sec).
– Default : 2 (dB) for 5 (sec)
– Range : 0 ~ 100 (dB) for 1 ~ 3,600 (sec) - AND/OR Condition : Sets the conditions for detecting video freeze and audio silence.
(In the AND condition, an abnormality is detected only if both conditions are met, whereas in the OR condition, it is detected if either condition is met.)
– Default : AND
– Range : AND/OR
- Video freeze : Detects a video freeze if the frame change percentage(%) stays below the specified threshold for the set duration (sec).
- custom message : Allows you to enter a message that will be displayed in the output when the specified conditions are met.
- type : Determines whether the inspection result is displayed as an Error or Warning if the specified conditions are met.
- ERROR : If the condition is not met, the result is displayed in red, and the scenario stops.
- WARNING : If the condition is not met, the result is displayed in yellow, and the next step proceeds.
- label : Allows you to enter a label value when selecting the label input field.
– Up to 10 labels can be added (can be deleted).
– Previously used labels will appear in a dropdown list.
– If an assertion fails, the label is added to Ptero’s Test Runs.

(Example of Assert Video Action Attributes)
Assert Video Action Step Result #
The Assert Video action verifies video and audio abnormalities during playback and provides the results for review.
It provides playback segment indicators, enabling a detailed analysis of segments where video freezing or audio silence has occurred.
This feature allows you to intuitively evaluate the results of executed steps and enhances the reliability of video monitoring.

(Example of ‘Assert Video’ Action Step Result When No Abnormalities Are Detected)
① The name of the executed step is displayed.
② The result message of the executed step is displayed.
③ A video player for the tested segment is provided.
④ The results for the video freeze indicator are displayed.
⑤ The results for the audio silence indicator are displayed.
⑥ The user-defined threshold is displayed as a yellow line.

(Example of ‘Assert Video’ Action Step Result When Abnormalities Are Detected)
① The name of the executed step is displayed.
② The result message of the executed step is displayed.
③ A video player is provided to replay the tested segment.
④ A checkbox is provided to toggle the abnormality detection area on or off.
⑤ The detected video freeze section is highlighted in red.
⑥ The detected audio silence section is highlighted in red.
⑦ The user-defined threshold is displayed as a yellow line.
⑧ Hovering over the detected abnormality section displays the detected timestamp as a tooltip.
Runtime Settings and Wait Action #
Depending on the performance of the set-top box, key inputs may be missed, preventing the scenario from progressing to the next step correctly.
To avoid this issue, this guide explains how to configure wait times between scenario steps.
This feature applies to individual scenarios and allows you to set adequate wait times between steps.

① Select the Settings icon in the scenario.
② Click the ‘Runtime’ menu.
③ Set an appropriate ‘Runtime’ value to ensure smooth progression to the next step.
④ Click the ‘Save’ button to apply the settings.
If a specific step requires a separate wait time, it can be applied individually using the following method:

① Create a new step.
② Add the ‘Wait’ action between steps.
③ Specify the desired wait time in the ‘value’ field.
Using this method, you can configure the required wait time for each scenario or step flexibly, ensuring more reliable key input recognition.
Note) The wait time takes effect after the corresponding step has been executed.