SlideShare ist ein Scribd-Unternehmen logo
01 Introduction
Agenda
02 Appium Concepts
03
04
05
06
07
08
09
10
11
Types of Mobile Applications
Why Appium?
JSON Wire Protocol
Appium Architecture
Locators
Appium Features
Appium Philosophy
Pros & Cons
Future of Appium
Introduction
What is Appium ?
Appium is an open-source, cross
platform tool for automated testing
of native, mobile web, and hybrid
application on IOS, Android, and
windows desktop platforms.
Appium Concepts
Client-Server Architecture: Appium is at it’s heart a webserver that exposes a Rest API. It receives connections
from a client, listens for commands, executes those commands on a mobile device, and responds with an HTTP
responses representing the result of the command execution.
Appium Session: Appium is always performed in the context of a session. Clients initiate a session with a server
in ways specific to each library, but they all end up sending a POST / session request to the server, with a JSON
object called the ‘desired capabilities’ object.
Desired Capabilities: It is a set of key-value pairs sent to the Appium server to tell the server what kind of
automation session we’re interested in starting up. There are also various capabilities which can modify the
behaviour of the server during automation.
Types Of
Mobile
Applications
Web Applications
Native Applications
Hybrid Applications
Web Applications
A Web Applications is an app
like any other, with the advantage
that it’s stored on the internet and
can be executed on any browser.
Advantages Of Web Applications
Examples Of Web Applications
Native Applications
A Native Applications is a
software program that is
developed for use on a particular
platform or device.
Advantages Of Native Applications
Examples Of Native Applications
Hybrid Applications
A Hybrid Application is
technically a web app packed in a
native app container, like the web
app, it is written in HTML, CSS
and Javascript.
Advantages Of Hybrid Applications
Examples Of Hybrid Applications
Why Appium?
Why Appium ?
• Open Source Not only is Appium free of cost, but also open source. This means Appium
can be tweaked infinitely to work according to your twins.
• Cross-Platform Appium can test any mobile application whether it be a native one, a
hybrid one or even a web app. Whether the app works only on IOS or Android or even both,
Appium has you covered. Above that, Appium, itself can be installed on windows, Mac and
Linux.
• Framework Support Appium is a framework is also supported by various automation
testing tools out there. You shouldn’t be loced into a specific language or framework to
write and run your tests.
• Community A budding community is extremely necessary. An active community results in
faster bug and reports and easier troubleshooting which is key to the success of an
automation testing tool.
Why Choose Appium ?
Free and open source
Supports only android
Need app source code /
library
Small changes in Robotium
code leads to a complete
rebuild
Supports java only. Not
compatible with selenium at
all
Not such a proactive
community
Free and Open Source
Supports both iOS and android
No need for app source code
Doesn’t reinstall application
Support multiple frameworks
and programming languages
Strong and Active Community
Free and Open Source
Supports Only Android
Need for app source code
Supports only android 2.3-4.4
Compatible with selenium
and Jenkins
Community not as strong as
appium
JSON Wire
Protocol
JSON Wire Protocol
The JSON wire protocol (JSONWP) is a transport mechanism created by webdriver
developers. This wire protocol is a specific set of predefined, standardized endpoints
exposed via a RESTful API.
JSON
OBJECT
{Key} : {Value}
Client
Server
Session
Web Element
COOKIE | CAPABILITIES | LOGS | PROXY OBJECTS
Appium
Architecture
Architecture
• Appium is an HTTP server which is written in Node JS that creates and handles
WebDriver session. Its Architecture is similar as Selenium WebDriver Server.
• Appium Architecture is different from Android to iOS.
• The fact that we have a client/server architecture opens up a lot of possibilities: we
can write our test code in any language that has a http client API, but it is easier to
use one of the Appium client libraries. We can put the server on a different
machine than our tests are running on.
• The results of the test session are then communicated to the server and then back
to the client system in terms of logs, using the mobile JSON wire Protocol.
Appium Android
Architecture
Appium IOS
Architecture
Locators
Locators
Identifying or locating the elements on the web or mobile using its value or property is known as locator.
Below are the locator types to find element using find_element() and find_elements() :
• id
• className
• text
• By Index number
• By Content-description
• xpath
There are two types of Xpaths :
• Relative Xpath
• Absolute Xpath
Appium Features
Appium Features
 Supports WebDriver Protocol: WebDriver Protocol gives a better control over web UI Automation without
interrupting with the JS running on the page. Appium still is backwards compatible with the JSON wire
protocol.
 Robust Test Execution: Appium can easily tests regardless of device being locally available or being on a
remote server. The tests can be monitored in real-time as well.
 Multi-Platform Support: Appium can execute test cases across multiple platforms. As of now Appium
supports android, iOS and windows applications.
 Supports Old Android Versions through Selendroid: Support for older android versions(version 4.1 and
below) can be achieved through Selendroid driver.
 Parallel Execution: Appium enables users to execute test automation scripts on multiple android or iOS
sessions. This can be achieved using UIAutomator, UIAutomation and Xcode9.
Appium Philosophy
• A Mobile automation framework shouldn’t reinvent the wheel when it
comes to automation APIs.
• A Mobile automation framework should be open source, in spirit and
practice as well as in name.
• You shouldn’t have to recompile your app or modify it in any way in order
to automate it.
• You shouldn’t be loced into a specific language or framework to write and
run your tests.
System
Requirements
Android
• Java (version 8 or later)
• Android SDK API (version 17 or later)
• Android Virtual Device (AVD) or real device
• Node and npm
IOS
Xcode (greater than or equal to 4.6.3; 5.1 is
recommended) with the command-line built tool
• Mac OS X 10.7 or later
• Java version 8 or later
• Homebrew
• Node and npm
Setup For Appium
Advanced
Features
Download, Install and then Setup Appium for Windows:
1. Install JDK (Java Development Kit) set JDK path in windows
2. Install Android SDK (Software Development Kit) set SDK path in windows
3. Install Eclipse or Intellij
4. Install Appium and Appium desktop client
5. Configure Appium after installation
6. Install Node.js
7. Install Selenium server JAR
8. Appium client library (in Java, Ruby, Python, PHP, Javascript, and C#)
9. Add these files to Eclipse Project (or as Dependencies)
Advanced
Features
Getting Started:
Step1: Start Appium Server from terminal or by Appium desktop app.
Step2: Start Eclipse or any other IDE
Create New Project
Add Dependencies in the project
Language client Library (i.e. Java)
Selenium Libraries (To use webDriver)
Step3: Add Desired Capabilities in Java code for selenium server
Step4: Find Object’s ID in App by UIAutomator or UIAutomatorViewer.
Use these ID values of respective elements in code to test your app accordingly.
Pros & Cons
Pros & Cons
Pros:
• Cross-platform support for Android and iOS
• Open-source and has a large developer community
• Supports multiple programming languages
• Supports multiple testing frameworks
• Easy setup
Cons:
• Limited support for non-mobile platforms
• Limited support for testing mobile web applications
• Requires access to the source code of the app for testing
• Some features may not be available on certain versions of iOS or Android
• Can be slow and resource-intensive when running tests.
Future Of Appium
Appium has a large and active community of developers, which means that it is
likely to continue to evolve and improve over time. Additionally, as mobile
devices and operating systems continue to evolve, Appium will need to adapt to
support these changes.
In conclusion, while it's impossible to predict the future with certainty, it's
reasonable to assume that Appium will remain a relevant and valuable tool for
mobile application test automation in the coming years.
Future Of Appium
Advanced
Features

Weitere ähnliche Inhalte

Was ist angesagt?

Appium: Automation for Mobile Apps
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile AppsSauce Labs
 
Framework For Automation Testing Practice Sharing
Framework For Automation Testing Practice SharingFramework For Automation Testing Practice Sharing
Framework For Automation Testing Practice SharingKMS Technology
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appiumPratik Patel
 
Getting started with Appium 2.0
Getting started with Appium 2.0Getting started with Appium 2.0
Getting started with Appium 2.0Anand Bagmar
 
Continuous Testing- A Key Ingredient for Success in Agile & DevOps
Continuous Testing- A Key Ingredient for Success in Agile & DevOpsContinuous Testing- A Key Ingredient for Success in Agile & DevOps
Continuous Testing- A Key Ingredient for Success in Agile & DevOpsSmartBear
 
API Test Automation
API Test Automation API Test Automation
API Test Automation SQALab
 
Introduction to Selenium Automation
Introduction to Selenium AutomationIntroduction to Selenium Automation
Introduction to Selenium AutomationMindfire Solutions
 
Introduction To Mobile-Automation
Introduction To Mobile-AutomationIntroduction To Mobile-Automation
Introduction To Mobile-AutomationMindfire Solutions
 
Test Automation and Selenium
Test Automation and SeleniumTest Automation and Selenium
Test Automation and SeleniumKarapet Sarkisyan
 
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
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application TestingSWAAM Tech
 
What is eggPlant Functional?
What is eggPlant Functional?What is eggPlant Functional?
What is eggPlant Functional?Testplant
 

Was ist angesagt? (20)

Appium: Automation for Mobile Apps
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile Apps
 
Framework For Automation Testing Practice Sharing
Framework For Automation Testing Practice SharingFramework For Automation Testing Practice Sharing
Framework For Automation Testing Practice Sharing
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appium
 
Automation using Appium
Automation using AppiumAutomation using Appium
Automation using Appium
 
Appium ppt
Appium pptAppium ppt
Appium ppt
 
Getting started with Appium 2.0
Getting started with Appium 2.0Getting started with Appium 2.0
Getting started with Appium 2.0
 
Selenium IDE
Selenium IDESelenium IDE
Selenium IDE
 
Continuous Testing- A Key Ingredient for Success in Agile & DevOps
Continuous Testing- A Key Ingredient for Success in Agile & DevOpsContinuous Testing- A Key Ingredient for Success in Agile & DevOps
Continuous Testing- A Key Ingredient for Success in Agile & DevOps
 
API Testing for everyone.pptx
API Testing for everyone.pptxAPI Testing for everyone.pptx
API Testing for everyone.pptx
 
API Test Automation
API Test Automation API Test Automation
API Test Automation
 
Introduction to Selenium Automation
Introduction to Selenium AutomationIntroduction to Selenium Automation
Introduction to Selenium Automation
 
Mobile App Testing Strategy
Mobile App Testing StrategyMobile App Testing Strategy
Mobile App Testing Strategy
 
Introduction To Mobile-Automation
Introduction To Mobile-AutomationIntroduction To Mobile-Automation
Introduction To Mobile-Automation
 
Test Automation and Selenium
Test Automation and SeleniumTest Automation and Selenium
Test Automation and Selenium
 
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
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Introduction to Selenium Web Driver
Introduction to Selenium Web DriverIntroduction to Selenium Web Driver
Introduction to Selenium Web Driver
 
API Testing
API TestingAPI Testing
API Testing
 
What is eggPlant Functional?
What is eggPlant Functional?What is eggPlant Functional?
What is eggPlant Functional?
 

Ähnlich wie Appium.pptx

appiumpresent-211128171811.pptx projet de presentation
appiumpresent-211128171811.pptx projet de presentationappiumpresent-211128171811.pptx projet de presentation
appiumpresent-211128171811.pptx projet de presentationEnochBidima3
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfkalichargn70th171
 
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
 
Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)danielputerman
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with AppiumManoj Kumar Kumar
 
Appium an introduction
Appium   an introductionAppium   an introduction
Appium an introductionVivek Shringi
 
Top 20 best automation testing tools
Top 20 best automation testing toolsTop 20 best automation testing tools
Top 20 best automation testing toolsQACraft
 
[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
 
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
 
Building And Executing Test Cases with Appium and Various Test Frameworks.pdf
Building And Executing Test Cases with Appium and Various Test Frameworks.pdfBuilding And Executing Test Cases with Appium and Various Test Frameworks.pdf
Building And Executing Test Cases with Appium and Various Test Frameworks.pdfpCloudy
 
Challenges of automated mobile UI testing
Challenges of automated mobile UI testingChallenges of automated mobile UI testing
Challenges of automated mobile UI testingBartłomiej Pisulak
 
Mobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMoataz Nabil
 
Appium - test automation for mobile apps
Appium - test automation for mobile appsAppium - test automation for mobile apps
Appium - test automation for mobile appsAleksejs Trescalins
 
Automated Mobile Testing using Appium.pdf
Automated Mobile Testing using Appium.pdfAutomated Mobile Testing using Appium.pdf
Automated Mobile Testing using Appium.pdfAnand722237
 
Android Automation Testing with Selendroid
Android Automation Testing with SelendroidAndroid Automation Testing with Selendroid
Android Automation Testing with SelendroidVikas Thange
 

Ähnlich wie Appium.pptx (20)

appiumpresent-211128171811.pptx projet de presentation
appiumpresent-211128171811.pptx projet de presentationappiumpresent-211128171811.pptx projet de presentation
appiumpresent-211128171811.pptx projet de presentation
 
Appium solution
Appium solutionAppium solution
Appium solution
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
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
 
ATAGTR2017 Appium
ATAGTR2017 AppiumATAGTR2017 Appium
ATAGTR2017 Appium
 
Next level of Appium
Next level of AppiumNext level of Appium
Next level of Appium
 
Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with Appium
 
Appium an introduction
Appium   an introductionAppium   an introduction
Appium an introduction
 
Top 20 best automation testing tools
Top 20 best automation testing toolsTop 20 best automation testing tools
Top 20 best automation testing tools
 
[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
 
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 solution artizone
Appium solution   artizoneAppium solution   artizone
Appium solution artizone
 
Mobile DevTest Dictionary
Mobile DevTest DictionaryMobile DevTest Dictionary
Mobile DevTest Dictionary
 
Building And Executing Test Cases with Appium and Various Test Frameworks.pdf
Building And Executing Test Cases with Appium and Various Test Frameworks.pdfBuilding And Executing Test Cases with Appium and Various Test Frameworks.pdf
Building And Executing Test Cases with Appium and Various Test Frameworks.pdf
 
Challenges of automated mobile UI testing
Challenges of automated mobile UI testingChallenges of automated mobile UI testing
Challenges of automated mobile UI testing
 
Mobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and Docker
 
Appium - test automation for mobile apps
Appium - test automation for mobile appsAppium - test automation for mobile apps
Appium - test automation for mobile apps
 
Automated Mobile Testing using Appium.pdf
Automated Mobile Testing using Appium.pdfAutomated Mobile Testing using Appium.pdf
Automated Mobile Testing using Appium.pdf
 
Android Automation Testing with Selendroid
Android Automation Testing with SelendroidAndroid Automation Testing with Selendroid
Android Automation Testing with Selendroid
 

Kürzlich hochgeladen

School management system project report.pdf
School management system project report.pdfSchool management system project report.pdf
School management system project report.pdfKamal Acharya
 
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdfONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdfKamal Acharya
 
NO1 Pandit Black Magic Removal in Uk kala jadu Specialist kala jadu for Love ...
NO1 Pandit Black Magic Removal in Uk kala jadu Specialist kala jadu for Love ...NO1 Pandit Black Magic Removal in Uk kala jadu Specialist kala jadu for Love ...
NO1 Pandit Black Magic Removal in Uk kala jadu Specialist kala jadu for Love ...Amil baba
 
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdfA CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdfKamal Acharya
 
1. Henrich Triangle Safety and Fire Presentation
1. Henrich Triangle Safety and Fire Presentation1. Henrich Triangle Safety and Fire Presentation
1. Henrich Triangle Safety and Fire PresentationBhuwanAgrawal8
 
Online blood donation management system project.pdf
Online blood donation management system project.pdfOnline blood donation management system project.pdf
Online blood donation management system project.pdfKamal Acharya
 
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5T.D. Shashikala
 
Supermarket billing system project report..pdf
Supermarket billing system project report..pdfSupermarket billing system project report..pdf
Supermarket billing system project report..pdfKamal Acharya
 
2024 DevOps Pro Europe - Growing at the edge
2024 DevOps Pro Europe - Growing at the edge2024 DevOps Pro Europe - Growing at the edge
2024 DevOps Pro Europe - Growing at the edgePaco Orozco
 
ONLINE CAR SERVICING SYSTEM PROJECT REPORT.pdf
ONLINE CAR SERVICING SYSTEM PROJECT REPORT.pdfONLINE CAR SERVICING SYSTEM PROJECT REPORT.pdf
ONLINE CAR SERVICING SYSTEM PROJECT REPORT.pdfKamal Acharya
 
KIT-601 Lecture Notes-UNIT-3.pdf Mining Data Stream
KIT-601 Lecture Notes-UNIT-3.pdf Mining Data StreamKIT-601 Lecture Notes-UNIT-3.pdf Mining Data Stream
KIT-601 Lecture Notes-UNIT-3.pdf Mining Data StreamDr. Radhey Shyam
 
Laundry management system project report.pdf
Laundry management system project report.pdfLaundry management system project report.pdf
Laundry management system project report.pdfKamal Acharya
 
Dairy management system project report..pdf
Dairy management system project report..pdfDairy management system project report..pdf
Dairy management system project report..pdfKamal Acharya
 
retail automation billing system ppt.pptx
retail automation billing system ppt.pptxretail automation billing system ppt.pptx
retail automation billing system ppt.pptxfaamieahmd
 
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...Lovely Professional University
 
"United Nations Park" Site Visit Report.
"United Nations Park" Site  Visit Report."United Nations Park" Site  Visit Report.
"United Nations Park" Site Visit Report.MdManikurRahman
 
Online book store management system project.pdf
Online book store management system project.pdfOnline book store management system project.pdf
Online book store management system project.pdfKamal Acharya
 
Research Methodolgy & Intellectual Property Rights Series 2
Research Methodolgy & Intellectual Property Rights Series 2Research Methodolgy & Intellectual Property Rights Series 2
Research Methodolgy & Intellectual Property Rights Series 2T.D. Shashikala
 
Furniture showroom management system project.pdf
Furniture showroom management system project.pdfFurniture showroom management system project.pdf
Furniture showroom management system project.pdfKamal Acharya
 
Electrical shop management system project report.pdf
Electrical shop management system project report.pdfElectrical shop management system project report.pdf
Electrical shop management system project report.pdfKamal Acharya
 

Kürzlich hochgeladen (20)

School management system project report.pdf
School management system project report.pdfSchool management system project report.pdf
School management system project report.pdf
 
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdfONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
 
NO1 Pandit Black Magic Removal in Uk kala jadu Specialist kala jadu for Love ...
NO1 Pandit Black Magic Removal in Uk kala jadu Specialist kala jadu for Love ...NO1 Pandit Black Magic Removal in Uk kala jadu Specialist kala jadu for Love ...
NO1 Pandit Black Magic Removal in Uk kala jadu Specialist kala jadu for Love ...
 
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdfA CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
 
1. Henrich Triangle Safety and Fire Presentation
1. Henrich Triangle Safety and Fire Presentation1. Henrich Triangle Safety and Fire Presentation
1. Henrich Triangle Safety and Fire Presentation
 
Online blood donation management system project.pdf
Online blood donation management system project.pdfOnline blood donation management system project.pdf
Online blood donation management system project.pdf
 
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5
 
Supermarket billing system project report..pdf
Supermarket billing system project report..pdfSupermarket billing system project report..pdf
Supermarket billing system project report..pdf
 
2024 DevOps Pro Europe - Growing at the edge
2024 DevOps Pro Europe - Growing at the edge2024 DevOps Pro Europe - Growing at the edge
2024 DevOps Pro Europe - Growing at the edge
 
ONLINE CAR SERVICING SYSTEM PROJECT REPORT.pdf
ONLINE CAR SERVICING SYSTEM PROJECT REPORT.pdfONLINE CAR SERVICING SYSTEM PROJECT REPORT.pdf
ONLINE CAR SERVICING SYSTEM PROJECT REPORT.pdf
 
KIT-601 Lecture Notes-UNIT-3.pdf Mining Data Stream
KIT-601 Lecture Notes-UNIT-3.pdf Mining Data StreamKIT-601 Lecture Notes-UNIT-3.pdf Mining Data Stream
KIT-601 Lecture Notes-UNIT-3.pdf Mining Data Stream
 
Laundry management system project report.pdf
Laundry management system project report.pdfLaundry management system project report.pdf
Laundry management system project report.pdf
 
Dairy management system project report..pdf
Dairy management system project report..pdfDairy management system project report..pdf
Dairy management system project report..pdf
 
retail automation billing system ppt.pptx
retail automation billing system ppt.pptxretail automation billing system ppt.pptx
retail automation billing system ppt.pptx
 
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
 
"United Nations Park" Site Visit Report.
"United Nations Park" Site  Visit Report."United Nations Park" Site  Visit Report.
"United Nations Park" Site Visit Report.
 
Online book store management system project.pdf
Online book store management system project.pdfOnline book store management system project.pdf
Online book store management system project.pdf
 
Research Methodolgy & Intellectual Property Rights Series 2
Research Methodolgy & Intellectual Property Rights Series 2Research Methodolgy & Intellectual Property Rights Series 2
Research Methodolgy & Intellectual Property Rights Series 2
 
Furniture showroom management system project.pdf
Furniture showroom management system project.pdfFurniture showroom management system project.pdf
Furniture showroom management system project.pdf
 
Electrical shop management system project report.pdf
Electrical shop management system project report.pdfElectrical shop management system project report.pdf
Electrical shop management system project report.pdf
 

Appium.pptx

  • 1. 01 Introduction Agenda 02 Appium Concepts 03 04 05 06 07 08 09 10 11 Types of Mobile Applications Why Appium? JSON Wire Protocol Appium Architecture Locators Appium Features Appium Philosophy Pros & Cons Future of Appium
  • 3. What is Appium ? Appium is an open-source, cross platform tool for automated testing of native, mobile web, and hybrid application on IOS, Android, and windows desktop platforms.
  • 5. Client-Server Architecture: Appium is at it’s heart a webserver that exposes a Rest API. It receives connections from a client, listens for commands, executes those commands on a mobile device, and responds with an HTTP responses representing the result of the command execution. Appium Session: Appium is always performed in the context of a session. Clients initiate a session with a server in ways specific to each library, but they all end up sending a POST / session request to the server, with a JSON object called the ‘desired capabilities’ object. Desired Capabilities: It is a set of key-value pairs sent to the Appium server to tell the server what kind of automation session we’re interested in starting up. There are also various capabilities which can modify the behaviour of the server during automation.
  • 6. Types Of Mobile Applications Web Applications Native Applications Hybrid Applications
  • 7. Web Applications A Web Applications is an app like any other, with the advantage that it’s stored on the internet and can be executed on any browser. Advantages Of Web Applications Examples Of Web Applications
  • 8. Native Applications A Native Applications is a software program that is developed for use on a particular platform or device. Advantages Of Native Applications Examples Of Native Applications
  • 9. Hybrid Applications A Hybrid Application is technically a web app packed in a native app container, like the web app, it is written in HTML, CSS and Javascript. Advantages Of Hybrid Applications Examples Of Hybrid Applications
  • 11. Why Appium ? • Open Source Not only is Appium free of cost, but also open source. This means Appium can be tweaked infinitely to work according to your twins. • Cross-Platform Appium can test any mobile application whether it be a native one, a hybrid one or even a web app. Whether the app works only on IOS or Android or even both, Appium has you covered. Above that, Appium, itself can be installed on windows, Mac and Linux. • Framework Support Appium is a framework is also supported by various automation testing tools out there. You shouldn’t be loced into a specific language or framework to write and run your tests. • Community A budding community is extremely necessary. An active community results in faster bug and reports and easier troubleshooting which is key to the success of an automation testing tool.
  • 12. Why Choose Appium ? Free and open source Supports only android Need app source code / library Small changes in Robotium code leads to a complete rebuild Supports java only. Not compatible with selenium at all Not such a proactive community Free and Open Source Supports both iOS and android No need for app source code Doesn’t reinstall application Support multiple frameworks and programming languages Strong and Active Community Free and Open Source Supports Only Android Need for app source code Supports only android 2.3-4.4 Compatible with selenium and Jenkins Community not as strong as appium
  • 14. JSON Wire Protocol The JSON wire protocol (JSONWP) is a transport mechanism created by webdriver developers. This wire protocol is a specific set of predefined, standardized endpoints exposed via a RESTful API. JSON OBJECT {Key} : {Value} Client Server Session Web Element COOKIE | CAPABILITIES | LOGS | PROXY OBJECTS
  • 16. Architecture • Appium is an HTTP server which is written in Node JS that creates and handles WebDriver session. Its Architecture is similar as Selenium WebDriver Server. • Appium Architecture is different from Android to iOS. • The fact that we have a client/server architecture opens up a lot of possibilities: we can write our test code in any language that has a http client API, but it is easier to use one of the Appium client libraries. We can put the server on a different machine than our tests are running on. • The results of the test session are then communicated to the server and then back to the client system in terms of logs, using the mobile JSON wire Protocol.
  • 20. Locators Identifying or locating the elements on the web or mobile using its value or property is known as locator. Below are the locator types to find element using find_element() and find_elements() : • id • className • text • By Index number • By Content-description • xpath There are two types of Xpaths : • Relative Xpath • Absolute Xpath
  • 22. Appium Features  Supports WebDriver Protocol: WebDriver Protocol gives a better control over web UI Automation without interrupting with the JS running on the page. Appium still is backwards compatible with the JSON wire protocol.  Robust Test Execution: Appium can easily tests regardless of device being locally available or being on a remote server. The tests can be monitored in real-time as well.  Multi-Platform Support: Appium can execute test cases across multiple platforms. As of now Appium supports android, iOS and windows applications.  Supports Old Android Versions through Selendroid: Support for older android versions(version 4.1 and below) can be achieved through Selendroid driver.  Parallel Execution: Appium enables users to execute test automation scripts on multiple android or iOS sessions. This can be achieved using UIAutomator, UIAutomation and Xcode9.
  • 23. Appium Philosophy • A Mobile automation framework shouldn’t reinvent the wheel when it comes to automation APIs. • A Mobile automation framework should be open source, in spirit and practice as well as in name. • You shouldn’t have to recompile your app or modify it in any way in order to automate it. • You shouldn’t be loced into a specific language or framework to write and run your tests.
  • 25. Android • Java (version 8 or later) • Android SDK API (version 17 or later) • Android Virtual Device (AVD) or real device • Node and npm IOS Xcode (greater than or equal to 4.6.3; 5.1 is recommended) with the command-line built tool • Mac OS X 10.7 or later • Java version 8 or later • Homebrew • Node and npm
  • 27. Advanced Features Download, Install and then Setup Appium for Windows: 1. Install JDK (Java Development Kit) set JDK path in windows 2. Install Android SDK (Software Development Kit) set SDK path in windows 3. Install Eclipse or Intellij 4. Install Appium and Appium desktop client 5. Configure Appium after installation 6. Install Node.js 7. Install Selenium server JAR 8. Appium client library (in Java, Ruby, Python, PHP, Javascript, and C#) 9. Add these files to Eclipse Project (or as Dependencies)
  • 28. Advanced Features Getting Started: Step1: Start Appium Server from terminal or by Appium desktop app.
  • 29. Step2: Start Eclipse or any other IDE Create New Project Add Dependencies in the project Language client Library (i.e. Java) Selenium Libraries (To use webDriver)
  • 30. Step3: Add Desired Capabilities in Java code for selenium server Step4: Find Object’s ID in App by UIAutomator or UIAutomatorViewer. Use these ID values of respective elements in code to test your app accordingly.
  • 32. Pros & Cons Pros: • Cross-platform support for Android and iOS • Open-source and has a large developer community • Supports multiple programming languages • Supports multiple testing frameworks • Easy setup Cons: • Limited support for non-mobile platforms • Limited support for testing mobile web applications • Requires access to the source code of the app for testing • Some features may not be available on certain versions of iOS or Android • Can be slow and resource-intensive when running tests.
  • 34. Appium has a large and active community of developers, which means that it is likely to continue to evolve and improve over time. Additionally, as mobile devices and operating systems continue to evolve, Appium will need to adapt to support these changes. In conclusion, while it's impossible to predict the future with certainty, it's reasonable to assume that Appium will remain a relevant and valuable tool for mobile application test automation in the coming years. Future Of Appium