際際滷

際際滷Share a Scribd company logo
AUTOMATION -
THE MOBILE WAY
Mobile automation using Appium : An open source, cross
platform tool for automating native, mobile web and hybrid
applications
Mobile Testing
 Types?
 Native vs Hybrid vs Web?
 Challenges?
2
Appium Philosophy
 Youre testing the same app you are shipping
 Write tests in any language and framework you want
 Wrapped vendor-provided frameworks in WebDriver API
(JSON Wire Protocol)
 Open source
3
4
Calabash Appium Robotium UiAutomator Frank MonkeyTalk
Android Yes Yes Yes Yes No Yes
iOS Yes Yes No No Yes Yes
Scripting
Language
Ruby Any Java Java Ruby
MonkeyTalk
Command
Language
Supported
API Levels
All All All >=16
No Android
Support
Javascript API
Open Source Yes Yes No (Recorder) Yes Yes Yes
Support for
Apps
Native,
Hybrid
Native,
Hybrid, Web
Native, Hybrid Native Native Native, Hybrid
Stats
5
Commits 5993
Releases 110
Contributors 155
Downloads ~34k/month
Total Issue 4625
Requirements
 iOS:
 Mac OSX 10.7+
 XCode 4.5+ w/ Command Line Tools
 Android:
 Mac OSX 10.7+ OR Windows 7+ OR Linux
 Android SDK >= 16
 Android SDK < 16 (Selendroid mode)
 Run Appium via:
 Appium app
 node.js
6
Instruments
Controller
(iOS)
Instruments
Command Server
Unix Socket Server
Instruments
Command Client
Unix Socket Client
Instruments
bootstrap.js
WebDriver
Controller
iOS - UI Automation
WebDriver Script
UiAutomator
Controller
(Android)
UiAutomator
Command
Client
TCP Client
WebDriver
Controller
Android - UI Automator (4.2+), Selendroid (2.3+)
WebDriver Script
TCP Server
UiAutomator
Command
Server
bootstrap.jar
Appium Inspector
9
From Appium 1.x
vanilla webdriver clients Appium client libraries
device, version deviceName, platformVersion
browsers
(chrome/safari)
browserName
name accessibility_id
tag name classname
switch_to.window switch_to.context(WEBVIEW)
driver.execute(mobile:lock, [5]) driver.lock(5)
gesture methods TouchAction / MultiAction API
Hands On
References
 vodQA Github -
https://github.com/saikrishna321/VodQa_MobileAutomationW
orkShop
 iOS Automation [Mac] -
http://smritituteja.in/ios-mobile-automation-using-appium/
 Appium Architecture -
http://appium.io/slate/en/master/?java#introduction-to-appium
 Appium [Sauce Labs] - https://saucelabs.com/appium
 Android Automation [Windows] -
http://smritituteja.in/android-automation-appium-windows/
THANK YOU
Q & A
SAI KRISHNA : saikrisv@thoughtworks.com
SMRITI TUTEJA : smrititu@thoughtworks.com
KOKILA :kokila@thoughtworks.com
SHALINI SAINI:sshalini@thoughtworks.com
SHWETA:shwetahe@thoughtworks.com
HITESH : hiteshs@thoughtworks.com

More Related Content

Mobile automation using appium.pptx

  • 1. AUTOMATION - THE MOBILE WAY Mobile automation using Appium : An open source, cross platform tool for automating native, mobile web and hybrid applications
  • 2. Mobile Testing Types? Native vs Hybrid vs Web? Challenges? 2
  • 3. Appium Philosophy Youre testing the same app you are shipping Write tests in any language and framework you want Wrapped vendor-provided frameworks in WebDriver API (JSON Wire Protocol) Open source 3
  • 4. 4 Calabash Appium Robotium UiAutomator Frank MonkeyTalk Android Yes Yes Yes Yes No Yes iOS Yes Yes No No Yes Yes Scripting Language Ruby Any Java Java Ruby MonkeyTalk Command Language Supported API Levels All All All >=16 No Android Support Javascript API Open Source Yes Yes No (Recorder) Yes Yes Yes Support for Apps Native, Hybrid Native, Hybrid, Web Native, Hybrid Native Native Native, Hybrid
  • 5. Stats 5 Commits 5993 Releases 110 Contributors 155 Downloads ~34k/month Total Issue 4625
  • 6. Requirements iOS: Mac OSX 10.7+ XCode 4.5+ w/ Command Line Tools Android: Mac OSX 10.7+ OR Windows 7+ OR Linux Android SDK >= 16 Android SDK < 16 (Selendroid mode) Run Appium via: Appium app node.js 6
  • 7. Instruments Controller (iOS) Instruments Command Server Unix Socket Server Instruments Command Client Unix Socket Client Instruments bootstrap.js WebDriver Controller iOS - UI Automation WebDriver Script
  • 8. UiAutomator Controller (Android) UiAutomator Command Client TCP Client WebDriver Controller Android - UI Automator (4.2+), Selendroid (2.3+) WebDriver Script TCP Server UiAutomator Command Server bootstrap.jar
  • 10. From Appium 1.x vanilla webdriver clients Appium client libraries device, version deviceName, platformVersion browsers (chrome/safari) browserName name accessibility_id tag name classname switch_to.window switch_to.context(WEBVIEW) driver.execute(mobile:lock, [5]) driver.lock(5) gesture methods TouchAction / MultiAction API
  • 12. References vodQA Github - https://github.com/saikrishna321/VodQa_MobileAutomationW orkShop iOS Automation [Mac] - http://smritituteja.in/ios-mobile-automation-using-appium/ Appium Architecture - http://appium.io/slate/en/master/?java#introduction-to-appium Appium [Sauce Labs] - https://saucelabs.com/appium Android Automation [Windows] - http://smritituteja.in/android-automation-appium-windows/
  • 13. THANK YOU Q & A SAI KRISHNA : saikrisv@thoughtworks.com SMRITI TUTEJA : smrititu@thoughtworks.com KOKILA :kokila@thoughtworks.com SHALINI SAINI:sshalini@thoughtworks.com SHWETA:shwetahe@thoughtworks.com HITESH : hiteshs@thoughtworks.com