Android Functional UI Testing at Amplify

611 views

Published on

Published in: Engineering, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
611
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Android Functional UI Testing at Amplify

  1. 1. Android Functional UI Testing John Lloyd QA Engineer jlloyd@amplify.com
  2. 2. Amplify UI Testing 30000 Android 4.2.1 Devices (API Level 17) 50 Developers pushing to 139 Repos 2 build agents (Ubuntu) testing 6 devices 3-4 releases a week ● 6 servers ● 5 apks ● Additional 3rd party apks
  3. 3. How much automation? Project X 5 scenarios 44 steps 10 mins Project Y 9 scenarios 96 steps 5.2 mins Pipelines take 20-40 mins!
  4. 4. Functional UI Tools We Android Device Cucumber RSpec Honeydew UI Automator Android SDK Monkey Web Cucumber RSpec Selenium Webdriver Chromedriver Capybara
  5. 5. Honeydew Honeydew is a Ruby driver for UIAutomator which enables testing of Android devices. Supports API 16 or higher (4.1 Jelly Bean) Supports cross app testing! Developed and opened sourced by Amplify https://github.com/amplify-education/honeydew $ gem install honeydew
  6. 6. Demo
  7. 7. Emulator Testing • Any* device! • Cheap! • Scale • Snapshots - Reproducible • Can’t interact with Bluetooth, Camera, Battery, GPS, sensors • Slow • *System images not always available
  8. 8. Physical Device Testing • Any device • Fast • Better for exploratory testing • Expensive • Fragile • Limited availability • Consumer Hardware will not handle lab abuse
  9. 9. Hardware tricks we have learned • Setup/Takedown Hooks to Wipe Data / Factory Reset • Disable Performance Modes and Battery Savers. • Separate your USB and Power supply when possible • Wireless ADB • Get Static IPs • Isolate Wireless Network • Dirty displays, labels and stickers = flakey tests • Keep a box of backup devices, fully charged
  10. 10. Upcoming challenges Multiple device support • ARM/Intel • 2.4.1 / 2.4.4 • Marketplace 3rd Party Apps
  11. 11. We are open to new tools Calabash • Cucumber • Robotium Appium • Webdriver based
  12. 12. And we are on the right path
  13. 13. Keep in touch, join us, or fork us jlloyd@amplify.com github.com/amplify-education http://extracredit.amplify.com/jobs http://extracredit.amplify.com

×