All guides
LG webOS·July 6, 2026·4 min read

LG webOS app testing: the complete workflow

How to test an LG webOS TV app end to end: the webOS TV Simulator, the emulator, the ares CLI, Developer Mode on a real LG TV, and the Magic Remote quirk that catches teams off guard.


LG's webOS is the second-largest smart-TV platform, and like Samsung's Tizen, its apps are web apps. If you already build for Tizen, most of your code carries over. But webOS has its own SDK, its own packaging format, and one input quirk that will break a naive port: the Magic Remote.

Here is the full testing workflow.

Install the webOS TV SDK

Everything starts with the webOS TV SDK. It gives you three things:

  • The webOS TV Simulator, a browser-based quick preview.
  • The webOS TV Emulator, a full virtualized device.
  • The ares CLI, the command-line tools you will actually live in.

The ares commands are the backbone of webOS testing. The ones you will use daily:

ares-package ./myapp        # build an .ipk package
ares-install ./myapp.ipk    # install to a target device or emulator
ares-launch com.you.app     # launch the app
ares-inspect com.you.app    # open remote Web Inspector (Chrome DevTools)

Layer 1: the Simulator for fast iteration

The webOS TV Simulator runs your app in a desktop browser with the webOS APIs available. It is the fastest loop for checking layout, the 10-foot UI, and your handling of the webOS lifecycle. Use it the way you would use a browser: to fail cheaply before involving a device.

What it will not tell you is anything about real performance or the pointer, which brings us to the emulator.

Layer 2: the Emulator for OS behavior

The webOS TV Emulator boots a real webOS image in a virtual machine. It is slower than the Simulator but far more accurate for app-launch behavior, the luna service calls, and remote input events. This is where you validate that your key handler responds to the actual webOS key codes and that your app suspends and resumes correctly when the user switches away and back.

The Magic Remote: the quirk that breaks ports

Here is the thing that catches teams moving from other platforms. LG's Magic Remote is a pointer. Users can wave it around and click like a mouse, in addition to using the D-pad.

That means webOS apps have to work with two input models at once:

  • Classic five-way D-pad navigation with focus states.
  • Pointer navigation with hover and click, like a cursor.

An app designed only for D-pad focus feels broken when someone picks up the Magic Remote and starts pointing. An app designed only for pointer is unusable for someone who never lifts the remote off the coffee table. You have to support both, and you have to test both. The emulator lets you toggle the pointer on and off, so exercise your UI in each mode before you ship.

Layer 3: Developer Mode on a real LG TV

To test on real hardware:

  1. Install the Developer Mode app from the LG Content Store on the TV.
  2. Sign in with an LG developer account and enable Dev Mode. The TV shows a key server and a passphrase.
  3. From your machine, register the device with ares-setup-device, then install and launch with the ares CLI.
  4. Run ares-inspect to open Web Inspector against the live TV.

Now you are debugging the real device with Chrome DevTools: real memory, real codecs, real firmware behavior. As with Samsung, an older, lower-end LG panel exposes more bugs than a current flagship, because the flagship's headroom hides your memory problems.

What to actually test on webOS

A focused checklist that reflects where webOS apps really fail:

  • Dual input. D-pad focus order and pointer hover both work, everywhere.
  • Back button. The Back key returns to the previous view and exits cleanly from the root. LG certification checks this.
  • App lifecycle. Suspend and resume preserve state; nothing leaks when the app is backgrounded.
  • Memory on low-end panels. Long browsing sessions and media playback stay within budget.
  • Codec and DRM. Your real streams play on the firmware your users have, not just in the Simulator.

Where webOS fits in a cross-platform plan

Because webOS and Tizen are both web platforms, they share most of a single codebase and most of your test effort. Treat them as a pair, then handle Roku and native platforms separately. The cross-platform testing guide lays out the full matrix, and the deployment workflow covers packaging the .ipk and getting into the LG Content Store.