Slide 1

Slide 1 text

Appium Parallel Tests

Slide 2

Slide 2 text

Android Device Fragmentation 24000 distinct devices worldwide

Slide 3

Slide 3 text

Android Versions, Year of Release

Slide 4

Slide 4 text

Android Versions Distribution

Slide 5

Slide 5 text

Native vs. Hybrid vs. Mobile

Slide 6

Slide 6 text

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.

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

Appium Architecture [Android]

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

What to test? Single – Sequential Test Approach ?

Slide 12

Slide 12 text

Multi threaded approach?

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

How about this?

Slide 15

Slide 15 text

Do you want to hire this team?

Slide 16

Slide 16 text

Then, what are the options? Automate the tests using Appium • Should it be sequential?

Slide 17

Slide 17 text

Then, what are the options? Sequential?? Keep watching It may end in a week time !!

Slide 18

Slide 18 text

Run them Parallel

Slide 19

Slide 19 text

Remember !!

Slide 20

Slide 20 text

Now

Slide 21

Slide 21 text

How about Cloud?

Slide 22

Slide 22 text

Google Device Racks in Cloud !!

Slide 23

Slide 23 text

Lets go to the demo

Slide 24

Slide 24 text

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.

Slide 25

Slide 25 text

Device Setup for Parallel Execution

Slide 26

Slide 26 text

What will you see?

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

No content