Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Appium for Couch Potatoes: An HbbTV Driver

Appium for Couch Potatoes: An HbbTV Driver

Almost 15 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.

Christian Bromann

June 15, 2019
Tweet

More Decks by Christian Bromann

Other Decks in Technology

Transcript

  1. 3

  2. 4 Tooling Landscape Client Libraries / Frameworks The tools that

    are used by you!
 
 e.g. Selenium, WebdriverIO, Nightwatch, Selenide etc. Drivers Takes care of automating the device.
 
 e.g. Chromedriver, Geckodriver, Appium, Selendroid Target Device The thing that you want to automate..
 
 e.g. Chrome (mobile / desktop), native apps
  3. 6

  4. 7 7

  5. 8

  6. 9 Selenium WebDriver • Browser automation using native interfaces (telnet,

    COM, JSSH) • No cross site scripting issues • Only Java support at the beginning • Browser automation via executing JavaScript in the target environment • Communication over a simplified HTTP protocol • Support for all programming languages
  7. 11

  8. 14

  9. 16

  10. 17

  11. 19

  12. 20

  13. 21

  14. 22

  15. 23 BROADCAST-INDEPENDANT APPLICATIONS • Not assosicated with a broadcast stream

    • TV apps provided by the device vendor BROADCAST-RELATED APPLICATIONS • Associated and opened with a specific broadcast stream • Automatic or explicit launch by user via Red Button
  16. 25

  17. 26

  18. 27

  19. 28

  20. 29

  21. 30

  22. 31

  23. 33

  24. 34

  25. 35

  26. 36

  27. 37

  28. 38

  29. 40

  30. 41

  31. 42

  32. 43

  33. 44

  34. 45

  35. 46

  36. 47