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

Run Real Android Device Tests in Parallel Using Appium

Run Real Android Device Tests in Parallel Using Appium

A detailed view about why and how parallel android tests in multiple devices using Appium and Selenium Grid


Babu Manickam

August 25, 2016

More Decks by Babu Manickam

Other Decks in Programming


  1. Appium Parallel Tests

  2. Android Device Fragmentation 24000 distinct devices worldwide

  3. Android Versions, Year of Release

  4. Android Versions Distribution

  5. Native vs. Hybrid vs. Mobile

  6. Tools Rule 1 Rule 2 Rule 3 Rule 4 Calabash-ios

    Frank UIAutomation ios-driver KeepItFunctional Calabash-android MonkeyTalk Robotium UiAutomator Selendroid Appium Tools & Features – A comparison Study The app, which is to be automated is of same code as in production / store The tool scripting supported by any language and can be of any frameworks The tool using a standard automation specification an a large and thriving open- source community effort d API. The tool has a large and thriving open- source community effort for support.
  7. None
  8. Appium Architecture [Android]

  9. None
  10. What to test? 1. Every OS version that your app

    supports 2. Every language supported by your app 3. Every resolution / screen size 4. At least the most popular device manufactures
  11. What to test? Single – Sequential Test Approach ?

  12. Multi threaded approach?

  13. What to test? You, may end up like him!!

  14. How about this?

  15. Do you want to hire this team?

  16. Then, what are the options? Automate the tests using Appium

    • Should it be sequential?
  17. Then, what are the options? Sequential?? Keep watching It may

    end in a week time !!
  18. Run them Parallel

  19. Remember !!

  20. Now

  21. How about Cloud?

  22. Google Device Racks in Cloud !!

  23. Lets go to the demo

  24. What will you see? 1. Start the GRID hub 2.

    Start 3 Appium Server Nodes – Each one with real devices (Nexus Phones and Samsung Tablets) and Register with Hub. 3. Verify in the Console 4. Change the Appium test cases to point to Hub. 5. Running in Single thread and followed by distributed and finally parallel distribution 6. Look at the extent reports.
  25. Device Setup for Parallel Execution

  26. What will you see?

  27. Challenges 1. In random sequence, the Hub or the node

    crashes when it runs longer (for few hours) 2. Creating dynamic node configurations (specially when not USB connected) 3. Number of connected Real devices per Appium Hub/Node Server 4. Videos of android devices when running in parallel
  28. Future Work 1. Node config auto generation 2. Identification of

    memory consumption during long hours and auto disconnect/reconnect coding 3. Implementation of Anker hub port with display programming of with device health check 4. Integration of multiple Grid dashboard showing all devices execution across organization
  29. None
  30. None
  31. None