SlideShare ist ein Scribd-Unternehmen logo
1 von 23
www.tothenew.com
Next Level of Appium
By : Keshav Kashyap
& Ankit Gupta
www.tothenew.com
Appium: Let’s enjoy Open Source
Open Source, Cross platform test
automation tool to test mobile
application
Based on Client-Server Architecture
using Webdriver
Established in January 2011
Dan Cuellar, Jonathan Lipps & Others
Contributors
Supports Native , Hybrid and
Mobile Web apps
Supports Both Android and iOS
Appium.io
www.tothenew.com
Focus Points
UI AutomatorRecall Basic Setup
Automate a sample app
Common Action
Keywords
www.tothenew.com
Agenda:-
Areas We Cover
Appium Locators Android Actions
Desired Capabilities How to use UI Automator? Click, SendKeys
Android Key Events Mobile Gestures Demo
Home , Back , Enter, Click Camera Swipe, Scroll, Tap Test Case Execution Report
www.tothenew.com
Coverage
 Appium - Recall Previous Session
 Appium and Selendroid
 Desired Capabilities
 UI Automator and Challenges faced in finding elements
 Wait & Handling Keyboard
 Touch Actions and Wait Actions
 Android Key Events
 Android and iOS Scenarios
 Overall Flow using an e-Commerce app
 Alternative Solution of Appium
 Pros and Cons of Appium
www.tothenew.com
Basic Requirements for Appium
 Appium is an open source, cross-platform test automation tool for native,
hybrid and mobile web apps, tested on simulators ,emulators and real
devices.
iOS Requirements
•Mac OS
•xCode
•Apple Developer Tools (iPhone simulator SDK)
Android Requirements
•Android SDK, Java
 Appium supports Android on OS X, Linux and Windows. So setup
accordingly
www.tothenew.com
Appium in a Nutshell
 APPIUM is a freely distributed open source mobile application UI testing
framework.
 Appium allows native, hybrid and web application testing and supports automation
test on physical devices as well as on emulator or simulator both.
 It offers cross-platform application testing i.e. single API works for both Android
and iOS platform test scripts.
 It has NO dependency on Mobile device OS. Because, APPIUM has framework or
wrapper that translate Selenium Webdriver commands into UIAutomation (iOS) or
UIAutomator (Android) commands depending on the device type not any OS type.
 Appium supports all languages that have Selenium client libraries like- Java,
Objective-C, JavaScript with node.js, PHP, Ruby, Python, C# etc.
www.tothenew.com
Appium Vs. Selendroid
Appium and Selendroid are quite similar :-
 both use Selenium WebDriver and used for native, hybrid and mobile web apps
 both could run tests on emulator or real devices
 both are suitable for Cloud Based Testing
 Appium supports all Android API levels but there is one limitation. As it uses
UIAutomator for tests running on API>=17, for older APIs you need to run tests using
Selendroid.
 Selendroid or “Selenium for Android” is a test automation framework which is used
ONLY for Android apps. Where as Appium is a open source automation tool used for
Android, iOS and Firefox OS too.
 Selendroid has multiple Android target API support (10 to 19) and it has no limitation
with WebView testing like Appium which uses UIAutomator for API>=17.
www.tothenew.com
Desired Capabilities
Desired Capabilities are a set of keys and values sent to the Appium server to tell the
server what kind of automation session we’re interested in starting up.
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.BROWSER_NAME, “”);
capabilities.setCapability(“platformName”, “Android”);
capabilities.setCapability(CapabilityType.VERSION, “4.4”);
capabilities.setCapability(“deviceName”, “111bd508”);
capabilities.setCapability(“app”, app.getAbsolutePath());
capabilities.setCapability(“appPackage”, “com.example.android.contactmanager”);
capabilities.setCapability(“appActivity”, “.ContactManager”);
driver = new AndroidDriver(new URL(“http://127.0.0.1:4723/wd/hub”), capabilities);
www.tothenew.com
UI Automator
Go to SDK folder and open the tools folder.
Open UIAutomatorViewer.
On the actual device, open the app to the page you want to automate.
In UI Automator Viewer, click on Device screenshot (second button).
Click any element on the page and look in the Node detail window (there
you will find details about the selected element: id, class, name, etc.)
Use the info found (id, class) in Eclipse to click buttons, fill input fields
www.tothenew.com
Mobile Keyboard Events Used in Mobile Automation
 public static final int KEYCODE_ENTER
Key code constant: Enter key.
Constant Value: 66 (0x00000042)
 public static final int KEYCODE_CAMERA
Key code constant: Camera key. Used to launch a camera
application or take pictures.
Constant Value: 27 (0x0000001b)
 public static final int KEYCODE_BACK
Key code constant: Back key.
Constant Value: 4 (0x00000004)
http://developer.android.com/reference/android/view/KeyEvent.html
www.tothenew.com
Functions Used in Mobile Automation
Some Common Functions used in Mobile Automation :-
 tap()
 swipe()
 pinch()
 zoom()
 getNamedTextField()
 isAppInstalled()
 installApp()
 removeApp()
 launchApp()
 closeApp()
www.tothenew.com
Common Issues of Appium
error:- The following desired capabilities are required, but were not
provided:device Name, platformName
Ans. Add desired capabilities: device Name, platformName in APPIUM script.
e.g:capabilities.setCapability("deviceName","Emulator");
capabilities.setCapability("platformName","Android");
error:- Could not find adb. Please set the ANDROID_HOME environment
variable with the Android SDK root directory path.
Ans. You probably need to set up SDK root directory path in system
'Environment Variables' in 'Path' column
error:- org.openqa.selenium.SessionNotCreatedException: A new session
could not be created.
Ans. You need to set a correct App path and restart the Appium server.
www.tothenew.com
Advantages of Appium
 Open Source Tool
 Support for both platforms iOS and android.
 Handles simulators/emulators and real devices
 Supports automation of hybrid, native and webApps
 Supports most of the programming languages like Java, Ruby,
Python, C# etc.
www.tothenew.com
Dis-Advantages of Appium
 Alert Handling is not implemented yet for native apps via
Alert API
 Appium supports Android Versions 17 or later . For lower
versions we have to use Selendroid.
 Lack of Image Recognition
 Limited Mobile Gesture Support.
www.tothenew.com
Drawbacks and Limitations of Appium
 Appium does not support testing of Android Version lower than 4.2
 Limited support for hybrid app testing. eg: not possible to test the
switching action of application from the web app to native and vice-
versa.
 No support to run Appium Inspector on Microsoft Windows.
www.tothenew.com
Competitors of Appium
Some of the competitors of Appium are :-
 Ranorex
 Robotium
 SeeTest
 Jamo Solutions
 Test Complete
www.tothenew.com
Tools Comparison Report
www.tothenew.com
Questions
www.tothenew.com
Conclusion:-
www.tothenew.com
References:-
www.tothenew.com
www.tothenew.com
Client Location
Our Office
Email us at:
Keshav.kashyap@tothenew.com

Weitere ähnliche Inhalte

Was ist angesagt?

How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...Peter Leschev
 
CI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelCI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelAmazon Web Services
 
DevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver FasterDevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver FasterAmazon Web Services
 
Deploying systems using AWS DevOps tools
Deploying systems using AWS DevOps toolsDeploying systems using AWS DevOps tools
Deploying systems using AWS DevOps toolsMassTLC
 
Integration Testing on Steroids: Run Your Tests on the Real Things
Integration Testing on Steroids: Run Your Tests on the Real ThingsIntegration Testing on Steroids: Run Your Tests on the Real Things
Integration Testing on Steroids: Run Your Tests on the Real ThingsAtlassian
 
Observability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeObservability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeAtlassian
 
Serverless Analytics and Monitoring For Your Cloud App
Serverless Analytics and Monitoring For Your Cloud AppServerless Analytics and Monitoring For Your Cloud App
Serverless Analytics and Monitoring For Your Cloud AppAtlassian
 
Integrating Jira Software Cloud With the AWS Code Suite
Integrating Jira Software Cloud With the AWS Code SuiteIntegrating Jira Software Cloud With the AWS Code Suite
Integrating Jira Software Cloud With the AWS Code SuiteAtlassian
 
Practical Patterns for Developing a Cross-product Cross-version App
Practical Patterns for Developing a Cross-product Cross-version AppPractical Patterns for Developing a Cross-product Cross-version App
Practical Patterns for Developing a Cross-product Cross-version AppAtlassian
 
Spec-first API Design for Speed and Safety
Spec-first API Design for Speed and SafetySpec-first API Design for Speed and Safety
Spec-first API Design for Speed and SafetyAtlassian
 
DevOps, Continuous Integration and Deployment on AWS
DevOps, Continuous Integration and Deployment on AWSDevOps, Continuous Integration and Deployment on AWS
DevOps, Continuous Integration and Deployment on AWSAmazon Web Services
 
Declaring Server App Components in Pure Java
Declaring Server App Components in Pure JavaDeclaring Server App Components in Pure Java
Declaring Server App Components in Pure JavaAtlassian
 
Developing Native Mobile Apps Using JavaScript, ApacheCon NA 2014
Developing Native Mobile Apps Using JavaScript, ApacheCon NA 2014Developing Native Mobile Apps Using JavaScript, ApacheCon NA 2014
Developing Native Mobile Apps Using JavaScript, ApacheCon NA 2014Hazem Saleh
 
Laravel Forge: Hello World to Hello Production
Laravel Forge: Hello World to Hello ProductionLaravel Forge: Hello World to Hello Production
Laravel Forge: Hello World to Hello ProductionJoe Ferguson
 
Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic Beanstalk
Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic BeanstalkDeploy, Manage, and Scale Your Apps with OpsWorks and Elastic Beanstalk
Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic BeanstalkAmazon Web Services
 
Forge: Under the Hood
Forge: Under the HoodForge: Under the Hood
Forge: Under the HoodAtlassian
 

Was ist angesagt? (20)

Selenium topic 1- Selenium Basic
Selenium topic 1-  Selenium BasicSelenium topic 1-  Selenium Basic
Selenium topic 1- Selenium Basic
 
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
CI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelCI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day Israel
 
DevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver FasterDevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver Faster
 
Deploying systems using AWS DevOps tools
Deploying systems using AWS DevOps toolsDeploying systems using AWS DevOps tools
Deploying systems using AWS DevOps tools
 
Integration Testing on Steroids: Run Your Tests on the Real Things
Integration Testing on Steroids: Run Your Tests on the Real ThingsIntegration Testing on Steroids: Run Your Tests on the Real Things
Integration Testing on Steroids: Run Your Tests on the Real Things
 
Observability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeObservability and Troubleshooting in Forge
Observability and Troubleshooting in Forge
 
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!
 
Serverless Analytics and Monitoring For Your Cloud App
Serverless Analytics and Monitoring For Your Cloud AppServerless Analytics and Monitoring For Your Cloud App
Serverless Analytics and Monitoring For Your Cloud App
 
Integrating Jira Software Cloud With the AWS Code Suite
Integrating Jira Software Cloud With the AWS Code SuiteIntegrating Jira Software Cloud With the AWS Code Suite
Integrating Jira Software Cloud With the AWS Code Suite
 
Practical Patterns for Developing a Cross-product Cross-version App
Practical Patterns for Developing a Cross-product Cross-version AppPractical Patterns for Developing a Cross-product Cross-version App
Practical Patterns for Developing a Cross-product Cross-version App
 
Spec-first API Design for Speed and Safety
Spec-first API Design for Speed and SafetySpec-first API Design for Speed and Safety
Spec-first API Design for Speed and Safety
 
DevOps, Continuous Integration and Deployment on AWS
DevOps, Continuous Integration and Deployment on AWSDevOps, Continuous Integration and Deployment on AWS
DevOps, Continuous Integration and Deployment on AWS
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
Declaring Server App Components in Pure Java
Declaring Server App Components in Pure JavaDeclaring Server App Components in Pure Java
Declaring Server App Components in Pure Java
 
Developing Native Mobile Apps Using JavaScript, ApacheCon NA 2014
Developing Native Mobile Apps Using JavaScript, ApacheCon NA 2014Developing Native Mobile Apps Using JavaScript, ApacheCon NA 2014
Developing Native Mobile Apps Using JavaScript, ApacheCon NA 2014
 
Laravel Forge: Hello World to Hello Production
Laravel Forge: Hello World to Hello ProductionLaravel Forge: Hello World to Hello Production
Laravel Forge: Hello World to Hello Production
 
Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic Beanstalk
Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic BeanstalkDeploy, Manage, and Scale Your Apps with OpsWorks and Elastic Beanstalk
Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic Beanstalk
 
Forge: Under the Hood
Forge: Under the HoodForge: Under the Hood
Forge: Under the Hood
 

Andere mochten auch

Story Testing Approach for Enterprise Applications using Selenium Framework
Story Testing Approach for Enterprise Applications using Selenium FrameworkStory Testing Approach for Enterprise Applications using Selenium Framework
Story Testing Approach for Enterprise Applications using Selenium FrameworkOleksiy Rezchykov
 
Gerrit is Getting Native with RPM, Deb and Docker
Gerrit is Getting Native with RPM, Deb and DockerGerrit is Getting Native with RPM, Deb and Docker
Gerrit is Getting Native with RPM, Deb and DockerLuca Milanesio
 
Introduction to Bdd and cucumber
Introduction to Bdd and cucumberIntroduction to Bdd and cucumber
Introduction to Bdd and cucumberNibu Baby
 
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)Alvaro Sanchez-Mariscal
 
Continuous integration using Jenkins and Sonar
Continuous integration using Jenkins and SonarContinuous integration using Jenkins and Sonar
Continuous integration using Jenkins and SonarPascal Larocque
 
Sonar qube to impove code quality
Sonar qube   to impove code qualitySonar qube   to impove code quality
Sonar qube to impove code qualityMani Sarkar
 
Design First API's with RAML and SoapUI
Design First API's with RAML and SoapUIDesign First API's with RAML and SoapUI
Design First API's with RAML and SoapUIDaniel Feist
 
Gerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub pluginGerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub pluginLuca Milanesio
 
How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)Dave Haeffner
 
Automated Testing With Jasmine, PhantomJS and Jenkins
Automated Testing With Jasmine, PhantomJS and JenkinsAutomated Testing With Jasmine, PhantomJS and Jenkins
Automated Testing With Jasmine, PhantomJS and JenkinsWork at Play
 
Test automation with Cucumber-JVM
Test automation with Cucumber-JVMTest automation with Cucumber-JVM
Test automation with Cucumber-JVMAlan Parkinson
 
Tracking and improving software quality with SonarQube
Tracking and improving software quality with SonarQubeTracking and improving software quality with SonarQube
Tracking and improving software quality with SonarQubePatroklos Papapetrou (Pat)
 
Introduction to BDD with Cucumber for Java
Introduction to BDD with Cucumber for JavaIntroduction to BDD with Cucumber for Java
Introduction to BDD with Cucumber for JavaSeb Rose
 
Behavior Driven Development with Cucumber
Behavior Driven Development with CucumberBehavior Driven Development with Cucumber
Behavior Driven Development with CucumberBrandon Keepers
 
Writing Software not Code with Cucumber
Writing Software not Code with CucumberWriting Software not Code with Cucumber
Writing Software not Code with CucumberBen Mabey
 
How Git and Gerrit make you more productive
How Git and Gerrit make you more productiveHow Git and Gerrit make you more productive
How Git and Gerrit make you more productiveKarsten Dambekalns
 
Testing Microservices with a Citrus twist
Testing Microservices with a Citrus twistTesting Microservices with a Citrus twist
Testing Microservices with a Citrus twistchristophd
 
Capybara testing
Capybara testingCapybara testing
Capybara testingFutureworkz
 

Andere mochten auch (20)

Story Testing Approach for Enterprise Applications using Selenium Framework
Story Testing Approach for Enterprise Applications using Selenium FrameworkStory Testing Approach for Enterprise Applications using Selenium Framework
Story Testing Approach for Enterprise Applications using Selenium Framework
 
Gerrit is Getting Native with RPM, Deb and Docker
Gerrit is Getting Native with RPM, Deb and DockerGerrit is Getting Native with RPM, Deb and Docker
Gerrit is Getting Native with RPM, Deb and Docker
 
Introduction to Bdd and cucumber
Introduction to Bdd and cucumberIntroduction to Bdd and cucumber
Introduction to Bdd and cucumber
 
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
 
Continuous integration using Jenkins and Sonar
Continuous integration using Jenkins and SonarContinuous integration using Jenkins and Sonar
Continuous integration using Jenkins and Sonar
 
Sonar qube to impove code quality
Sonar qube   to impove code qualitySonar qube   to impove code quality
Sonar qube to impove code quality
 
Design First API's with RAML and SoapUI
Design First API's with RAML and SoapUIDesign First API's with RAML and SoapUI
Design First API's with RAML and SoapUI
 
Gerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub pluginGerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub plugin
 
How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)
 
Automated Testing With Jasmine, PhantomJS and Jenkins
Automated Testing With Jasmine, PhantomJS and JenkinsAutomated Testing With Jasmine, PhantomJS and Jenkins
Automated Testing With Jasmine, PhantomJS and Jenkins
 
Test automation with Cucumber-JVM
Test automation with Cucumber-JVMTest automation with Cucumber-JVM
Test automation with Cucumber-JVM
 
Tracking and improving software quality with SonarQube
Tracking and improving software quality with SonarQubeTracking and improving software quality with SonarQube
Tracking and improving software quality with SonarQube
 
Introduction to BDD with Cucumber for Java
Introduction to BDD with Cucumber for JavaIntroduction to BDD with Cucumber for Java
Introduction to BDD with Cucumber for Java
 
Behavior Driven Development with Cucumber
Behavior Driven Development with CucumberBehavior Driven Development with Cucumber
Behavior Driven Development with Cucumber
 
Writing Software not Code with Cucumber
Writing Software not Code with CucumberWriting Software not Code with Cucumber
Writing Software not Code with Cucumber
 
Automation Testing by Selenium Web Driver
Automation Testing by Selenium Web DriverAutomation Testing by Selenium Web Driver
Automation Testing by Selenium Web Driver
 
How Git and Gerrit make you more productive
How Git and Gerrit make you more productiveHow Git and Gerrit make you more productive
How Git and Gerrit make you more productive
 
Gerrit Code Review
Gerrit Code ReviewGerrit Code Review
Gerrit Code Review
 
Testing Microservices with a Citrus twist
Testing Microservices with a Citrus twistTesting Microservices with a Citrus twist
Testing Microservices with a Citrus twist
 
Capybara testing
Capybara testingCapybara testing
Capybara testing
 

Ähnlich wie Next level of Appium

Appium understanding document
Appium understanding documentAppium understanding document
Appium understanding documentAkshay Pillay
 
Appium basics
Appium basicsAppium basics
Appium basicsSyam Sasi
 
Android & iOS Automation Using Appium
Android & iOS Automation Using AppiumAndroid & iOS Automation Using Appium
Android & iOS Automation Using AppiumMindfire Solutions
 
The ultimate guide to mobile app testing with appium
The ultimate guide to mobile app testing with appiumThe ultimate guide to mobile app testing with appium
The ultimate guide to mobile app testing with appiumheadspin2
 
Mobile automation using Appium
Mobile automation using AppiumMobile automation using Appium
Mobile automation using AppiumSaroj Singh
 
Designing an effective hybrid apps automation framework
Designing an effective hybrid apps automation frameworkDesigning an effective hybrid apps automation framework
Designing an effective hybrid apps automation frameworkAndrea Tino
 
Appium overview session final
Appium overview session finalAppium overview session final
Appium overview session finalAbhishek Yadav
 
Appium Presentation
Appium Presentation Appium Presentation
Appium Presentation OmarUsman6
 
appiumpresent-211128171811.pptx projet de presentation
appiumpresent-211128171811.pptx projet de presentationappiumpresent-211128171811.pptx projet de presentation
appiumpresent-211128171811.pptx projet de presentationEnochBidima3
 
The Future of Selenium Testing for Mobile Web and Native Apps
The Future of Selenium Testing for Mobile Web and Native AppsThe Future of Selenium Testing for Mobile Web and Native Apps
The Future of Selenium Testing for Mobile Web and Native AppsSauce Labs
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With AppiumKnoldus Inc.
 
Cross platform mobile app development tools review
Cross platform mobile app development tools reviewCross platform mobile app development tools review
Cross platform mobile app development tools reviewUday Kothari
 

Ähnlich wie Next level of Appium (20)

Appium solution
Appium solutionAppium solution
Appium solution
 
Automation using Appium
Automation using AppiumAutomation using Appium
Automation using Appium
 
Appium.pptx
Appium.pptxAppium.pptx
Appium.pptx
 
Appium
AppiumAppium
Appium
 
Appium understanding document
Appium understanding documentAppium understanding document
Appium understanding document
 
Appium overview
Appium overviewAppium overview
Appium overview
 
Appium basics
Appium basicsAppium basics
Appium basics
 
Android & iOS Automation Using Appium
Android & iOS Automation Using AppiumAndroid & iOS Automation Using Appium
Android & iOS Automation Using Appium
 
The ultimate guide to mobile app testing with appium
The ultimate guide to mobile app testing with appiumThe ultimate guide to mobile app testing with appium
The ultimate guide to mobile app testing with appium
 
Appium solution artizone
Appium solution   artizoneAppium solution   artizone
Appium solution artizone
 
Mobile automation using Appium
Mobile automation using AppiumMobile automation using Appium
Mobile automation using Appium
 
Designing an effective hybrid apps automation framework
Designing an effective hybrid apps automation frameworkDesigning an effective hybrid apps automation framework
Designing an effective hybrid apps automation framework
 
Appium overview session final
Appium overview session finalAppium overview session final
Appium overview session final
 
Appium Presentation
Appium Presentation Appium Presentation
Appium Presentation
 
appiumpresent-211128171811.pptx projet de presentation
appiumpresent-211128171811.pptx projet de presentationappiumpresent-211128171811.pptx projet de presentation
appiumpresent-211128171811.pptx projet de presentation
 
Android CI and Appium
Android CI and AppiumAndroid CI and Appium
Android CI and Appium
 
The Future of Selenium Testing for Mobile Web and Native Apps
The Future of Selenium Testing for Mobile Web and Native AppsThe Future of Selenium Testing for Mobile Web and Native Apps
The Future of Selenium Testing for Mobile Web and Native Apps
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With Appium
 
ATAGTR2017 Appium
ATAGTR2017 AppiumATAGTR2017 Appium
ATAGTR2017 Appium
 
Cross platform mobile app development tools review
Cross platform mobile app development tools reviewCross platform mobile app development tools review
Cross platform mobile app development tools review
 

Mehr von Keshav Kashyap

Google Analytics Report Automation (Magic)
Google Analytics Report Automation (Magic) Google Analytics Report Automation (Magic)
Google Analytics Report Automation (Magic) Keshav Kashyap
 
Google Analytics Report Automation (Magic Script)
Google Analytics Report Automation (Magic Script)Google Analytics Report Automation (Magic Script)
Google Analytics Report Automation (Magic Script)Keshav Kashyap
 
Google Analytics Report Automation (Magic Script)
Google Analytics Report Automation (Magic Script)Google Analytics Report Automation (Magic Script)
Google Analytics Report Automation (Magic Script)Keshav Kashyap
 

Mehr von Keshav Kashyap (6)

Api testing
Api testingApi testing
Api testing
 
Appium
AppiumAppium
Appium
 
#Fame case study
#Fame case study#Fame case study
#Fame case study
 
Google Analytics Report Automation (Magic)
Google Analytics Report Automation (Magic) Google Analytics Report Automation (Magic)
Google Analytics Report Automation (Magic)
 
Google Analytics Report Automation (Magic Script)
Google Analytics Report Automation (Magic Script)Google Analytics Report Automation (Magic Script)
Google Analytics Report Automation (Magic Script)
 
Google Analytics Report Automation (Magic Script)
Google Analytics Report Automation (Magic Script)Google Analytics Report Automation (Magic Script)
Google Analytics Report Automation (Magic Script)
 

Kürzlich hochgeladen

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburgmasabamasaba
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...masabamasaba
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsBert Jan Schrijver
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...Nitya salvi
 

Kürzlich hochgeladen (20)

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 

Next level of Appium

  • 1. www.tothenew.com Next Level of Appium By : Keshav Kashyap & Ankit Gupta
  • 2. www.tothenew.com Appium: Let’s enjoy Open Source Open Source, Cross platform test automation tool to test mobile application Based on Client-Server Architecture using Webdriver Established in January 2011 Dan Cuellar, Jonathan Lipps & Others Contributors Supports Native , Hybrid and Mobile Web apps Supports Both Android and iOS Appium.io
  • 3. www.tothenew.com Focus Points UI AutomatorRecall Basic Setup Automate a sample app Common Action Keywords
  • 4. www.tothenew.com Agenda:- Areas We Cover Appium Locators Android Actions Desired Capabilities How to use UI Automator? Click, SendKeys Android Key Events Mobile Gestures Demo Home , Back , Enter, Click Camera Swipe, Scroll, Tap Test Case Execution Report
  • 5. www.tothenew.com Coverage  Appium - Recall Previous Session  Appium and Selendroid  Desired Capabilities  UI Automator and Challenges faced in finding elements  Wait & Handling Keyboard  Touch Actions and Wait Actions  Android Key Events  Android and iOS Scenarios  Overall Flow using an e-Commerce app  Alternative Solution of Appium  Pros and Cons of Appium
  • 6. www.tothenew.com Basic Requirements for Appium  Appium is an open source, cross-platform test automation tool for native, hybrid and mobile web apps, tested on simulators ,emulators and real devices. iOS Requirements •Mac OS •xCode •Apple Developer Tools (iPhone simulator SDK) Android Requirements •Android SDK, Java  Appium supports Android on OS X, Linux and Windows. So setup accordingly
  • 7. www.tothenew.com Appium in a Nutshell  APPIUM is a freely distributed open source mobile application UI testing framework.  Appium allows native, hybrid and web application testing and supports automation test on physical devices as well as on emulator or simulator both.  It offers cross-platform application testing i.e. single API works for both Android and iOS platform test scripts.  It has NO dependency on Mobile device OS. Because, APPIUM has framework or wrapper that translate Selenium Webdriver commands into UIAutomation (iOS) or UIAutomator (Android) commands depending on the device type not any OS type.  Appium supports all languages that have Selenium client libraries like- Java, Objective-C, JavaScript with node.js, PHP, Ruby, Python, C# etc.
  • 8. www.tothenew.com Appium Vs. Selendroid Appium and Selendroid are quite similar :-  both use Selenium WebDriver and used for native, hybrid and mobile web apps  both could run tests on emulator or real devices  both are suitable for Cloud Based Testing  Appium supports all Android API levels but there is one limitation. As it uses UIAutomator for tests running on API>=17, for older APIs you need to run tests using Selendroid.  Selendroid or “Selenium for Android” is a test automation framework which is used ONLY for Android apps. Where as Appium is a open source automation tool used for Android, iOS and Firefox OS too.  Selendroid has multiple Android target API support (10 to 19) and it has no limitation with WebView testing like Appium which uses UIAutomator for API>=17.
  • 9. www.tothenew.com Desired Capabilities Desired Capabilities are a set of keys and values sent to the Appium server to tell the server what kind of automation session we’re interested in starting up. DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.BROWSER_NAME, “”); capabilities.setCapability(“platformName”, “Android”); capabilities.setCapability(CapabilityType.VERSION, “4.4”); capabilities.setCapability(“deviceName”, “111bd508”); capabilities.setCapability(“app”, app.getAbsolutePath()); capabilities.setCapability(“appPackage”, “com.example.android.contactmanager”); capabilities.setCapability(“appActivity”, “.ContactManager”); driver = new AndroidDriver(new URL(“http://127.0.0.1:4723/wd/hub”), capabilities);
  • 10. www.tothenew.com UI Automator Go to SDK folder and open the tools folder. Open UIAutomatorViewer. On the actual device, open the app to the page you want to automate. In UI Automator Viewer, click on Device screenshot (second button). Click any element on the page and look in the Node detail window (there you will find details about the selected element: id, class, name, etc.) Use the info found (id, class) in Eclipse to click buttons, fill input fields
  • 11. www.tothenew.com Mobile Keyboard Events Used in Mobile Automation  public static final int KEYCODE_ENTER Key code constant: Enter key. Constant Value: 66 (0x00000042)  public static final int KEYCODE_CAMERA Key code constant: Camera key. Used to launch a camera application or take pictures. Constant Value: 27 (0x0000001b)  public static final int KEYCODE_BACK Key code constant: Back key. Constant Value: 4 (0x00000004) http://developer.android.com/reference/android/view/KeyEvent.html
  • 12. www.tothenew.com Functions Used in Mobile Automation Some Common Functions used in Mobile Automation :-  tap()  swipe()  pinch()  zoom()  getNamedTextField()  isAppInstalled()  installApp()  removeApp()  launchApp()  closeApp()
  • 13. www.tothenew.com Common Issues of Appium error:- The following desired capabilities are required, but were not provided:device Name, platformName Ans. Add desired capabilities: device Name, platformName in APPIUM script. e.g:capabilities.setCapability("deviceName","Emulator"); capabilities.setCapability("platformName","Android"); error:- Could not find adb. Please set the ANDROID_HOME environment variable with the Android SDK root directory path. Ans. You probably need to set up SDK root directory path in system 'Environment Variables' in 'Path' column error:- org.openqa.selenium.SessionNotCreatedException: A new session could not be created. Ans. You need to set a correct App path and restart the Appium server.
  • 14. www.tothenew.com Advantages of Appium  Open Source Tool  Support for both platforms iOS and android.  Handles simulators/emulators and real devices  Supports automation of hybrid, native and webApps  Supports most of the programming languages like Java, Ruby, Python, C# etc.
  • 15. www.tothenew.com Dis-Advantages of Appium  Alert Handling is not implemented yet for native apps via Alert API  Appium supports Android Versions 17 or later . For lower versions we have to use Selendroid.  Lack of Image Recognition  Limited Mobile Gesture Support.
  • 16. www.tothenew.com Drawbacks and Limitations of Appium  Appium does not support testing of Android Version lower than 4.2  Limited support for hybrid app testing. eg: not possible to test the switching action of application from the web app to native and vice- versa.  No support to run Appium Inspector on Microsoft Windows.
  • 17. www.tothenew.com Competitors of Appium Some of the competitors of Appium are :-  Ranorex  Robotium  SeeTest  Jamo Solutions  Test Complete
  • 23. www.tothenew.com Client Location Our Office Email us at: Keshav.kashyap@tothenew.com