SlideShare a Scribd company logo
1 of 21
Perfecto Mobile CQ Lab
Selenium & Appium
Intro and Demo for
Partners
David Broerman
Partner Enablement Manager
Phone: 727. 225.2826 / Email:
davidb@perfectomobile.com
Agenda
• Intro to Perfecto
• Understanding the CQ Lab - Basic
Architecture/Setup
• Automation Testing
• High Level Overview of Selenium/Appium & how Perfecto fits in
• Mobile Application Types
• Object Trees
• Demo
• Selenium RemoteWebDriver/Appium
• Basic prerequisites
• Project Creation, Script Creation/Review and Execution (Java/Eclipse)
• Review Execution Report
Intro to Perfecto
Dominant leader &
visionary
Strong
Ecosystem
Perfecto @ a glance
Partnering with Enterprises and their System Integration Partners to
deliver exceptional digital experiences.
“Perfecto Mobile marks shift in mobile
apps QA with Continuous Quality Lab”
3
Setting the bar for
market success
• Founded in late 2006, Business HQ in Boston
• Over 300 employees globally
• Fortune 500 customer base
8/29/2016
Cloud Based Continuous Quality Lab enabling testing and monitoring of all
digital platforms on real devices and real end user conditions,
for enterprises adopting agile delivery processes.
Perfecto Offers
Dev
Environments
Cloud Based Quality Platform For The Digital Era
Any IDE
Any test
framework
Any CI server
Any test tool
User Condition Testing Layer
Functional
Testing
Performance
Testing
Quality in
Production
Customer
Support
One Lab for all Digital Platforms
Code Test Production Support
Continuous Quality Reporting
Open and Integrated
5
Open &
Integrated
Xcode
Selenium
8/29/2016
•Automation Testing, Mobile
Application Types and Objects
Automation Testing
• Selenium RemoteWebDriver
• Open Source Automation Framework for automating browser testing
• Perfecto Mobile extends Selenium to support mobile device browsers and
apps
• Multi-language and IDE support
• Appium
• “Aims to automate any mobile app from any language and any test
framework”
• Open Source - Extends Selenium for native (also hybrid applications)
• Supports iOS and Android
• Multi-language and IDE support
• Perfecto
• Testing on real devices in the cloud
• Real End User Conditions
• Perfecto Mobile proprietary functionalities (not available in Selenium/Appium)
• GPS Location, Device Vitals, Network Virtualization
Why was Selenium named
Selenium?
• Selenium was originally created as an alternative to Mercury
Interactive’s QuickTest Professional (now known as UFT)
• The remedy for Mercury poisoning is Selenium!
Mobile Application Types
Standard testing tool sets
Use Selenium RWD for web applications
Use Appium for native appsUse Selenium RWD for hybrid apps
(can also use Appium)
Perfecto Mobile – Enterprise Grade
Complete
SDLC (Manual,
Automation,
APM)
Customer
Support
(24x7), NOC,
SLA’s
CQL,
Continuously
up to date
Enterprise
Security, SSO,
Governance,
Private Clouds
Perfecto Mobile – Environmental Capabilities
Network
Virtualization/
Profiles
Large scale lab
DaaS
Hybrid Cloud
solution
Single user
performance
Device and App
Vitals
GPS Injection
Device logs
Global device
coverage, real
carriers
Perfecto Mobile - Automation
Both visual &
Native objects
Testing connects to
a CQL – Always On
Rich Media reports
Parallel Execution
CI Ready
Unattended Test
Perfecto Mobile – Appium Test Framework
Coverage
Appium Test Framework
Local Devices Only –
Not a Test Lab
Native Objects Only,
No Visual Analysis
In App Testing,
No System Level – Breaks CI
Only Automation Solution (No
Manual, No APM)
Not enterprise grade Security
(local testing)
Community Driven
Limited Support
No end-user
environments
Very basic test reports
No support model
Customers manage
device issues
Website & Apps – Object Trees/Identifying Objects
• Web Objects
• DOM
• Same Tree (PM or Appium)
• Native App Objects
• PM or Appium framework
• Separate naming for
Android and iOS
• Hybrid Application
• PM automation framework
• Mix of Native and DOM
objects
DOM Perfecto
Mobile
Appium
Understanding the Basic
Architecture/Setup
Architecture
Mobile WebDriver/RWD
Java code
Running in Eclipse
HTTP
command
level API
MCM
(Mobile Cloud Manager –
Executes scripts as well as
storing within its
repository and reports)
HTTP
HSS
(Handset Server -
manages all device
connectivity)
MobileCloud Plugin Example
Real devices connected via USB cable
8/29/2016
13
Web
Driver/RWD
Script
Appium Server
JSON HTTP
protocol
Selenium Server
Engine
MCM
HSS
Change URL &
Capabilities
Architecture
Define the RemoteWebDriver Capabilities
•DesiredCapabilities
• Basic
• CQ Lab
• Device
String browserName = "mobileOS";
DesiredCapabilities capabilities = new DesiredCapabilities(browserName,
"", Platform.ANY);
String host = "myHost.perfectomobile.com";
capabilities.setCapability("user", "myUser");
capabilities.setCapability("password", "myPassword");
capabilities.setCapability("automationName", "Appium");
capabilities.setCapability("platformName", "iOS");
capabilities.setCapability("platformVersion", "8.*");
capabilities.setCapability("deviceName", "12345");
We Make Open Source, Enterprise
Grade
Mobile Cloud Platform
Environment Capabilities
Automation
Selenium or Appium
IDEIDE
Enterprise
Grade
Lab
Zero test code changes
Selenium or Appium
Demo
Pre-requisites
• Eclipse Working environment
• MobileCloud for Eclipse plugin (download provided as
part of package by Perfecto)
• This plug-in that lets users work with devices, record operations and
run their test in a convenient way all from within Eclipse.
• All Eclipse capabilities, such as code re-factoring and step-by-step
debugging, can be used.
• The java code can run as a standalone Java application and can be
executed from different testing frameworks such as TestNG or JUnit.
Perfecto Mobile Cloud Plug-ins
Example Project/Script
• Create a new or modify existing Perfecto Lab Project in
Eclipse
• Add sample java code to your project
• Run the test
• Review the run results
© 2016, Perfecto Mobile Ltd. All Rights Reserved. 20
Thank You
David Broerman
Partner Enablement Manager
Phone: 727. 225.2826 / Email:
davidb@perfectomobile.com

More Related Content

What's hot

Appium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriverAppium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriver
Andrii Dzynia
 

What's hot (20)

[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
 
Appium workship, Mobile Web+Dev Conference
Appium workship,  Mobile Web+Dev ConferenceAppium workship,  Mobile Web+Dev Conference
Appium workship, Mobile Web+Dev Conference
 
Mobile Test Automation
Mobile Test AutomationMobile Test Automation
Mobile Test Automation
 
Appium: Automation for Mobile Apps
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile Apps
 
Wheat - Mobile functional test automation
Wheat - Mobile functional test automationWheat - Mobile functional test automation
Wheat - Mobile functional test automation
 
Cross Platform Mobile Test Automation using Selenium WebDriver by Perfecto Mo...
Cross Platform Mobile Test Automation using Selenium WebDriver by Perfecto Mo...Cross Platform Mobile Test Automation using Selenium WebDriver by Perfecto Mo...
Cross Platform Mobile Test Automation using Selenium WebDriver by Perfecto Mo...
 
10 things you didnt know about appium + whats new in appium 1.5
10 things you didnt know about appium + whats new in appium 1.510 things you didnt know about appium + whats new in appium 1.5
10 things you didnt know about appium + whats new in appium 1.5
 
Appium Interview Questions and Answers | Edureka
Appium Interview Questions and Answers | EdurekaAppium Interview Questions and Answers | Edureka
Appium Interview Questions and Answers | Edureka
 
Appium solution artizone
Appium solution   artizoneAppium solution   artizone
Appium solution artizone
 
Mobile applications and automation testing
Mobile applications and automation testingMobile applications and automation testing
Mobile applications and automation testing
 
Advanced Appium Tips & Tricks with Jonathan Lipps
Advanced Appium Tips & Tricks with Jonathan LippsAdvanced Appium Tips & Tricks with Jonathan Lipps
Advanced Appium Tips & Tricks with Jonathan Lipps
 
Top Best Practices for Successful Mobile Test Automation
Top Best Practices for Successful Mobile Test AutomationTop Best Practices for Successful Mobile Test Automation
Top Best Practices for Successful Mobile Test Automation
 
Appium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriverAppium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriver
 
Appium
AppiumAppium
Appium
 
Appium - test automation for mobile apps
Appium - test automation for mobile appsAppium - test automation for mobile apps
Appium - test automation for mobile apps
 
Mobile Test Automation
Mobile Test AutomationMobile Test Automation
Mobile Test Automation
 
ATAGTR2017 Appium
ATAGTR2017 AppiumATAGTR2017 Appium
ATAGTR2017 Appium
 
Mobile Test Automation - Appium
Mobile Test Automation - AppiumMobile Test Automation - Appium
Mobile Test Automation - Appium
 
Testing Your Android and iOS Apps with Appium in Testdroid Cloud
Testing Your Android and iOS Apps with Appium in Testdroid CloudTesting Your Android and iOS Apps with Appium in Testdroid Cloud
Testing Your Android and iOS Apps with Appium in Testdroid Cloud
 
Cross platform test automation using Appium
Cross platform test automation using AppiumCross platform test automation using Appium
Cross platform test automation using Appium
 

Similar to Everything You Need To Know about Appium and Selenium

Similar to Everything You Need To Know about Appium and Selenium (20)

Appium vs Appium with Perfecto
Appium vs Appium with PerfectoAppium vs Appium with Perfecto
Appium vs Appium with Perfecto
 
Appium & Selenium Alone vs Appium & Selenium with Perfecto
Appium & Selenium Alone vs Appium & Selenium with PerfectoAppium & Selenium Alone vs Appium & Selenium with Perfecto
Appium & Selenium Alone vs Appium & Selenium with Perfecto
 
Mobile DevTest Dictionary
Mobile DevTest DictionaryMobile DevTest Dictionary
Mobile DevTest Dictionary
 
TechTalk: Wind Tunnel, Personas, and Testing Real UX
TechTalk: Wind Tunnel, Personas, and Testing Real UXTechTalk: Wind Tunnel, Personas, and Testing Real UX
TechTalk: Wind Tunnel, Personas, and Testing Real UX
 
Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development
 
Mobile Monitoring Best Practices
Mobile Monitoring Best PracticesMobile Monitoring Best Practices
Mobile Monitoring Best Practices
 
SOASTA CloudTest Lite
SOASTA CloudTest LiteSOASTA CloudTest Lite
SOASTA CloudTest Lite
 
Sampat Kumar Ch
Sampat Kumar ChSampat Kumar Ch
Sampat Kumar Ch
 
TechTalk: Getting to Know Perfecto
TechTalk: Getting to Know PerfectoTechTalk: Getting to Know Perfecto
TechTalk: Getting to Know Perfecto
 
Harbinger Systems Mobile App Development Practice Group
Harbinger Systems Mobile App Development Practice GroupHarbinger Systems Mobile App Development Practice Group
Harbinger Systems Mobile App Development Practice Group
 
IBM MobileFirst - Hybrid Application Development with Worklight
IBM MobileFirst - Hybrid Application Development with WorklightIBM MobileFirst - Hybrid Application Development with Worklight
IBM MobileFirst - Hybrid Application Development with Worklight
 
Nexcore mobile platform 4.0
Nexcore mobile platform 4.0Nexcore mobile platform 4.0
Nexcore mobile platform 4.0
 
Wise Men Oracle Mobility Webinar- 11-December-2014
Wise Men Oracle Mobility Webinar- 11-December-2014Wise Men Oracle Mobility Webinar- 11-December-2014
Wise Men Oracle Mobility Webinar- 11-December-2014
 
Kasi Viswanath
Kasi ViswanathKasi Viswanath
Kasi Viswanath
 
Appurify presentation at Appium meetup - Running Appium on real devices at scale
Appurify presentation at Appium meetup - Running Appium on real devices at scaleAppurify presentation at Appium meetup - Running Appium on real devices at scale
Appurify presentation at Appium meetup - Running Appium on real devices at scale
 
Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]
 
On-Demand Webinar: Software Virtualization Lifecycle
On-Demand Webinar: Software Virtualization LifecycleOn-Demand Webinar: Software Virtualization Lifecycle
On-Demand Webinar: Software Virtualization Lifecycle
 
Ashley Kevorkian.Selenium
Ashley Kevorkian.SeleniumAshley Kevorkian.Selenium
Ashley Kevorkian.Selenium
 
Modernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectModernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-Architect
 
Raghavendra_SQA_Resume
Raghavendra_SQA_ResumeRaghavendra_SQA_Resume
Raghavendra_SQA_Resume
 

More from Lizzy Guido (she/her)

More from Lizzy Guido (she/her) (20)

What's New with Perfecto? - Mid-Year Edition
What's New with Perfecto? - Mid-Year EditionWhat's New with Perfecto? - Mid-Year Edition
What's New with Perfecto? - Mid-Year Edition
 
What's New with Perfecto? - June 2017
What's New with Perfecto? - June 2017What's New with Perfecto? - June 2017
What's New with Perfecto? - June 2017
 
What's New with Perfecto? - May 2017
What's New with Perfecto? - May 2017What's New with Perfecto? - May 2017
What's New with Perfecto? - May 2017
 
How To Sell Into Insurance with Perfecto
How To Sell Into Insurance with PerfectoHow To Sell Into Insurance with Perfecto
How To Sell Into Insurance with Perfecto
 
How to Add Perfecto to Your CI
How to Add Perfecto to Your CIHow to Add Perfecto to Your CI
How to Add Perfecto to Your CI
 
What's New with Perfecto? - April 2017
What's New with Perfecto? - April 2017What's New with Perfecto? - April 2017
What's New with Perfecto? - April 2017
 
What's New? - March 2017
What's New? - March 2017What's New? - March 2017
What's New? - March 2017
 
TechTalk: Advanced Practices for Visual Test Automation
TechTalk: Advanced Practices for Visual Test AutomationTechTalk: Advanced Practices for Visual Test Automation
TechTalk: Advanced Practices for Visual Test Automation
 
TechTalk: What's New with Perfecto?
TechTalk: What's New with Perfecto?TechTalk: What's New with Perfecto?
TechTalk: What's New with Perfecto?
 
What's New? - February 2017
What's New? - February 2017What's New? - February 2017
What's New? - February 2017
 
Intro to Automation Using Perfecto's CQ Lab
Intro to Automation Using Perfecto's CQ LabIntro to Automation Using Perfecto's CQ Lab
Intro to Automation Using Perfecto's CQ Lab
 
TechTalk: Get to Know Perfecto
TechTalk: Get to Know Perfecto TechTalk: Get to Know Perfecto
TechTalk: Get to Know Perfecto
 
Webinar: Appium & Perfecto: A Perfect Match
Webinar: Appium & Perfecto: A Perfect MatchWebinar: Appium & Perfecto: A Perfect Match
Webinar: Appium & Perfecto: A Perfect Match
 
Persona Testing - Deep Dive
Persona Testing - Deep DivePersona Testing - Deep Dive
Persona Testing - Deep Dive
 
How Digital Changed the Game... and how to cross platform test for it
How Digital Changed the Game... and how to cross platform test for itHow Digital Changed the Game... and how to cross platform test for it
How Digital Changed the Game... and how to cross platform test for it
 
TechTalk: Report Bugs Like a Boss
TechTalk: Report Bugs Like a BossTechTalk: Report Bugs Like a Boss
TechTalk: Report Bugs Like a Boss
 
TechTalk: Taking the Mystery Out of Object ID Automation
TechTalk: Taking the Mystery Out of Object ID AutomationTechTalk: Taking the Mystery Out of Object ID Automation
TechTalk: Taking the Mystery Out of Object ID Automation
 
TechTalk: Everything You Need to Know about Appium & Selenium
TechTalk: Everything You Need to Know about Appium & SeleniumTechTalk: Everything You Need to Know about Appium & Selenium
TechTalk: Everything You Need to Know about Appium & Selenium
 
Webinar: How to Size a Lab
Webinar: How to Size a LabWebinar: How to Size a Lab
Webinar: How to Size a Lab
 
Automating things you didn't know you could automate
Automating things you didn't know you could automateAutomating things you didn't know you could automate
Automating things you didn't know you could automate
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

Everything You Need To Know about Appium and Selenium

  • 1. Perfecto Mobile CQ Lab Selenium & Appium Intro and Demo for Partners David Broerman Partner Enablement Manager Phone: 727. 225.2826 / Email: davidb@perfectomobile.com
  • 2. Agenda • Intro to Perfecto • Understanding the CQ Lab - Basic Architecture/Setup • Automation Testing • High Level Overview of Selenium/Appium & how Perfecto fits in • Mobile Application Types • Object Trees • Demo • Selenium RemoteWebDriver/Appium • Basic prerequisites • Project Creation, Script Creation/Review and Execution (Java/Eclipse) • Review Execution Report
  • 3. Intro to Perfecto Dominant leader & visionary Strong Ecosystem Perfecto @ a glance Partnering with Enterprises and their System Integration Partners to deliver exceptional digital experiences. “Perfecto Mobile marks shift in mobile apps QA with Continuous Quality Lab” 3 Setting the bar for market success • Founded in late 2006, Business HQ in Boston • Over 300 employees globally • Fortune 500 customer base 8/29/2016 Cloud Based Continuous Quality Lab enabling testing and monitoring of all digital platforms on real devices and real end user conditions, for enterprises adopting agile delivery processes. Perfecto Offers
  • 4. Dev Environments Cloud Based Quality Platform For The Digital Era Any IDE Any test framework Any CI server Any test tool User Condition Testing Layer Functional Testing Performance Testing Quality in Production Customer Support One Lab for all Digital Platforms Code Test Production Support Continuous Quality Reporting
  • 5. Open and Integrated 5 Open & Integrated Xcode Selenium 8/29/2016
  • 7. Automation Testing • Selenium RemoteWebDriver • Open Source Automation Framework for automating browser testing • Perfecto Mobile extends Selenium to support mobile device browsers and apps • Multi-language and IDE support • Appium • “Aims to automate any mobile app from any language and any test framework” • Open Source - Extends Selenium for native (also hybrid applications) • Supports iOS and Android • Multi-language and IDE support • Perfecto • Testing on real devices in the cloud • Real End User Conditions • Perfecto Mobile proprietary functionalities (not available in Selenium/Appium) • GPS Location, Device Vitals, Network Virtualization
  • 8. Why was Selenium named Selenium? • Selenium was originally created as an alternative to Mercury Interactive’s QuickTest Professional (now known as UFT) • The remedy for Mercury poisoning is Selenium!
  • 9. Mobile Application Types Standard testing tool sets Use Selenium RWD for web applications Use Appium for native appsUse Selenium RWD for hybrid apps (can also use Appium)
  • 10. Perfecto Mobile – Enterprise Grade Complete SDLC (Manual, Automation, APM) Customer Support (24x7), NOC, SLA’s CQL, Continuously up to date Enterprise Security, SSO, Governance, Private Clouds Perfecto Mobile – Environmental Capabilities Network Virtualization/ Profiles Large scale lab DaaS Hybrid Cloud solution Single user performance Device and App Vitals GPS Injection Device logs Global device coverage, real carriers Perfecto Mobile - Automation Both visual & Native objects Testing connects to a CQL – Always On Rich Media reports Parallel Execution CI Ready Unattended Test Perfecto Mobile – Appium Test Framework Coverage Appium Test Framework Local Devices Only – Not a Test Lab Native Objects Only, No Visual Analysis In App Testing, No System Level – Breaks CI Only Automation Solution (No Manual, No APM) Not enterprise grade Security (local testing) Community Driven Limited Support No end-user environments Very basic test reports No support model Customers manage device issues
  • 11. Website & Apps – Object Trees/Identifying Objects • Web Objects • DOM • Same Tree (PM or Appium) • Native App Objects • PM or Appium framework • Separate naming for Android and iOS • Hybrid Application • PM automation framework • Mix of Native and DOM objects DOM Perfecto Mobile Appium
  • 13. Architecture Mobile WebDriver/RWD Java code Running in Eclipse HTTP command level API MCM (Mobile Cloud Manager – Executes scripts as well as storing within its repository and reports) HTTP HSS (Handset Server - manages all device connectivity) MobileCloud Plugin Example Real devices connected via USB cable 8/29/2016 13
  • 14. Web Driver/RWD Script Appium Server JSON HTTP protocol Selenium Server Engine MCM HSS Change URL & Capabilities Architecture
  • 15. Define the RemoteWebDriver Capabilities •DesiredCapabilities • Basic • CQ Lab • Device String browserName = "mobileOS"; DesiredCapabilities capabilities = new DesiredCapabilities(browserName, "", Platform.ANY); String host = "myHost.perfectomobile.com"; capabilities.setCapability("user", "myUser"); capabilities.setCapability("password", "myPassword"); capabilities.setCapability("automationName", "Appium"); capabilities.setCapability("platformName", "iOS"); capabilities.setCapability("platformVersion", "8.*"); capabilities.setCapability("deviceName", "12345");
  • 16. We Make Open Source, Enterprise Grade Mobile Cloud Platform Environment Capabilities Automation Selenium or Appium IDEIDE Enterprise Grade Lab Zero test code changes Selenium or Appium
  • 17. Demo
  • 18. Pre-requisites • Eclipse Working environment • MobileCloud for Eclipse plugin (download provided as part of package by Perfecto) • This plug-in that lets users work with devices, record operations and run their test in a convenient way all from within Eclipse. • All Eclipse capabilities, such as code re-factoring and step-by-step debugging, can be used. • The java code can run as a standalone Java application and can be executed from different testing frameworks such as TestNG or JUnit.
  • 20. Example Project/Script • Create a new or modify existing Perfecto Lab Project in Eclipse • Add sample java code to your project • Run the test • Review the run results © 2016, Perfecto Mobile Ltd. All Rights Reserved. 20
  • 21. Thank You David Broerman Partner Enablement Manager Phone: 727. 225.2826 / Email: davidb@perfectomobile.com

Editor's Notes

  1. Before getting started with the technical implementation of our solution, let’s begin with an introduction to the types of mobile applications, and automation testing using Selenium RWD and Appium. Next we will take a look at the Perfecto Mobile RWD extension to mobile devices (for web and hybrid applications) and Appium implementation (for native applications).
  2. Slide objective – Perfecto is committed to helping enterprises leverage existing practices, assets and expertise Perfecto Mobile strives integrate with popular tools used by enterprises. Customers can leverage existing assets and expertise . Our support for various tools is constantly expanding. Some customers also take advantage of our published API to create custom extensions to different frameworks. Paypal’s integrated the open source Project Nemo, selenium-webdriver automation for node.js, using the API to provide its DevTest teams a tailor fit Java Script environment.
  3. How does it work?
  4. focus on two testing environments, supported by Perfecto Mobile: Selenium RemoteWebDriver and Appium. Selenium RemoteWebDriver Selenium is an open-source tool used for automating browser testing. (For more advanced users, familiar with WebDriver: RemoteWebDriver is an implementation class of the WebDriver interface that a test script developer can use to execute their test scripts via the RemoteWebDriver server on a remote machine.) Perfecto Mobile has extended RemoteWebDriver to support mobile web and hybrid applications (in the Perfecto Mobile Continuous Quality Lab – CQ Lab). Language support includes Java, Ruby, Python, C#... Appium Appium is an open-source automation testing framework that is based on the Selenium WebDriver; that’s extended with new classes to support mobile application testing. It contains specific classes for iOS and Android application testing. Perfecto Mobile supports the complete suite of Appium tools, in the CQ Lab, making it an Enterprise Grade Quality Solution. Also, Perfecto Mobile has extended the support to include proprietary Perfecto Mobile functionalities (that are not available in Selenium).
  5. Selenium is an open source test engine that supports testing web based applications on desktop and mobile device browsers
  6. As we have already established, there are three types of mobile applications – Web (regular/mobile browsers), Hybrid and Native. The standard Selenium RemoteWebDriver allows us to test desktop browsers; and Perfecto Mobile has extended this to include browsers running on mobile devices. Perfecto Mobile recommends using: Selenium RemoteWebDriver for testing web applications (regular and mobile browsers) Appium for native applications, and Selenium RemoteWebDriver for hybrid applications
  7. Identifying objects on the different types of mobile applications can be done in many ways. In this course we will focus on using the following frameworks, according to Perfecto Mobile best practices: the DOM objects for testing web applications Appium framework for testing Native applications, and the Perfecto Mobile framework for testing hybrid applications This enables us to find, view properties, and perform interactions on the application using objects (such as a clicking on something on the device screen, selecting an image or text element, and setting text to an edit field). (For beginner users, a little more about identifying objects: Application User Interfaces are drawn to the screen based on a definition (that’s provided by the application) of how and where to draw the different UI Elements. The definition is a hierarchy of available UI Elements that can be described as an Object Tree. The Object Tree for Web applications uses a standard set of UI Element types to describe how to draw the User Interface. This is the DOM tree and the UI Elements in the standard can be used to describe any website or web application.) The Perfecto Mobile and Appium Frameworks: In the world of mobile applications, it is not as simple. Apple has its own proprietary set of UI Elements and this is different from the proprietary set used by Android. Perfecto Mobile created a framework that allows us to translate the competing UI Elements of the different application UI sets into a “canonical” set of UI Elements and describe the UI structure of an application using these generic UI Elements. This is the Perfecto Mobile framework Object Tree. Appium, that we will be using in the latter part of the course to test native apps, references the UI Elements using the names provided by the proprietary description files. This is the Appium framework Object Tree. The Perfecto Mobile framework identifies the objects in the application with the same standard. This means that the object tree representation of the elements will be the same on both iOS and Android applications. The Appium framework uses two different object tree representations – UI Automator for Android and UI Automation for iOS. This means that when we develop our automation test, according to this mode of work, we will need to create two separate tests (one for Android and another for iOS). (For advanced users, the Perfecto Mobile framework supports identification of the objects either with the application classes or based on a translated generic set of classes. This enables using the same objects for both Android and iOS applications, also referred to as ScriptOnce. This will be covered in later modules.) The framework we choose to work with will determine the object tree representation, in XML format, that we see and work with when using the Perfecto Mobile Object Spy. (For beginner users, each object is refined by a set of attributes that define what is actually displayed. For example, the text attribute defines the text to display.)
  8. How does it work?
  9. How does it work? Before we move forward on the MobileCloud Plugin and other details of the WebDriver, let’s take a quick look at the architecture that defines this solution. First, notice that we have a real device that is connected, via a USB cable, to the Perfecto Handset Server or HSS). Through this USB cable we get a live streaming from the device and are able to control the device; including any device real user commands/gestures (such as tap, swipe, click etc.). The HSS, which is responsible for managing all device connectivity, gets its commands from the MobileCloud manager (MCM) server. The MCM is the component responsible for executing all of the scripts as well as storing within its repository and reports. The MCM gets its commands via the HTTP command level API, which are locally generated by the MobileCloud WebDriver. Remember, Perfecto Mobile helps you implement continuous quality through our continuous quality lab as a service – embedding quality into every step of the lifecycle including unattended automation on real devices through our always on secure cloud offering that we manage. *Represents a classic deployment type. Other deployment types may be slightly different.
  10. Before we create our driver instance, we need to define the DesiredCapabilities. (For beginner users, DesiredCapabilities is the java class that defines the list of information items needed to initialize the driver. Perfecto expanded the types of items in the list to include authentication information to connect to the CQ Lab and identify the device to use.) The DesiredCapabilities can be separated into three categories: CQ Lab capabilities: Perfecto Lab, username, and password, automationframework The default automation framework is Appium and can be used in native and web applications. In Hybrid applications the perfecto mobile framework must be selected/ Device capabilities: device characteristics Define the capabilities to select a device in the Lab according to device attributes, instead of a specific device ID; and define the CQ Lab credentials. Important Note: use either the deviceName capability OR the platformName & platformVersion capabilities. (Note: A specific device can still be selected using the deviceName capability.) Basic capabilities: selects the browser. Browser Name: chrome, mobileChrome, safari, mobileSafari, mobileOS, mobileDefault, perfectomobile (The Perfecto best practice is to use “mobileOS”, which will set the browser name as the default browser of the mobile OS. For example, mobileChrome for Android devices.) The Basic capabilities can be confusing because they are a RWD construction extended by Perfecto. Let’s understand how it works: 1. The mobile device to work on is selected by the device capability 2. on the mobile device, we want to work with a specific browser, selecting mobileOS is recommended and it will select the default Chrome for Android, Safari for Apple and IE for WindowsPhone. It is possible to define it with other values from the list. For more details on defining capabilities, go to https://community.perfectomobile.com/series/20208/posts/945255
  11. To dive further into Perfecto’s approach with open source, let’s look at our Selenium and Appium implementation. Perfecto does more than simply hosting servers. Perfecto has extended capabilities of test Frameworks with key capabilities uniquely relevant to mobile app quality at the scale required by enterprises. Enterprise ready open source test frameworks require the ability to control mimicking the end user environment something not available in the currently available open source implementation. Additionally, important automation capabilities are also added. For example, teams utilizing other tools may be familiar performing object identification using either native properties or visual (OCR, Image) methods. Perfecto enables teams to use both for optimizing performance. Beyond the technical enhancements, Perfecto meets the security and support requirements enterprises commonly require. For example, access controls for users and devices are centrally managed with strong audit logs.
  12. Show next slide –create and execute demo project, review results
  13. Before you begin, you will need to have Eclipse installed, and you can then download the MobileCloud for Eclipse plugin which is provided as part of a package by Perfecto Mobile. You can get more information on plug ins, code samples, training, frequently asked questions on our Community Page at https://community.perfectomobile.com/ The plugin includes: Two project views and a project template Note: the plugin should be updated regularly according to Perfecto Mobile version updates. This is done just like any other plugins (From within Eclipse, go to Help > Check for updates). You do not have to download and install this plug in, it’s not mandatory…Perfecto built this plug in to make things easier around object spy and analysis, using jar files, and the dashboard.
  14. Notes: Let’s review a sample test. Use Eclipse Project Named TrainingProjectExample RemoteWebDriverTest.java – run as java test Credentials in code: To run the sample remember to add your credentials and Lab URL String host = “myLab.perfectomobile.com"; capabilities.setCapability("user", “myUser"); capabilities.setCapability("password", “MyPassword"); Selenium and Perfecto Tree Uses BB&T U application – tried to login with username, password and validates error message for unsuccessful login Also opens device browser, goes to perfecto sample page, logs in and validates successful login