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

Appium: The Next Generation

Appium: The Next Generation

Keynote presentation given at AppiumConf 2019 in Bengaluru, India.

Jonathan Lipps

June 14, 2019
Tweet

More Decks by Jonathan Lipps

Other Decks in Technology

Transcript

  1. Appium: The Next Generation
    Jonathan Lipps • Founding Principal • Cloud Grey

    @AppiumDevs • @cloudgrey_io • @jlipps • appiumpro.com
    AppiumConf 2019 · Bengaluru
    June 14, 2019

    View Slide

  2. Founding Principal
    All The Things
    Jonathan Lipps • Founding Principal • Cloud Grey

    @AppiumDevs • @cloudgrey_io • @jlipps • appiumpro.com

    View Slide

  3. View Slide

  4. Recognition

    View Slide

  5. Changes

    View Slide

  6. @jlipps · cloudgrey.io
    The stakes are getting higher.
    Your job is getting more complex.
    How to keep up with it all?

    View Slide

  7. Visual Testing
    Performance Testing
    UX Testing
    A/V Testing
    …and more
    Beyond Functional Testing
    @jlipps · cloudgrey.io

    View Slide

  8. Has my app’s visual appearance changed?
    Intrusive or absent elements
    Style / design bugs
    Form factor / layout bugs
    I18N bugs
    Visual Testing
    @jlipps · cloudgrey.io

    View Slide

  9. Is my app responsive enough?
    Code blocking UI thread
    Slow network or poor network stack design
    Resource (CPU/Mem) overuse
    Old hardware or ignored locales
    Performance Testing
    @jlipps · cloudgrey.io

    View Slide

  10. Is my app’s media consumable? How would a
    human listener / viewer rate it?
    Dropped frames
    A/V failing to play
    Compression artifacts
    Streaming server issues
    A/V Testing
    @jlipps · cloudgrey.io

    View Slide

  11. @jlipps · cloudgrey.io
    Your job is getting more complex.
    Are your tools keeping up?

    View Slide

  12. Tool Fatigue
    @jlipps · cloudgrey.io
    Automation Tools
    CI/Build Tools
    App Dev Tools
    Network Simulation Tools
    Load Generation Tools
    A/V Capture Tools Test Frameworks
    Testcase Management
    Test Design Tools
    Image Comparison Tools
    Performance Monitoring
    API Testing Tools

    View Slide

  13. Image analysis
    UX data analysis
    Test metadata analysis
    Test authoring tools
    Test discovery / generation tools
    AI/ML for Testing
    @jlipps · cloudgrey.io

    View Slide

  14. @jlipps · cloudgrey.io
    Where does Appium fit?

    View Slide

  15. @jlipps · cloudgrey.io
    Appium is the common interface for
    platform automation

    View Slide

  16. Less cognitive overload: one API everywhere
    Platform extensibility: new Webdriver-compatible drivers are trivial to build
    Feature extensibility: single-purpose plugins (Appium 2.0)
    Mix and match the drivers and plugins you need (Appium 2.0)
    Big umbrella, big community, open perspective
    Benefits of Appium’s Philosophy
    @jlipps · cloudgrey.io

    View Slide

  17. @jlipps · cloudgrey.io
    Appium won’t do everything!
    %

    View Slide

  18. @jlipps · cloudgrey.io
    Peaceful coexistence of an open source
    core and high-quality service ecosystem

    View Slide

  19. Image recognition (find element by image, image comparison)
    AI (test.ai classifier plugin)
    Batch commands for faster cloud execution
    Important platform updates and maintenance
    Adding new and useful features whenever possible
    But Appium will keep up!
    @jlipps · cloudgrey.io

    View Slide

  20. A Fun Example

    View Slide

  21. Back in 2016…

    View Slide

  22. (REBEL APPLIANCE SHIP FLEES
    THE GOOGLACTIC EMPIRE)
    Back in 2016…

    View Slide

  23. assertEqual(len(ship.torpedos), 4)
    trigger = driver.find_element_by_id(“proton_torpedo”)
    trigger.click()
    assertEqual(len(ship.torpedos), 2)
    Back in 2016…

    View Slide

  24. View Slide

  25. View Slide

  26. View Slide

  27. View Slide

  28. View Slide

  29. View Slide

  30. @jlipps · cloudgrey.io

    View Slide

  31. @jlipps · cloudgrey.io

    View Slide

  32. View Slide

  33. @jlipps · cloudgrey.io

    View Slide

  34. View Slide

  35. View Slide

  36. @jlipps · cloudgrey.io

    View Slide

  37. @jlipps · cloudgrey.io

    View Slide

  38. @jlipps · cloudgrey.io

    View Slide

  39. @jlipps · cloudgrey.io

    View Slide

  40. ⚠ Live Electronics Demo ⚠

    View Slide

  41. The WebDriver API is pretty flexible!
    Appium can run a lot of places, even on Rasberry PIs or other little things
    It was easy to create a driver for Rasberry PI GPIO header (< 250 LOC)
    Is IoT hardware automation useful? Unclear. But it’s fun!
    Get out there and do creative stuff with Appium!
    Conclusions
    @jlipps · cloudgrey.io

    View Slide

  42. @jlipps · cloudgrey.io
    Sorry, no music performance this year!

    View Slide

  43. @jlipps · cloudgrey.io
    When There Was Still Code to Write
    Planned Obsolescence
    Ghost in the Machine
    AppiumConf 2018
    LXJS 2014
    LXJS 2013
    Released everywhere 6/18!
    Follow @splendoursounds

    View Slide

  44. Thank You!
    Don’t forget to sign up for
    Your free weekly Appium newsletter
    appiumpro.com
    Jonathan Lipps • Founding Principal • Cloud Grey

    @AppiumDevs • @cloudgrey_io • @jlipps • appiumpro.com

    View Slide