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

Android UI Testing with Espresso

Xavi Rigau
December 10, 2013

Android UI Testing with Espresso

Slides for the talk I gave at Droidcon Spain 2013 & Droidcon Italy 2014 about UI testing with Google's Espresso testing API for Android

Code for this session can be found here: https://github.com/xrigau/droidcon-android-espresso

Xavi Rigau

December 10, 2013
Tweet

More Decks by Xavi Rigau

Other Decks in Programming

Transcript

  1. Who am I? ✦ +Xavi Rigau – @xrigau – github.com/xrigau

    [email protected] ✦ 23. Born in Barcelona – Living in London ✦ Started working on Android in 2010 ✦ Currently working @Novoda – github.com/novoda
  2. We’re hiring! ✦ Software craftsmen ✦ Passionate people ✦ Open

    source enthusiasts ✦ Positions available in London and Berlin ✦ Send us an email: [email protected]
  3. What’s Espresso? ✦ “a fun little Android UI test API”

    – Google ✦ Presented during Google Test Automation Conference 2013 (1) ✦ Open Source – code.google.com/p/android-test-kit ✦ Allows writing painless UI tests with a nice interface ✦ Compatible with Android API 8, 10 & 15 - 19 1. GTAC 2013: Espresso – youtu.be/T7ugmCuNxDU
  4. ✦ Easy to set up (1) ✦ Fluid API (high

    level, readable tests) ✦ Extensible (based on Matchers – create your own!) ✦ Fast execution (Smart Waiting – no need to sleep()) Why Espresso? 1. Not in Maven central, use Novoda’s repo: github.com/novoda/public-mvn-repo/tree/master/releases http://en.wikipedia.org/wiki/Buddy_Christ
  5. Demo time! ✦ Espresso – $ git clone https://code.google.com/p/android-test-kit/ ✦

    droidcon-android-espresso – github.com/xrigau/droidcon-android-espresso ✦ $ git clone [email protected]:xrigau/droidcon-android-espresso.git ✦ Write some tests! (Look at the “Next steps” section in the Readme file) http://memegenerator.net/instance/27270106
  6. Bonus: Espresso 1.1 ✦ Adds swipe left & right actions

    for ViewPagers ✦ Multi-window support! (for Dialog, AutoCompleteTextView, …) ✦ Contrib Library (depends on the support library - not in core) • Adds support for DrawerLayout ✦ Other improvements, bug fixes and optimisations Release notes: https://code.google.com/p/android-test-kit/wiki/ReleaseNotes