SlideShare a Scribd company logo
Mobile	web	app	scripts	
execution	on	real	
Android	device	using	
Garima Goel
(Naukri Quality)
Why	Appium?	
Advantages of using appium for mobile site
Test script execution:
•  Different Android devices
•  Different versions of Android OS
•  Reduces manual Effort
•  Reduces Testing time
•  Larger ROI on Automation test scripts
•  Responsive Pages automation
Appium Architecture
On an Android device, Appium uses the UIAutomator framework to automate
the apps.
When we execute the test scripts, Appium sends the command to the
UIAutomator running on the device. Here, bootstrap.jar is used to execute
the test command in order to perform the action on the Android device.
Appium on Android
Additional prerequisites to use
Appium
Apart from current selenium setup, we need to
configure following setup on our machine
Android SDK tools (API>=17)
ADT plugin for Eclipse
Appium server
Appium client libraries
AVD or real device
Appium Server
There are 2 ways to
start the Appium
server:
• Using command prompt -
Type command: “appium &” to
start the server.
• Using Appium GUI - Click
“Launch Appium Server”
button in the appium GUI to
start the server
Before server Start
After server Start
Setup to be done on mobile device before
start working with Appium
Mobile web app
test script
execution on
real device
We will now study how to
execute selenium test
scripts in native chrome
browser of real android
device.
Code to initialize Android Chrome
browser
Following steps
are to be followed
to execute the
mobile site test
scripts on real
android device
•  Enable USB debugging option in the
android device
•  Connect the device to the laptop and type
“adb devices” in the command prompt to
check device is connected.
•  Start the Appium server.
•  Run the project using ant/maven
command.
•  The test scripts will start executing in the
Chrome browser of the connected mobile
device.
Issues faced
while test script
execution in
Chrome
ElementNotClickableException
InvalidSelectorException
Slow Window Switching
No support for Actions class
Use JavaScript or
sendkeys(Keys.Enter) to click
the element in chrome
browser
Use Explicit Wait / Webdriver
Wait to avoid
InvalidSelectorException
Use Thread.sleep() after
switching to window.
[@NaukriEngineering] Mobile Web app scripts execution using Appium

More Related Content

What's hot

Appium presentation matific
Appium presentation   matificAppium presentation   matific
Appium presentation matific
Nael Abd Eljawad
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with Appium
Manoj Kumar Kumar
 
Automating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumAutomating Hybrid Applications with Appium
Automating Hybrid Applications with Appium
Sauce Labs
 
Appium basics
Appium basicsAppium basics
Appium basics
Syam Sasi
 
Introduction To Appium With Robotframework
Introduction To Appium With RobotframeworkIntroduction To Appium With Robotframework
Introduction To Appium With Robotframework
Syam Sasi
 
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
Sauce Labs
 
BCS Selenium Workshop
BCS Selenium WorkshopBCS Selenium Workshop
BCS Selenium Workshop
Colin McDonald
 
Automated UI Testing Frameworks
Automated UI Testing FrameworksAutomated UI Testing Frameworks
Automated UI Testing Frameworks
TestObject - Mobile Testing
 
Learn Google's Angular
Learn Google's AngularLearn Google's Angular
Learn Google's Angular
Herry Atwar
 
Future of Mobile Automation, Appium Steals it
Future of Mobile Automation, Appium Steals itFuture of Mobile Automation, Appium Steals it
Future of Mobile Automation, Appium Steals it
Srinivasan Sekar
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appium
Pratik Patel
 
Here are some technologies which we have used
Here are some technologies which we have usedHere are some technologies which we have used
Here are some technologies which we have used
Sean Walters
 
Here are some technologies which we have used
Here are some technologies which we have usedHere are some technologies which we have used
Here are some technologies which we have used
Sean Walters
 
Vietnam qa meetup
Vietnam qa meetupVietnam qa meetup
Vietnam qa meetup
Syam Sasi
 
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
Andrea Tino
 
Selenium, Appium, and Robots!
Selenium, Appium, and Robots!Selenium, Appium, and Robots!
Selenium, Appium, and Robots!
hugs
 
Espresso testing
Espresso testingEspresso testing
Espresso testing
vodqancr
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With Appium
Knoldus Inc.
 
WordCamp Athens 2017 - Building an E-commerce Progressive Web App with React ...
WordCamp Athens 2017 - Building an E-commerce Progressive Web App with React ...WordCamp Athens 2017 - Building an E-commerce Progressive Web App with React ...
WordCamp Athens 2017 - Building an E-commerce Progressive Web App with React ...
Alexandra Anghel
 
Mobile Web Test Automation: to the Desktop! - Alexander Bayandin - Mobile Tes...
Mobile Web Test Automation: to the Desktop! - Alexander Bayandin - Mobile Tes...Mobile Web Test Automation: to the Desktop! - Alexander Bayandin - Mobile Tes...
Mobile Web Test Automation: to the Desktop! - Alexander Bayandin - Mobile Tes...
Badoo
 

What's hot (20)

Appium presentation matific
Appium presentation   matificAppium presentation   matific
Appium presentation matific
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with Appium
 
Automating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumAutomating Hybrid Applications with Appium
Automating Hybrid Applications with Appium
 
Appium basics
Appium basicsAppium basics
Appium basics
 
Introduction To Appium With Robotframework
Introduction To Appium With RobotframeworkIntroduction To Appium With Robotframework
Introduction To Appium With Robotframework
 
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
 
BCS Selenium Workshop
BCS Selenium WorkshopBCS Selenium Workshop
BCS Selenium Workshop
 
Automated UI Testing Frameworks
Automated UI Testing FrameworksAutomated UI Testing Frameworks
Automated UI Testing Frameworks
 
Learn Google's Angular
Learn Google's AngularLearn Google's Angular
Learn Google's Angular
 
Future of Mobile Automation, Appium Steals it
Future of Mobile Automation, Appium Steals itFuture of Mobile Automation, Appium Steals it
Future of Mobile Automation, Appium Steals it
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appium
 
Here are some technologies which we have used
Here are some technologies which we have usedHere are some technologies which we have used
Here are some technologies which we have used
 
Here are some technologies which we have used
Here are some technologies which we have usedHere are some technologies which we have used
Here are some technologies which we have used
 
Vietnam qa meetup
Vietnam qa meetupVietnam qa meetup
Vietnam qa meetup
 
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
 
Selenium, Appium, and Robots!
Selenium, Appium, and Robots!Selenium, Appium, and Robots!
Selenium, Appium, and Robots!
 
Espresso testing
Espresso testingEspresso testing
Espresso testing
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With Appium
 
WordCamp Athens 2017 - Building an E-commerce Progressive Web App with React ...
WordCamp Athens 2017 - Building an E-commerce Progressive Web App with React ...WordCamp Athens 2017 - Building an E-commerce Progressive Web App with React ...
WordCamp Athens 2017 - Building an E-commerce Progressive Web App with React ...
 
Mobile Web Test Automation: to the Desktop! - Alexander Bayandin - Mobile Tes...
Mobile Web Test Automation: to the Desktop! - Alexander Bayandin - Mobile Tes...Mobile Web Test Automation: to the Desktop! - Alexander Bayandin - Mobile Tes...
Mobile Web Test Automation: to the Desktop! - Alexander Bayandin - Mobile Tes...
 

Viewers also liked

Appy hour 11-28-12
Appy hour 11-28-12Appy hour 11-28-12
Appy hour 11-28-12
matthewlipstein
 
Молницька ЗОШ І-ІІІ ст.
Молницька ЗОШ І-ІІІ ст.Молницька ЗОШ І-ІІІ ст.
Молницька ЗОШ І-ІІІ ст.
Тетяна Герман
 
алгебра 9
алгебра 9алгебра 9
алгебра 9
Тетяна Герман
 
Marketing plan
Marketing planMarketing plan
Marketing plan
sudhanshusd
 
1996 998 1183110-gma-gb_final
1996 998 1183110-gma-gb_final1996 998 1183110-gma-gb_final
1996 998 1183110-gma-gb_final
Linda Sithole
 
математика ІІІ етап
математика ІІІ етапматематика ІІІ етап
математика ІІІ етап
Тетяна Герман
 
Cherf Whole Foods Market vs The Fresh Market
Cherf Whole Foods Market vs The Fresh MarketCherf Whole Foods Market vs The Fresh Market
Cherf Whole Foods Market vs The Fresh Market
Jamie Cherf
 
Reduce DevOps Friction with Docker & Jenkins by Andy Pemberton, Cloudbees
Reduce DevOps Friction with Docker & Jenkins by Andy Pemberton, CloudbeesReduce DevOps Friction with Docker & Jenkins by Andy Pemberton, Cloudbees
Reduce DevOps Friction with Docker & Jenkins by Andy Pemberton, Cloudbees
Docker, Inc.
 

Viewers also liked (8)

Appy hour 11-28-12
Appy hour 11-28-12Appy hour 11-28-12
Appy hour 11-28-12
 
Молницька ЗОШ І-ІІІ ст.
Молницька ЗОШ І-ІІІ ст.Молницька ЗОШ І-ІІІ ст.
Молницька ЗОШ І-ІІІ ст.
 
алгебра 9
алгебра 9алгебра 9
алгебра 9
 
Marketing plan
Marketing planMarketing plan
Marketing plan
 
1996 998 1183110-gma-gb_final
1996 998 1183110-gma-gb_final1996 998 1183110-gma-gb_final
1996 998 1183110-gma-gb_final
 
математика ІІІ етап
математика ІІІ етапматематика ІІІ етап
математика ІІІ етап
 
Cherf Whole Foods Market vs The Fresh Market
Cherf Whole Foods Market vs The Fresh MarketCherf Whole Foods Market vs The Fresh Market
Cherf Whole Foods Market vs The Fresh Market
 
Reduce DevOps Friction with Docker & Jenkins by Andy Pemberton, Cloudbees
Reduce DevOps Friction with Docker & Jenkins by Andy Pemberton, CloudbeesReduce DevOps Friction with Docker & Jenkins by Andy Pemberton, Cloudbees
Reduce DevOps Friction with Docker & Jenkins by Andy Pemberton, Cloudbees
 

Similar to [@NaukriEngineering] Mobile Web app scripts execution using Appium

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
Bitbar
 
Browser_Stack_Intro
Browser_Stack_IntroBrowser_Stack_Intro
Browser_Stack_Intro
Mithilesh Singh
 
Appium- part 1
Appium- part 1Appium- part 1
Appium- part 1
Mithilesh Singh
 
Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021
Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021
Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021
Svetlin Nakov
 
ATAGTR2017 Appium
ATAGTR2017 AppiumATAGTR2017 Appium
ATAGTR2017 Appium
Agile Testing Alliance
 
A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...
A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...
A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...
flufftailshop
 
Automated Mobile Testing using Appium.pdf
Automated Mobile Testing using Appium.pdfAutomated Mobile Testing using Appium.pdf
Automated Mobile Testing using Appium.pdf
Anand722237
 
Overview the Challenges and Limitations of Android App Automation with Espres...
Overview the Challenges and Limitations of Android App Automation with Espres...Overview the Challenges and Limitations of Android App Automation with Espres...
Overview the Challenges and Limitations of Android App Automation with Espres...
Sauce Labs
 
How to Leverage Appium in Your Mobile App Testing
How to Leverage Appium in Your Mobile App TestingHow to Leverage Appium in Your Mobile App Testing
How to Leverage Appium in Your Mobile App Testing
Bitbar
 
Automation using Appium
Automation using AppiumAutomation using Appium
Automation using Appium
Livares Technologies Pvt Ltd
 
Next level of Appium
Next level of AppiumNext level of Appium
Next level of Appium
Keshav Kashyap
 
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 presentation
EnochBidima3
 
Appium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation IntroductionAppium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation Introduction
snevesbarros
 
Android testing
Android testingAndroid testing
Android testing
Bitbar
 
Appium solution artizone
Appium solution   artizoneAppium solution   artizone
Appium solution artizone
Nael Abd Eljawad
 
Android testing
Android testingAndroid testing
Android testing
JinaTm
 
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
pCloudy
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing
Shivaraj R
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
Sun Technlogies
 

Similar to [@NaukriEngineering] Mobile Web app scripts execution using Appium (20)

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
 
Browser_Stack_Intro
Browser_Stack_IntroBrowser_Stack_Intro
Browser_Stack_Intro
 
Appium- part 1
Appium- part 1Appium- part 1
Appium- part 1
 
Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021
Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021
Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021
 
ATAGTR2017 Appium
ATAGTR2017 AppiumATAGTR2017 Appium
ATAGTR2017 Appium
 
A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...
A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...
A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...
 
Automated Mobile Testing using Appium.pdf
Automated Mobile Testing using Appium.pdfAutomated Mobile Testing using Appium.pdf
Automated Mobile Testing using Appium.pdf
 
Overview the Challenges and Limitations of Android App Automation with Espres...
Overview the Challenges and Limitations of Android App Automation with Espres...Overview the Challenges and Limitations of Android App Automation with Espres...
Overview the Challenges and Limitations of Android App Automation with Espres...
 
How to Leverage Appium in Your Mobile App Testing
How to Leverage Appium in Your Mobile App TestingHow to Leverage Appium in Your Mobile App Testing
How to Leverage Appium in Your Mobile App Testing
 
Automation using Appium
Automation using AppiumAutomation using Appium
Automation using Appium
 
Next level of Appium
Next level of AppiumNext level of Appium
Next level of Appium
 
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
 
Appium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation IntroductionAppium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation Introduction
 
Android testing
Android testingAndroid testing
Android testing
 
Appium solution artizone
Appium solution   artizoneAppium solution   artizone
Appium solution artizone
 
Android testing
Android testingAndroid testing
Android testing
 
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
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 

More from Naukri.com

[@NaukriEngineering] Deferred deep linking in iOS
[@NaukriEngineering] Deferred deep linking in iOS[@NaukriEngineering] Deferred deep linking in iOS
[@NaukriEngineering] Deferred deep linking in iOS
Naukri.com
 
[@NaukriEngineering] Instant Apps
[@NaukriEngineering] Instant Apps[@NaukriEngineering] Instant Apps
[@NaukriEngineering] Instant Apps
Naukri.com
 
[@NaukriEngineering] Video handlings on apple platforms
[@NaukriEngineering] Video handlings on apple platforms[@NaukriEngineering] Video handlings on apple platforms
[@NaukriEngineering] Video handlings on apple platforms
Naukri.com
 
[@NaukriEngineering] Introduction to Android O
[@NaukriEngineering] Introduction to Android O[@NaukriEngineering] Introduction to Android O
[@NaukriEngineering] Introduction to Android O
Naukri.com
 
[@NaukriEngineering] MVVM in iOS
[@NaukriEngineering] MVVM in iOS[@NaukriEngineering] MVVM in iOS
[@NaukriEngineering] MVVM in iOS
Naukri.com
 
[@NaukriEngineering] Introduction to Galera cluster
[@NaukriEngineering] Introduction to Galera cluster[@NaukriEngineering] Introduction to Galera cluster
[@NaukriEngineering] Introduction to Galera cluster
Naukri.com
 
[@NaukriEngineering] Inbound Emails for Every Web App: Angle
[@NaukriEngineering] Inbound Emails for Every Web App: Angle[@NaukriEngineering] Inbound Emails for Every Web App: Angle
[@NaukriEngineering] Inbound Emails for Every Web App: Angle
Naukri.com
 
[@NaukriEngineering] BDD implementation using Cucumber
[@NaukriEngineering] BDD implementation using Cucumber[@NaukriEngineering] BDD implementation using Cucumber
[@NaukriEngineering] BDD implementation using Cucumber
Naukri.com
 
[@NaukriEngineering] Feature Toggles
[@NaukriEngineering] Feature Toggles[@NaukriEngineering] Feature Toggles
[@NaukriEngineering] Feature Toggles
Naukri.com
 
[@NaukriEngineering] Apache Spark
[@NaukriEngineering] Apache Spark[@NaukriEngineering] Apache Spark
[@NaukriEngineering] Apache Spark
Naukri.com
 
[@NaukriEngineering] Icon fonts & vector drawable in iOS apps
[@NaukriEngineering] Icon fonts & vector drawable in iOS apps[@NaukriEngineering] Icon fonts & vector drawable in iOS apps
[@NaukriEngineering] Icon fonts & vector drawable in iOS apps
Naukri.com
 
[@NaukriEngineering] AppTracer
[@NaukriEngineering] AppTracer[@NaukriEngineering] AppTracer
[@NaukriEngineering] AppTracer
Naukri.com
 
[@NaukriEngineering] Flux Architecture
[@NaukriEngineering] Flux Architecture[@NaukriEngineering] Flux Architecture
[@NaukriEngineering] Flux Architecture
Naukri.com
 
[@NaukriEngineering] Messaging Queues
[@NaukriEngineering] Messaging Queues[@NaukriEngineering] Messaging Queues
[@NaukriEngineering] Messaging Queues
Naukri.com
 
[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101
Naukri.com
 
[@NaukriEngineering] Git Basic Commands and Hacks
[@NaukriEngineering] Git Basic Commands and Hacks[@NaukriEngineering] Git Basic Commands and Hacks
[@NaukriEngineering] Git Basic Commands and Hacks
Naukri.com
 
[@NaukriEngineering] IndexedDB
[@NaukriEngineering] IndexedDB[@NaukriEngineering] IndexedDB
[@NaukriEngineering] IndexedDB
Naukri.com
 
[@NaukriEngineering] CSS4 Selectors – Part 1
[@NaukriEngineering] CSS4 Selectors – Part 1[@NaukriEngineering] CSS4 Selectors – Part 1
[@NaukriEngineering] CSS4 Selectors – Part 1
Naukri.com
 

More from Naukri.com (18)

[@NaukriEngineering] Deferred deep linking in iOS
[@NaukriEngineering] Deferred deep linking in iOS[@NaukriEngineering] Deferred deep linking in iOS
[@NaukriEngineering] Deferred deep linking in iOS
 
[@NaukriEngineering] Instant Apps
[@NaukriEngineering] Instant Apps[@NaukriEngineering] Instant Apps
[@NaukriEngineering] Instant Apps
 
[@NaukriEngineering] Video handlings on apple platforms
[@NaukriEngineering] Video handlings on apple platforms[@NaukriEngineering] Video handlings on apple platforms
[@NaukriEngineering] Video handlings on apple platforms
 
[@NaukriEngineering] Introduction to Android O
[@NaukriEngineering] Introduction to Android O[@NaukriEngineering] Introduction to Android O
[@NaukriEngineering] Introduction to Android O
 
[@NaukriEngineering] MVVM in iOS
[@NaukriEngineering] MVVM in iOS[@NaukriEngineering] MVVM in iOS
[@NaukriEngineering] MVVM in iOS
 
[@NaukriEngineering] Introduction to Galera cluster
[@NaukriEngineering] Introduction to Galera cluster[@NaukriEngineering] Introduction to Galera cluster
[@NaukriEngineering] Introduction to Galera cluster
 
[@NaukriEngineering] Inbound Emails for Every Web App: Angle
[@NaukriEngineering] Inbound Emails for Every Web App: Angle[@NaukriEngineering] Inbound Emails for Every Web App: Angle
[@NaukriEngineering] Inbound Emails for Every Web App: Angle
 
[@NaukriEngineering] BDD implementation using Cucumber
[@NaukriEngineering] BDD implementation using Cucumber[@NaukriEngineering] BDD implementation using Cucumber
[@NaukriEngineering] BDD implementation using Cucumber
 
[@NaukriEngineering] Feature Toggles
[@NaukriEngineering] Feature Toggles[@NaukriEngineering] Feature Toggles
[@NaukriEngineering] Feature Toggles
 
[@NaukriEngineering] Apache Spark
[@NaukriEngineering] Apache Spark[@NaukriEngineering] Apache Spark
[@NaukriEngineering] Apache Spark
 
[@NaukriEngineering] Icon fonts & vector drawable in iOS apps
[@NaukriEngineering] Icon fonts & vector drawable in iOS apps[@NaukriEngineering] Icon fonts & vector drawable in iOS apps
[@NaukriEngineering] Icon fonts & vector drawable in iOS apps
 
[@NaukriEngineering] AppTracer
[@NaukriEngineering] AppTracer[@NaukriEngineering] AppTracer
[@NaukriEngineering] AppTracer
 
[@NaukriEngineering] Flux Architecture
[@NaukriEngineering] Flux Architecture[@NaukriEngineering] Flux Architecture
[@NaukriEngineering] Flux Architecture
 
[@NaukriEngineering] Messaging Queues
[@NaukriEngineering] Messaging Queues[@NaukriEngineering] Messaging Queues
[@NaukriEngineering] Messaging Queues
 
[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101
 
[@NaukriEngineering] Git Basic Commands and Hacks
[@NaukriEngineering] Git Basic Commands and Hacks[@NaukriEngineering] Git Basic Commands and Hacks
[@NaukriEngineering] Git Basic Commands and Hacks
 
[@NaukriEngineering] IndexedDB
[@NaukriEngineering] IndexedDB[@NaukriEngineering] IndexedDB
[@NaukriEngineering] IndexedDB
 
[@NaukriEngineering] CSS4 Selectors – Part 1
[@NaukriEngineering] CSS4 Selectors – Part 1[@NaukriEngineering] CSS4 Selectors – Part 1
[@NaukriEngineering] CSS4 Selectors – Part 1
 

[@NaukriEngineering] Mobile Web app scripts execution using Appium

  • 2. Why Appium? Advantages of using appium for mobile site Test script execution: •  Different Android devices •  Different versions of Android OS •  Reduces manual Effort •  Reduces Testing time •  Larger ROI on Automation test scripts •  Responsive Pages automation
  • 4. On an Android device, Appium uses the UIAutomator framework to automate the apps. When we execute the test scripts, Appium sends the command to the UIAutomator running on the device. Here, bootstrap.jar is used to execute the test command in order to perform the action on the Android device. Appium on Android
  • 6. Apart from current selenium setup, we need to configure following setup on our machine Android SDK tools (API>=17) ADT plugin for Eclipse Appium server Appium client libraries AVD or real device
  • 7. Appium Server There are 2 ways to start the Appium server: • Using command prompt - Type command: “appium &” to start the server. • Using Appium GUI - Click “Launch Appium Server” button in the appium GUI to start the server Before server Start After server Start
  • 8. Setup to be done on mobile device before start working with Appium
  • 9. Mobile web app test script execution on real device We will now study how to execute selenium test scripts in native chrome browser of real android device.
  • 10. Code to initialize Android Chrome browser
  • 11. Following steps are to be followed to execute the mobile site test scripts on real android device •  Enable USB debugging option in the android device •  Connect the device to the laptop and type “adb devices” in the command prompt to check device is connected. •  Start the Appium server. •  Run the project using ant/maven command. •  The test scripts will start executing in the Chrome browser of the connected mobile device.
  • 12. Issues faced while test script execution in Chrome ElementNotClickableException InvalidSelectorException Slow Window Switching No support for Actions class
  • 13. Use JavaScript or sendkeys(Keys.Enter) to click the element in chrome browser Use Explicit Wait / Webdriver Wait to avoid InvalidSelectorException Use Thread.sleep() after switching to window.