SlideShare una empresa de Scribd logo
1 de 49
How to Leverage Appium in
Your Mobile App Testing
7 January 2014
Ville-Veikko Helppi

Saad Chaudry

Technical Product Manager

Sr. Software Engineer

ville-veikko.helppi@bitbar.com

saad.chaudry@bitbar.com
Agenda
• Different Ways to Automate Your App Testing
• Appium and How It Compares Against Other
Test Automation Frameworks
• Appium with Real Devices (@Testdroid Cloud)
• 10 Tips for Professional Mobile App Testing
• Demonstration
• Q&A
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

2
Agenda
• Different Ways to Automate Your App Testing
• Appium and How It Compares Against Other
Test Automation Frameworks
• Appium with Real Devices (@Testdroid Cloud)
• 10 Tips for Professional Mobile App Testing
• Demonstration
• Q&A
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

3
Different Approaches To Testing

© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

4
Different Ways of Doing Test Automation
Hand written test scripts

Record and Playback

Automatic test exercisers

Fast to create, accurate, not as
sensitive to human-errors as
hand-written tests, tools avail’ty

Fastest & extremely automated,
excellent for smoke testing/quick
testing, availability

Benefits:
Accurate, specific to your testing
needs, plenty of options with
frameworks, tools
Tradeoffs:
Takes a lot of time, ties resources Compelling Recorder+Playback
to write test cases/scripts, error- tools available for only few test
prone (humans)
automation frameworks

Not accurate as real test cases

© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

5
Option #1: Cloud-Based Testing
Users / Consumers

Successful
build

Build
failed

Commit

Repository

Test Cases
Application
QA & Testers

Error reporting

Source code
Developers

© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

6
Option #2: Continuous Integration
Users / Consumers

Successful
build

Build
failed

Commit

Repository

Test Cases
Application
QA & Testers

Error reporting

Source code
Developers

© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

7
Manual

Automation
Large coverage,
quickly
completed, Less
money & time
wasted, Exact
results.

Smaller coverage, More
money burnt & time
wasted, Error-prone
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

8
Why Apps Fail?

© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

9
Why Real Devices are Must-to-Have?
• Emulators cannot help you testing…
– User Experience and Usability
– Hardware
– Software
– Infrastructure

0%

= the percentage of your app users
that use emulator to run your app!
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

10
How to Improve the App Quality
• Automate generic things as much as you can
• During the development your app changes –
the same must apply for testing!
• Carefully select (testing) technology & partner
• Use all 24 hours per day with test automation
• Cloud-based platform is the only solution to
get you quickly covered in the global markets
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

11
Agenda
• Different Ways to Automate Your App Testing
• Appium and How It Compares Against Other
Test Automation Frameworks
• Appium with Real Devices (@Testdroid Cloud)
• 10 Tips for Professional Mobile App Testing
• Demonstration
• Q&A
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

12
Android Example: The Family Tree
of Test Automation Frameworks
Calabash

Appium
Robotium

Espresso

Android Instrumentation Framework

UI Automator

JUnit

© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

13
Appium Introduction
• Uses Selenium Webdriver (W3C working draft) as a
scripting framework
– Standard for browser automation – libs for various languages

• Supports native Android, native iOS and mobile web:
– Android via uiautomator (API level >=17) and Selendroid (API
level <17)
– iOS via UI Automation
– Mobile web as Selenium driver for Android and iOS

• You can write your Appium scripts on almost any
programming language (Haskell/Go/Clojure/Java/Ruby)
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

14
Appium: How it works?
• Appium is an HTTP server that creates and
handles WebDriver sessions
• It starts an Appium server on the device that
is listening commands from the
main Appium process
• It receives json requests from client libraries
over HTTP
• On Android Appium executes these
commands as either uiautomator or
Selendroid commands depending on the API
level of the device
• Tests are driven from a Selenium script on
Appium server

Test server

Device

UI Automator
controller or
Selendroid driver

Bootstrap.jar

Your app

Selenium script

© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

15
Appium: Test Lifecycle
1. Appium installs Bootstrap.jar as an instrumentation package
which contains an uiautomator server and a tcp server
2. The commands from a Selenium script are executed on the
main Appium server that relays the commands over TCP/IP
to the tcp server running on the device
3. The UI Automation server converts the Selenium commands
to uiautomator commands on the fly
4. If the device has API level <17 Appium installs a Selendroid
server that converts the Selenium commands to Android
Instrumentation (JUnit) commands
5. All test verification and result processing is happening on
server side in the main Appium Server
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

16
Appium: Code Example
# wait for hello
sleep(3)
textFields = driver.find_elements_by_tag_name('textField')
assertEqual(textFields[0].get_attribute("value"), "Hello")
# click sign-in button
driver.find_elements_by_name('Sign in')[0].click()

# find the text fields again, and enter username and password
textFields = driver.find_elements_by_tag_name('textField')
textFields[0].send_keys("twitter_username")
textFields[1].send_keys("passw0rd")
# click the Login button (the first button in the view) + sleep
driver.find_elements_by_tag_name('button')[0].click()
sleep(3)
# click the first button with name "Compose” + type in the tweet message + press “Send”
driver.find_elements_by_name('Compose')[0].click()
driver.find_elements_by_tag_name('textField')[0].send_keys(”#Testdroid is awesome!")
driver.find_elements_by_name('Send')[0].click()
# exit
driver.quit()

© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

17
How Appium Compares to Others?
Appium

Robotium

uiautomator

Espresso

Calabash

Android

Yes

Yes

Yes

Yes

Yes

iOS

Yes

No

No

No

Yes

Mobile web

Yes

Yes

No

Yes

(Android & iOS)

(Android)

Limited to x.y
clicks

Scripting
Language

Almost any

Java

Java

Java

Ruby

Test creation
tools

Appium.app

Testdroid
Recorder

UI Automator
viewer

Hierarchy
Viewer

CLI

Supported
API levels

All

All

16 =>

8, 10, 15-19

All

Community

Active

Contributors

Google

Google

Pretty quiet

(Android)

© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

18
Agenda
• Different Ways to Automate Your App Testing
• Appium and How It Compares Against Other
Test Automation Frameworks
• Appium with Real Devices (@Testdroid Cloud)
• 10 Tips for Professional Mobile App Testing
• Demonstration
• Q&A
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

19
Appium @ Localhost
Test Script

{
“device”:
“app”:
“app-package”:
“app-activity”:

Desired
Capabilities

“Android”,
“/Users/user/ApiDemos.apk”
“com.example.android.apis”
“.ApiDemos”

}

Test Case

© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

20
Appium @ Localhost
Test Script

Desired
Capabilities

{
“app”:

“com.bitbar.testdroid.BitbarIOSSample”

}

Test Case

© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

21
Appium @ Localhost
Test Script
4723

WebDriver
http://localhost_4723/wd/hub

Appium Server

Desired
Capabilities

Test Case

Device

© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

22
From Localhost to Testdroid Cloud
Test Script
*Testdroid Caps

WebDriver
http://localhost_4723/wd/hub
http://appium.testdroid.com/wd/hub

Desired
Capabilities

Test Case

© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.
From Localhost to Testdroid Cloud
Test Script

WebDriver

{

“testdroid_username”: “user@domain.com”,
“testdroid_password”: “p4s$w0rd”,
“testdroid_project”: “My First Project”,
“testdroid_testrun”: “Test 1”,
“testdroid_device”:
“iPad Mini 7.0.4 A1432”,
“testdroid_app”:
“http://domain.com/app_v1.ipa”
.
.
“app”: “com.bitbar.testdroid.BitbarIOSSample”

Desired
Capabilities

}

Test Case

© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

25
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

26
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

27
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

28
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

29
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

30
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

31
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

32
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

33
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

34
Behind the Scene
Test
Script

1

WebDriver Session Request
@ http://appium.testdroid.com/wd/hub/

Appium
Broker

2

Configure project

5

Appium Ready

Desired Caps, .apk / .ipa

6

WebDriver Session response

sessionid

3
Wait for device to
become available

sessionid

Session
Map

4
7

Start Appium

Test Run
sessionid

Device Cluster

Proxy
Appium
Device
Device
1
1
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

Device
2

Device
3
35
Agenda
• Different Ways to Automate Your App Testing
• Appium and How It Compares Against Other
Test Automation Frameworks
• Appium with Real Devices (@Testdroid Cloud)
• 10 Tips for Professional Mobile App Testing
• Demonstration
• Q&A
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

36
Tip #1: Test early, Test often

© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

37
Tip #2: Plan What to Automate
Time

MANUAL

Infrastructure
Tools

AUTOMATED

People

Training

© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

38
Tip #3: Use only Real Devices

© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

39
Tip #4: Use Atomic Test Units

Test iteration #1

Test iteration #2

© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

40
Tip #5: Create Hermetic Tests

© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

41
Tip #6: Use All Possible Devices

Testdroid Cloud’s 250+ Android devices
= 93-95% global Android volumes!
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

42
Tip #7: Separate Apps and Tests

Your App

© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

43
Tip #8: Output Everything to Logs

© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

44
Tip #9: End-to-End Testing

© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

45
Tip #10: Integrate Dev & Testing
Repository

Successful
build

Commit

Users / Consumers

Build
failed

Test Cases
Application
QA & Testers

Error reporting

Source code
Developers

© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

46
Agenda
• Different Ways to Automate Your App Testing
• Appium and How It Compares Against Other
Test Automation Frameworks
• Appium with Real Devices (@Testdroid Cloud)
• 10 Tips for Professional Mobile App Testing
• Demonstration
• Q&A
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

47
Agenda
• Different Ways to Automate Your App Testing
• Appium and How It Compares Against Other
Test Automation Frameworks
• Appium with Real Devices (@Testdroid Cloud)
• 10 Tips for Professional Mobile App Testing
• Demonstration
• Q&A
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

48
© Copyrights by Bitbar Technologies Ltd. 2014
All rights reserved.

49

Más contenido relacionado

La actualidad más candente

Ensure Your Mobile Channels Generate Revenue on Holiday Peak Days
Ensure Your Mobile Channels Generate Revenue on Holiday Peak DaysEnsure Your Mobile Channels Generate Revenue on Holiday Peak Days
Ensure Your Mobile Channels Generate Revenue on Holiday Peak DaysBitbar
 
How to Test Security and Vulnerability of Your Android and iOS Apps
How to Test Security and Vulnerability of Your Android and iOS AppsHow to Test Security and Vulnerability of Your Android and iOS Apps
How to Test Security and Vulnerability of Your Android and iOS AppsBitbar
 
Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions		Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions Sauce Labs
 
Android UI Testing with Appium
Android UI Testing with AppiumAndroid UI Testing with Appium
Android UI Testing with AppiumLuke Maung
 
Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?Bitbar
 
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on WebinarParallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on WebinarBitbar
 
The Status of Android Hardware and Software - From App Developer's Point of View
The Status of Android Hardware and Software - From App Developer's Point of ViewThe Status of Android Hardware and Software - From App Developer's Point of View
The Status of Android Hardware and Software - From App Developer's Point of ViewBitbar
 
Hassle-Free Continuous Integration with Real Device Testing
Hassle-Free Continuous Integration with Real Device TestingHassle-Free Continuous Integration with Real Device Testing
Hassle-Free Continuous Integration with Real Device TestingBitbar
 
Parallel testing with appium
Parallel testing with appiumParallel testing with appium
Parallel testing with appiummoizjv
 
Introduction To Mobile-Automation
Introduction To Mobile-AutomationIntroduction To Mobile-Automation
Introduction To Mobile-AutomationMindfire Solutions
 
Top Best Practices for Successful Mobile Test Automation
Top Best Practices for Successful Mobile Test AutomationTop Best Practices for Successful Mobile Test Automation
Top Best Practices for Successful Mobile Test AutomationFred Beringer
 
Exercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the EnterpriseExercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the EnterpriseBitbar
 
The Powerful and Comprehensive API for Mobile App Development and Testing
The Powerful and Comprehensive API for Mobile App Development and TestingThe Powerful and Comprehensive API for Mobile App Development and Testing
The Powerful and Comprehensive API for Mobile App Development and TestingBitbar
 
Selenium training
Selenium trainingSelenium training
Selenium trainingShivaraj R
 
What's New With Appium? From 1.0 to Now
What's New With Appium? From 1.0 to NowWhat's New With Appium? From 1.0 to Now
What's New With Appium? From 1.0 to NowSauce Labs
 
Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017Perfecto Mobile
 
Appium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriverAppium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriverAndrii Dzynia
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With AppiumKnoldus Inc.
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with AppiumSrijan Technologies
 
Automated Exploratory Testing
Automated Exploratory TestingAutomated Exploratory Testing
Automated Exploratory TestingJustin Ison
 

La actualidad más candente (20)

Ensure Your Mobile Channels Generate Revenue on Holiday Peak Days
Ensure Your Mobile Channels Generate Revenue on Holiday Peak DaysEnsure Your Mobile Channels Generate Revenue on Holiday Peak Days
Ensure Your Mobile Channels Generate Revenue on Holiday Peak Days
 
How to Test Security and Vulnerability of Your Android and iOS Apps
How to Test Security and Vulnerability of Your Android and iOS AppsHow to Test Security and Vulnerability of Your Android and iOS Apps
How to Test Security and Vulnerability of Your Android and iOS Apps
 
Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions		Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions
 
Android UI Testing with Appium
Android UI Testing with AppiumAndroid UI Testing with Appium
Android UI Testing with Appium
 
Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?
 
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on WebinarParallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
 
The Status of Android Hardware and Software - From App Developer's Point of View
The Status of Android Hardware and Software - From App Developer's Point of ViewThe Status of Android Hardware and Software - From App Developer's Point of View
The Status of Android Hardware and Software - From App Developer's Point of View
 
Hassle-Free Continuous Integration with Real Device Testing
Hassle-Free Continuous Integration with Real Device TestingHassle-Free Continuous Integration with Real Device Testing
Hassle-Free Continuous Integration with Real Device Testing
 
Parallel testing with appium
Parallel testing with appiumParallel testing with appium
Parallel testing with appium
 
Introduction To Mobile-Automation
Introduction To Mobile-AutomationIntroduction To Mobile-Automation
Introduction To Mobile-Automation
 
Top Best Practices for Successful Mobile Test Automation
Top Best Practices for Successful Mobile Test AutomationTop Best Practices for Successful Mobile Test Automation
Top Best Practices for Successful Mobile Test Automation
 
Exercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the EnterpriseExercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the Enterprise
 
The Powerful and Comprehensive API for Mobile App Development and Testing
The Powerful and Comprehensive API for Mobile App Development and TestingThe Powerful and Comprehensive API for Mobile App Development and Testing
The Powerful and Comprehensive API for Mobile App Development and Testing
 
Selenium training
Selenium trainingSelenium training
Selenium training
 
What's New With Appium? From 1.0 to Now
What's New With Appium? From 1.0 to NowWhat's New With Appium? From 1.0 to Now
What's New With Appium? From 1.0 to Now
 
Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017
 
Appium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriverAppium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriver
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With Appium
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
 
Automated Exploratory Testing
Automated Exploratory TestingAutomated Exploratory Testing
Automated Exploratory Testing
 

Destacado

Selenium Conference 2015 - Mobile Selenium Grid Setup
Selenium Conference 2015 - Mobile Selenium Grid SetupSelenium Conference 2015 - Mobile Selenium Grid Setup
Selenium Conference 2015 - Mobile Selenium Grid SetupJustin Ison
 
Appium mobile web+dev conference
Appium   mobile web+dev conferenceAppium   mobile web+dev conference
Appium mobile web+dev conferenceIsaac Murchie
 
Selenium Camp 2016 - Kiev, Ukraine
Selenium Camp 2016 -  Kiev, UkraineSelenium Camp 2016 -  Kiev, Ukraine
Selenium Camp 2016 - Kiev, UkraineJustin Ison
 
Continuous Testing in the Cloud
Continuous Testing in the CloudContinuous Testing in the Cloud
Continuous Testing in the CloudSauce Labs
 
Tap into mobile app testing@TDT Iasi Sept2013
Tap into mobile app testing@TDT Iasi Sept2013Tap into mobile app testing@TDT Iasi Sept2013
Tap into mobile app testing@TDT Iasi Sept2013Tabăra de Testare
 
Think tank event mobile app testing v1.3
Think tank event   mobile app testing v1.3Think tank event   mobile app testing v1.3
Think tank event mobile app testing v1.3Samer Desouky
 
Mobile app testing services
Mobile app testing servicesMobile app testing services
Mobile app testing servicesRichard_S
 
Mobile App Testing
Mobile App TestingMobile App Testing
Mobile App TestingDuy Tan Geek
 
Selenium Grid
Selenium GridSelenium Grid
Selenium Gridnirvdrum
 
Mobile App Testing Strategy by RapidValue Solutions
Mobile App Testing Strategy by RapidValue SolutionsMobile App Testing Strategy by RapidValue Solutions
Mobile App Testing Strategy by RapidValue SolutionsRapidValue
 
Techniques, Tips & Tools For Mobile App Testing
Techniques, Tips & Tools For Mobile App TestingTechniques, Tips & Tools For Mobile App Testing
Techniques, Tips & Tools For Mobile App TestingSOASTA
 
Getting Started with Mobile Test Automation & Appium
Getting Started with Mobile Test Automation & AppiumGetting Started with Mobile Test Automation & Appium
Getting Started with Mobile Test Automation & AppiumSauce Labs
 
How to Break your App - Best Practices in Mobile App Testing
How to Break your App - Best Practices in Mobile App TestingHow to Break your App - Best Practices in Mobile App Testing
How to Break your App - Best Practices in Mobile App TestingDaniel Knott
 
Mobile App Testing by Mark Wilson
Mobile App Testing by Mark WilsonMobile App Testing by Mark Wilson
Mobile App Testing by Mark Wilsonphpwgtn
 

Destacado (17)

Selenium Conference 2015 - Mobile Selenium Grid Setup
Selenium Conference 2015 - Mobile Selenium Grid SetupSelenium Conference 2015 - Mobile Selenium Grid Setup
Selenium Conference 2015 - Mobile Selenium Grid Setup
 
Appium mobile web+dev conference
Appium   mobile web+dev conferenceAppium   mobile web+dev conference
Appium mobile web+dev conference
 
Selenium Camp 2016 - Kiev, Ukraine
Selenium Camp 2016 -  Kiev, UkraineSelenium Camp 2016 -  Kiev, Ukraine
Selenium Camp 2016 - Kiev, Ukraine
 
Android Espresso
Android EspressoAndroid Espresso
Android Espresso
 
Continuous Testing in the Cloud
Continuous Testing in the CloudContinuous Testing in the Cloud
Continuous Testing in the Cloud
 
Tap into mobile app testing@TDT Iasi Sept2013
Tap into mobile app testing@TDT Iasi Sept2013Tap into mobile app testing@TDT Iasi Sept2013
Tap into mobile app testing@TDT Iasi Sept2013
 
Automated UI Testing Frameworks
Automated UI Testing FrameworksAutomated UI Testing Frameworks
Automated UI Testing Frameworks
 
Think tank event mobile app testing v1.3
Think tank event   mobile app testing v1.3Think tank event   mobile app testing v1.3
Think tank event mobile app testing v1.3
 
Mobile app testing services
Mobile app testing servicesMobile app testing services
Mobile app testing services
 
Mobile App Testing
Mobile App TestingMobile App Testing
Mobile App Testing
 
Selenium Grid
Selenium GridSelenium Grid
Selenium Grid
 
Mobile App Testing Strategy by RapidValue Solutions
Mobile App Testing Strategy by RapidValue SolutionsMobile App Testing Strategy by RapidValue Solutions
Mobile App Testing Strategy by RapidValue Solutions
 
Techniques, Tips & Tools For Mobile App Testing
Techniques, Tips & Tools For Mobile App TestingTechniques, Tips & Tools For Mobile App Testing
Techniques, Tips & Tools For Mobile App Testing
 
Mobile App Testing
Mobile App TestingMobile App Testing
Mobile App Testing
 
Getting Started with Mobile Test Automation & Appium
Getting Started with Mobile Test Automation & AppiumGetting Started with Mobile Test Automation & Appium
Getting Started with Mobile Test Automation & Appium
 
How to Break your App - Best Practices in Mobile App Testing
How to Break your App - Best Practices in Mobile App TestingHow to Break your App - Best Practices in Mobile App Testing
How to Break your App - Best Practices in Mobile App Testing
 
Mobile App Testing by Mark Wilson
Mobile App Testing by Mark WilsonMobile App Testing by Mark Wilson
Mobile App Testing by Mark Wilson
 

Similar a How to Leverage Appium in Your Mobile App Testing

Maximize the Benefits from Your Test Automation Investment
Maximize the Benefits from Your Test Automation InvestmentMaximize the Benefits from Your Test Automation Investment
Maximize the Benefits from Your Test Automation InvestmentBitbar
 
Real Devices or Emulators: Wen to use What for Automated Testing
Real Devices or Emulators: Wen to use What for Automated TestingReal Devices or Emulators: Wen to use What for Automated Testing
Real Devices or Emulators: Wen to use What for Automated TestingSauce Labs
 
Automated Mobile Testing using Appium.pdf
Automated Mobile Testing using Appium.pdfAutomated Mobile Testing using Appium.pdf
Automated Mobile Testing using Appium.pdfAnand722237
 
Mastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with AppiumMastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with AppiumPerfecto by Perforce
 
Testing Your Android and iOS Apps with Appium in Testdroid Cloud
Testing Your Android and iOS Apps with Appium in Testdroid CloudTesting Your Android and iOS Apps with Appium in Testdroid Cloud
Testing Your Android and iOS Apps with Appium in Testdroid CloudBitbar
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application TestingSun Technlogies
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing Shivaraj R
 
APImetrics Product Introduction
APImetrics Product IntroductionAPImetrics Product Introduction
APImetrics Product Introductionapimetrics
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with AppiumManoj Kumar Kumar
 
Launch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with AppurifyLaunch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with AppurifyManish Lachwani
 
Appurify presentation at Appium meetup - Running Appium on real devices at scale
Appurify presentation at Appium meetup - Running Appium on real devices at scaleAppurify presentation at Appium meetup - Running Appium on real devices at scale
Appurify presentation at Appium meetup - Running Appium on real devices at scaleJay Srinivasan
 
Appium meet up noida
Appium meet up noidaAppium meet up noida
Appium meet up noidaAmit Rawat
 
Improving Android app testing with Appium and Sauce Labs
Improving Android app testing with Appium and Sauce LabsImproving Android app testing with Appium and Sauce Labs
Improving Android app testing with Appium and Sauce LabsIsaac Murchie
 

Similar a How to Leverage Appium in Your Mobile App Testing (20)

Testdroid:
Testdroid: Testdroid:
Testdroid:
 
Maximize the Benefits from Your Test Automation Investment
Maximize the Benefits from Your Test Automation InvestmentMaximize the Benefits from Your Test Automation Investment
Maximize the Benefits from Your Test Automation Investment
 
Automate you Appium test like a pro!
Automate you Appium test like a pro!Automate you Appium test like a pro!
Automate you Appium test like a pro!
 
Real Devices or Emulators: Wen to use What for Automated Testing
Real Devices or Emulators: Wen to use What for Automated TestingReal Devices or Emulators: Wen to use What for Automated Testing
Real Devices or Emulators: Wen to use What for Automated Testing
 
Automated Mobile Testing using Appium.pdf
Automated Mobile Testing using Appium.pdfAutomated Mobile Testing using Appium.pdf
Automated Mobile Testing using Appium.pdf
 
Mastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with AppiumMastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with Appium
 
mohit anand
 mohit anand mohit anand
mohit anand
 
Testing Your Android and iOS Apps with Appium in Testdroid Cloud
Testing Your Android and iOS Apps with Appium in Testdroid CloudTesting Your Android and iOS Apps with Appium in Testdroid Cloud
Testing Your Android and iOS Apps with Appium in Testdroid Cloud
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing
 
APImetrics Product Introduction
APImetrics Product IntroductionAPImetrics Product Introduction
APImetrics Product Introduction
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with Appium
 
Automation using Appium
Automation using AppiumAutomation using Appium
Automation using Appium
 
Launch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with AppurifyLaunch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with Appurify
 
Appurify presentation at Appium meetup - Running Appium on real devices at scale
Appurify presentation at Appium meetup - Running Appium on real devices at scaleAppurify presentation at Appium meetup - Running Appium on real devices at scale
Appurify presentation at Appium meetup - Running Appium on real devices at scale
 
Appium meet up noida
Appium meet up noidaAppium meet up noida
Appium meet up noida
 
Improving Android app testing with Appium and Sauce Labs
Improving Android app testing with Appium and Sauce LabsImproving Android app testing with Appium and Sauce Labs
Improving Android app testing with Appium and Sauce Labs
 
ATAGTR2017 Appium
ATAGTR2017 AppiumATAGTR2017 Appium
ATAGTR2017 Appium
 
Appium solution
Appium solutionAppium solution
Appium solution
 
Appium solution artizone
Appium solution   artizoneAppium solution   artizone
Appium solution artizone
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Último (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

How to Leverage Appium in Your Mobile App Testing

  • 1. How to Leverage Appium in Your Mobile App Testing 7 January 2014 Ville-Veikko Helppi Saad Chaudry Technical Product Manager Sr. Software Engineer ville-veikko.helppi@bitbar.com saad.chaudry@bitbar.com
  • 2. Agenda • Different Ways to Automate Your App Testing • Appium and How It Compares Against Other Test Automation Frameworks • Appium with Real Devices (@Testdroid Cloud) • 10 Tips for Professional Mobile App Testing • Demonstration • Q&A © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 2
  • 3. Agenda • Different Ways to Automate Your App Testing • Appium and How It Compares Against Other Test Automation Frameworks • Appium with Real Devices (@Testdroid Cloud) • 10 Tips for Professional Mobile App Testing • Demonstration • Q&A © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 3
  • 4. Different Approaches To Testing © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 4
  • 5. Different Ways of Doing Test Automation Hand written test scripts Record and Playback Automatic test exercisers Fast to create, accurate, not as sensitive to human-errors as hand-written tests, tools avail’ty Fastest & extremely automated, excellent for smoke testing/quick testing, availability Benefits: Accurate, specific to your testing needs, plenty of options with frameworks, tools Tradeoffs: Takes a lot of time, ties resources Compelling Recorder+Playback to write test cases/scripts, error- tools available for only few test prone (humans) automation frameworks Not accurate as real test cases © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 5
  • 6. Option #1: Cloud-Based Testing Users / Consumers Successful build Build failed Commit Repository Test Cases Application QA & Testers Error reporting Source code Developers © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 6
  • 7. Option #2: Continuous Integration Users / Consumers Successful build Build failed Commit Repository Test Cases Application QA & Testers Error reporting Source code Developers © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 7
  • 8. Manual Automation Large coverage, quickly completed, Less money & time wasted, Exact results. Smaller coverage, More money burnt & time wasted, Error-prone © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 8
  • 9. Why Apps Fail? © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 9
  • 10. Why Real Devices are Must-to-Have? • Emulators cannot help you testing… – User Experience and Usability – Hardware – Software – Infrastructure 0% = the percentage of your app users that use emulator to run your app! © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 10
  • 11. How to Improve the App Quality • Automate generic things as much as you can • During the development your app changes – the same must apply for testing! • Carefully select (testing) technology & partner • Use all 24 hours per day with test automation • Cloud-based platform is the only solution to get you quickly covered in the global markets © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 11
  • 12. Agenda • Different Ways to Automate Your App Testing • Appium and How It Compares Against Other Test Automation Frameworks • Appium with Real Devices (@Testdroid Cloud) • 10 Tips for Professional Mobile App Testing • Demonstration • Q&A © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 12
  • 13. Android Example: The Family Tree of Test Automation Frameworks Calabash Appium Robotium Espresso Android Instrumentation Framework UI Automator JUnit © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 13
  • 14. Appium Introduction • Uses Selenium Webdriver (W3C working draft) as a scripting framework – Standard for browser automation – libs for various languages • Supports native Android, native iOS and mobile web: – Android via uiautomator (API level >=17) and Selendroid (API level <17) – iOS via UI Automation – Mobile web as Selenium driver for Android and iOS • You can write your Appium scripts on almost any programming language (Haskell/Go/Clojure/Java/Ruby) © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 14
  • 15. Appium: How it works? • Appium is an HTTP server that creates and handles WebDriver sessions • It starts an Appium server on the device that is listening commands from the main Appium process • It receives json requests from client libraries over HTTP • On Android Appium executes these commands as either uiautomator or Selendroid commands depending on the API level of the device • Tests are driven from a Selenium script on Appium server Test server Device UI Automator controller or Selendroid driver Bootstrap.jar Your app Selenium script © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 15
  • 16. Appium: Test Lifecycle 1. Appium installs Bootstrap.jar as an instrumentation package which contains an uiautomator server and a tcp server 2. The commands from a Selenium script are executed on the main Appium server that relays the commands over TCP/IP to the tcp server running on the device 3. The UI Automation server converts the Selenium commands to uiautomator commands on the fly 4. If the device has API level <17 Appium installs a Selendroid server that converts the Selenium commands to Android Instrumentation (JUnit) commands 5. All test verification and result processing is happening on server side in the main Appium Server © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 16
  • 17. Appium: Code Example # wait for hello sleep(3) textFields = driver.find_elements_by_tag_name('textField') assertEqual(textFields[0].get_attribute("value"), "Hello") # click sign-in button driver.find_elements_by_name('Sign in')[0].click() # find the text fields again, and enter username and password textFields = driver.find_elements_by_tag_name('textField') textFields[0].send_keys("twitter_username") textFields[1].send_keys("passw0rd") # click the Login button (the first button in the view) + sleep driver.find_elements_by_tag_name('button')[0].click() sleep(3) # click the first button with name "Compose” + type in the tweet message + press “Send” driver.find_elements_by_name('Compose')[0].click() driver.find_elements_by_tag_name('textField')[0].send_keys(”#Testdroid is awesome!") driver.find_elements_by_name('Send')[0].click() # exit driver.quit() © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 17
  • 18. How Appium Compares to Others? Appium Robotium uiautomator Espresso Calabash Android Yes Yes Yes Yes Yes iOS Yes No No No Yes Mobile web Yes Yes No Yes (Android & iOS) (Android) Limited to x.y clicks Scripting Language Almost any Java Java Java Ruby Test creation tools Appium.app Testdroid Recorder UI Automator viewer Hierarchy Viewer CLI Supported API levels All All 16 => 8, 10, 15-19 All Community Active Contributors Google Google Pretty quiet (Android) © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 18
  • 19. Agenda • Different Ways to Automate Your App Testing • Appium and How It Compares Against Other Test Automation Frameworks • Appium with Real Devices (@Testdroid Cloud) • 10 Tips for Professional Mobile App Testing • Demonstration • Q&A © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 19
  • 20. Appium @ Localhost Test Script { “device”: “app”: “app-package”: “app-activity”: Desired Capabilities “Android”, “/Users/user/ApiDemos.apk” “com.example.android.apis” “.ApiDemos” } Test Case © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 20
  • 21. Appium @ Localhost Test Script Desired Capabilities { “app”: “com.bitbar.testdroid.BitbarIOSSample” } Test Case © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 21
  • 22. Appium @ Localhost Test Script 4723 WebDriver http://localhost_4723/wd/hub Appium Server Desired Capabilities Test Case Device © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 22
  • 23. From Localhost to Testdroid Cloud Test Script *Testdroid Caps WebDriver http://localhost_4723/wd/hub http://appium.testdroid.com/wd/hub Desired Capabilities Test Case © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved.
  • 24. From Localhost to Testdroid Cloud Test Script WebDriver { “testdroid_username”: “user@domain.com”, “testdroid_password”: “p4s$w0rd”, “testdroid_project”: “My First Project”, “testdroid_testrun”: “Test 1”, “testdroid_device”: “iPad Mini 7.0.4 A1432”, “testdroid_app”: “http://domain.com/app_v1.ipa” . . “app”: “com.bitbar.testdroid.BitbarIOSSample” Desired Capabilities } Test Case © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved.
  • 25. © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 25
  • 26. © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 26
  • 27. © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 27
  • 28. © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 28
  • 29. © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 29
  • 30. © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 30
  • 31. © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 31
  • 32. © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 32
  • 33. © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 33
  • 34. © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 34
  • 35. Behind the Scene Test Script 1 WebDriver Session Request @ http://appium.testdroid.com/wd/hub/ Appium Broker 2 Configure project 5 Appium Ready Desired Caps, .apk / .ipa 6 WebDriver Session response sessionid 3 Wait for device to become available sessionid Session Map 4 7 Start Appium Test Run sessionid Device Cluster Proxy Appium Device Device 1 1 © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. Device 2 Device 3 35
  • 36. Agenda • Different Ways to Automate Your App Testing • Appium and How It Compares Against Other Test Automation Frameworks • Appium with Real Devices (@Testdroid Cloud) • 10 Tips for Professional Mobile App Testing • Demonstration • Q&A © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 36
  • 37. Tip #1: Test early, Test often © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 37
  • 38. Tip #2: Plan What to Automate Time MANUAL Infrastructure Tools AUTOMATED People Training © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 38
  • 39. Tip #3: Use only Real Devices © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 39
  • 40. Tip #4: Use Atomic Test Units Test iteration #1 Test iteration #2 © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 40
  • 41. Tip #5: Create Hermetic Tests © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 41
  • 42. Tip #6: Use All Possible Devices Testdroid Cloud’s 250+ Android devices = 93-95% global Android volumes! © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 42
  • 43. Tip #7: Separate Apps and Tests Your App © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 43
  • 44. Tip #8: Output Everything to Logs © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 44
  • 45. Tip #9: End-to-End Testing © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 45
  • 46. Tip #10: Integrate Dev & Testing Repository Successful build Commit Users / Consumers Build failed Test Cases Application QA & Testers Error reporting Source code Developers © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 46
  • 47. Agenda • Different Ways to Automate Your App Testing • Appium and How It Compares Against Other Test Automation Frameworks • Appium with Real Devices (@Testdroid Cloud) • 10 Tips for Professional Mobile App Testing • Demonstration • Q&A © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 47
  • 48. Agenda • Different Ways to Automate Your App Testing • Appium and How It Compares Against Other Test Automation Frameworks • Appium with Real Devices (@Testdroid Cloud) • 10 Tips for Professional Mobile App Testing • Demonstration • Q&A © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 48
  • 49. © Copyrights by Bitbar Technologies Ltd. 2014 All rights reserved. 49