Use WebOS OSE for test automation on Smart TV apps

Hello,
I work for a video streaming company. We are developing an app for LG Smart TVs and was thinking that WebOS OSE running on a RaspberryPi might be used for test automation. The idea would be to install the app that has been developed for Smart TVs on the RaspberryPi and then plug that into a test rig running STB-tester (stb-tester.com).

Now I've managed to install the app and I can start the app but it never loads properly (I just see a spinner but never reach the sign-in screen). Can anyone provide any insight into what might be causing this? In what ways does WebOS OSE differentiate from the version of WebOS running on LG Smart TVs? What can be done to solve this, if anything?

Hi @mars

A small clarification first:

Is it a webapp or native app?

I'm assuming the sign-in screen is the start screen of your particular app. First off, the spinner you mentioned, is it something you have within your app or something shown by webOS OSE? Do you have any conditions being checked prior to the loading screen?
Since I'm not sure about the answers to the above questions I'd recommend monitoring the console in the Eclipse IDE that is primarily used for webOS app development. It comes bundled with the SDK used for developing apps in LG TVs but should work fine for OSE as well.

Alternatively, you could use the command line tool and enable debug logging via luna-send to see where the issue is.

AFAIK, the only discernible difference between the 2 is that the version running on Smart TVs have LGs proprietary card-based UI which the OSE lacks. Other than that there possibly are internal changes but those changes won't affect app development IMHO.

Hi @n-jay,
Thanks for your feedback and sorry for my late response. To answer your questions:

  1. It's a Webapp
  2. Yes, the sign-in screen is the first screen in our app. The spinner is part of the app, not webOS.
  3. Not sure about whether any conditions are checked before the loading screen.

I will definitely check the debug logging as you recommended.
One of our theories is that the web browser included with webOS OSE isn't compatible somehow. Can you tell me whether the browser in OSE is identical to that on Smart TVs?

Thanks!

If the spinner is part of the app, then what it is indicative of?
Is it network connectivity state?

This I'm not exactly sure as I haven't interacted with the web-browser component that well. Regardless, from what I understand webOS OSE is updated far more frequently than webOS TV hence should support newer JS revisions other web components far better than the latter.

Also, you are referring to the actual web-browser app and not the NodeJS runtime version, right?

The current OSE uses Enact browser, and it is not the same as TV.

Thank you for your input. We've had to abandon this project. It seems very unlikely that it's going to work. We are pretty sure the reason for this issue is with the device ID. As the app launches it tries to identify the device it's running on and since it's not running an a smart TV as it's designed to this step fails. We could potentially solve this by adding OSE as one of the supported devices but that means changing the app which is not ideal.

Might I suggest moving away from webOS OSE and developing on the webOS TV SDK itself?

You don't even have to work on an RPi, a majority of the TV APIs work fine on the VirtualBox emulator provided. An example is the device info.
Although testing on the VBox emulator would mean you'd have to find an alternative way to perform the test automation.