Appium for Couch Potatoes: An HbbTV Driver

schedule Jun 15th 01:45 - 02:30 PM place Jupiter people 19 Interested

Almost 13 years ago we started with Selenium to automate websites. With Appium we generalised that concept on mobile and just recently entered the Windows and Mac space by adding a Windows and Mac OS driver to the Appium family. Let’s continue our StarDriver quest and enter a (not quite) new sphere: the television. Within the last years, a new standard called Hybrid Broadcast Broadband TV (HbbTV) evolved with which the latest generation of Smart TVs has been equipped. This standard allows broadcasters to build web apps for their broadcast channels to provide additional context information to the TV stream or videos on demand.

The number of HbbTV apps being developed is increasing more and more as the standard gets rolled out to the whole world. By now almost all TV manufacturers support the standard and due to the high number of TVs in the market the fragmentation is extreme. Different TVs run different proprietary rendering engines with a different level of JavaScript support. Until today the only way to test an HbbTV app is by taking the remote control and manually walking through the app, this has to change.

This talk will introduce a new driver to Appium that allows the running of automated tests based on the Webdriver protocol for HbbTV apps on Smart TVs. It will explain not only how the driver works but also how in general other drivers do their job in the Selenium and Appium world. We will look into the challenges that automating an app for a TV device brings and will talk about how anyone can build a driver for anything.


Outline/Structure of the Talk

  1. History about Selenium and WebDriver
  2. Fundamentals in automating browsers
  3. HbbTV
  4. Architecture of an Appium driver for Smart TVs
  5. Debugging Capabilities

Learning Outcome

People will learn how browser automation works today and how they can apply the same fundamentals to build an automation driver for arbitrary devices.

Target Audience

Everyone who is interested in how Appium works under the hood and how automation can be realized in arbitrary environments.

schedule Submitted 8 months ago

Public Feedback

comment Suggest improvements to the Speaker
  • Wim Selles
    By Wim Selles  ~  8 months ago
    reply Reply

    Hi Christian,


    This looks very interesting, but regarding the time, do you think the 20 minutes is enough or would this fit better into a 45 minute talk with some extra deep dives?

    • Christian Bromann
      By Christian Bromann  ~  8 months ago
      reply Reply

      This could also be a 45min talk.

  • Liked Wim Selles

    Wim Selles - Building your own native app visual testing module with Appium

    Wim Selles
    Wim Selles
    Solution Architect
    Sauce Labs
    schedule 9 months ago
    Sold Out!
    45 Mins
    Case Study

    We all know that Appium can do (almost) everything what you tell it to do, but in the end we always ask it to do the same thing. We ask Appium to automate our happy and or our error flow. The result can give us the confirmation that the user can still buy a product, or verify if his bank account still has a positive balance.

    But what if we need to know more than that - what if we also need to verify the layout of our app? The answer would be easy, as there are plenty of open-source or paid solutions that can help you with that. However, almost all of these solutions focus on web/hybrid apps, not on native iOS and or Android apps.

    I faced this challenge when I was automating a React Native app for my customer. There was no image comparison tool that could do what I wanted it to do, so I rolled up my sleeves and started building my own. In this talk we’ll be walking down the path I’ve been taking and I’ll explain:

    • Why I used ResembleJS as my core visual comparison solution
    • The things I’ve learned about Appium in the process (pro tips!)
    • The differences between iOS and Android and how I managed to solve this in one cross-platform solution
    • The pros and cons of my solution