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
10/5/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
10/5/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
10/5/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 - test automation for mobile apps
Appium - test automation for mobile appsAppium - test automation for mobile apps
Appium - test automation for mobile appsAleksejs Trescalins
 
Mobile Test Automation - Appium
Mobile Test Automation - AppiumMobile Test Automation - Appium
Mobile Test Automation - AppiumMaria Machlowska
 
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 LippsPerfecto by Perforce
 
What's New With Appium? From 1.0 to Now
What's New With Appium? From 1.0 to NowWhat's New With Appium? From 1.0 to Now
What's New With Appium? From 1.0 to NowSauce Labs
 
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
 
Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)Sauce Labs
 
Wheat - Mobile functional test automation
Wheat - Mobile functional test automationWheat - Mobile functional test automation
Wheat - Mobile functional test automationSunny Tambi
 
Mobile automation – should I use robotium or calabash or appium?
Mobile automation – should I use robotium or calabash or appium?Mobile automation – should I use robotium or calabash or appium?
Mobile automation – should I use robotium or calabash or appium?Zado Technologies
 
Selenium Camp 2016
Selenium Camp 2016Selenium Camp 2016
Selenium Camp 2016Dan Cuellar
 
Parallel testing with appium
Parallel testing with appiumParallel testing with appium
Parallel testing with appiummoizjv
 
Testing Native iOS Apps with Appium
Testing Native iOS Apps with AppiumTesting Native iOS Apps with Appium
Testing Native iOS Apps with AppiumSauce Labs
 
Automating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumAutomating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumSauce Labs
 
Appium workship, Mobile Web+Dev Conference
Appium workship,  Mobile Web+Dev ConferenceAppium workship,  Mobile Web+Dev Conference
Appium workship, Mobile Web+Dev ConferenceIsaac Murchie
 
Appium tutorial| Appium Training
Appium tutorial| Appium Training Appium tutorial| Appium Training
Appium tutorial| Appium Training QA Masters
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appiumPratik Patel
 
Cross Platform Appium Tests: How To
Cross Platform Appium Tests: How ToCross Platform Appium Tests: How To
Cross Platform Appium Tests: How ToGlobalLogic Ukraine
 

What's hot (20)

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 - Appium
Mobile Test Automation - AppiumMobile Test Automation - Appium
Mobile Test Automation - Appium
 
Appium
AppiumAppium
Appium
 
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
 
What's New With Appium? From 1.0 to Now
What's New With Appium? From 1.0 to NowWhat's New With Appium? From 1.0 to Now
What's New With Appium? From 1.0 to Now
 
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)
 
Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)
 
Wheat - Mobile functional test automation
Wheat - Mobile functional test automationWheat - Mobile functional test automation
Wheat - Mobile functional test automation
 
Appium
AppiumAppium
Appium
 
Mobile automation – should I use robotium or calabash or appium?
Mobile automation – should I use robotium or calabash or appium?Mobile automation – should I use robotium or calabash or appium?
Mobile automation – should I use robotium or calabash or appium?
 
Appium
AppiumAppium
Appium
 
Selenium Camp 2016
Selenium Camp 2016Selenium Camp 2016
Selenium Camp 2016
 
Parallel testing with appium
Parallel testing with appiumParallel testing with appium
Parallel testing with appium
 
Testing Native iOS Apps with Appium
Testing Native iOS Apps with AppiumTesting Native iOS Apps with Appium
Testing Native iOS Apps with Appium
 
Appium solution
Appium solutionAppium solution
Appium solution
 
Automating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumAutomating Hybrid Applications with Appium
Automating Hybrid Applications 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
 
Appium tutorial| Appium Training
Appium tutorial| Appium Training Appium tutorial| Appium Training
Appium tutorial| Appium Training
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appium
 
Cross Platform Appium Tests: How To
Cross Platform Appium Tests: How ToCross Platform Appium Tests: How To
Cross Platform Appium Tests: How To
 

Viewers also liked

Selenium and Appium Training from Sauce Labs
Selenium and Appium Training from Sauce LabsSelenium and Appium Training from Sauce Labs
Selenium and Appium Training from Sauce LabsSauce Labs
 
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 WebinarBitbar
 
Selenium, Appium, and Robots!
Selenium, Appium, and Robots!Selenium, Appium, and Robots!
Selenium, Appium, and Robots!hugs
 
Appium@Work at PAYBACK
Appium@Work at PAYBACKAppium@Work at PAYBACK
Appium@Work at PAYBACKMarcel Gehlen
 
Appium troubleshooting
Appium troubleshootingAppium troubleshooting
Appium troubleshootingadi ben aroya
 
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...Perfecto Mobile
 
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 CloudBitbar
 
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 AutomationLizzy Guido (she/her)
 
Selenium Automation Like You’ve Never Seen!
Selenium Automation Like You’ve Never Seen!Selenium Automation Like You’ve Never Seen!
Selenium Automation Like You’ve Never Seen!Perfecto by Perforce
 
Ten reasons why now is the perfect time to get serious about the mobile web
Ten reasons why now is the perfect time to get serious about the mobile webTen reasons why now is the perfect time to get serious about the mobile web
Ten reasons why now is the perfect time to get serious about the mobile webTijs Vrolix
 
Webinar: Appium & Perfecto: A Perfect Match
Webinar: Appium & Perfecto: A Perfect MatchWebinar: Appium & Perfecto: A Perfect Match
Webinar: Appium & Perfecto: A Perfect MatchLizzy Guido (she/her)
 
How to Test on the Right Mobile Platforms
How to Test on the Right Mobile PlatformsHow to Test on the Right Mobile Platforms
How to Test on the Right Mobile PlatformsPerfecto by Perforce
 
Qtp 8.0 basic
Qtp 8.0 basicQtp 8.0 basic
Qtp 8.0 basicmedsherb
 
Achieving a Winning Digital User Experience with Real World Testing
Achieving a Winning Digital User Experience with Real World TestingAchieving a Winning Digital User Experience with Real World Testing
Achieving a Winning Digital User Experience with Real World TestingPerfecto by Perforce
 
QTP Automation Testing Tutorial 2
QTP Automation Testing Tutorial 2QTP Automation Testing Tutorial 2
QTP Automation Testing Tutorial 2Akash Tyagi
 

Viewers also liked (20)

Selenium and Appium Training from Sauce Labs
Selenium and Appium Training from Sauce LabsSelenium and Appium Training from Sauce Labs
Selenium and Appium Training from Sauce Labs
 
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
 
Selenium, Appium, and Robots!
Selenium, Appium, and Robots!Selenium, Appium, and Robots!
Selenium, Appium, and Robots!
 
Appium@Work at PAYBACK
Appium@Work at PAYBACKAppium@Work at PAYBACK
Appium@Work at PAYBACK
 
Appium troubleshooting
Appium troubleshootingAppium troubleshooting
Appium troubleshooting
 
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...
 
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
 
Appium vs. Appium with Perfecto
Appium vs. Appium with PerfectoAppium vs. Appium with Perfecto
Appium vs. Appium with Perfecto
 
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
 
Selenium Automation Like You’ve Never Seen!
Selenium Automation Like You’ve Never Seen!Selenium Automation Like You’ve Never Seen!
Selenium Automation Like You’ve Never Seen!
 
Ten reasons why now is the perfect time to get serious about the mobile web
Ten reasons why now is the perfect time to get serious about the mobile webTen reasons why now is the perfect time to get serious about the mobile web
Ten reasons why now is the perfect time to get serious about the mobile web
 
Qtp day 1
Qtp day 1Qtp day 1
Qtp day 1
 
Webinar: Appium & Perfecto: A Perfect Match
Webinar: Appium & Perfecto: A Perfect MatchWebinar: Appium & Perfecto: A Perfect Match
Webinar: Appium & Perfecto: A Perfect Match
 
Selenium Testing
Selenium Testing Selenium Testing
Selenium Testing
 
How to Test on the Right Mobile Platforms
How to Test on the Right Mobile PlatformsHow to Test on the Right Mobile Platforms
How to Test on the Right Mobile Platforms
 
TechTalk: Report Bugs Like a Boss
TechTalk: Report Bugs Like a BossTechTalk: Report Bugs Like a Boss
TechTalk: Report Bugs Like a Boss
 
Qtp 8.0 basic
Qtp 8.0 basicQtp 8.0 basic
Qtp 8.0 basic
 
Achieving a Winning Digital User Experience with Real World Testing
Achieving a Winning Digital User Experience with Real World TestingAchieving a Winning Digital User Experience with Real World Testing
Achieving a Winning Digital User Experience with Real World Testing
 
Qtp 80 Basics3561
Qtp 80 Basics3561Qtp 80 Basics3561
Qtp 80 Basics3561
 
QTP Automation Testing Tutorial 2
QTP Automation Testing Tutorial 2QTP Automation Testing Tutorial 2
QTP Automation Testing Tutorial 2
 

Similar to TechTalk: Everything You Need to Know about Appium & Selenium

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 PerfectoLizzy Guido (she/her)
 
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 Skytap Cloud
 
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 UXLizzy Guido (she/her)
 
Webinar learn how to test any mobile app style from within eclipse using real...
Webinar learn how to test any mobile app style from within eclipse using real...Webinar learn how to test any mobile app style from within eclipse using real...
Webinar learn how to test any mobile app style from within eclipse using real...Perfecto Mobile
 
SOASTA CloudTest Lite
SOASTA CloudTest LiteSOASTA CloudTest Lite
SOASTA CloudTest LiteFred Beringer
 
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 GroupSachin Katariya
 
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 WorklightIBIZZ
 
Nexcore mobile platform 4.0
Nexcore mobile platform 4.0Nexcore mobile platform 4.0
Nexcore mobile platform 4.0SK CC
 
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-2014Wise Men
 
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 scaleJay Srinivasan
 
On-Demand Webinar: Software Virtualization Lifecycle
On-Demand Webinar: Software Virtualization LifecycleOn-Demand Webinar: Software Virtualization Lifecycle
On-Demand Webinar: Software Virtualization LifecycleSkytap Cloud
 
Understanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesUnderstanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesSalesforce Developers
 

Similar to TechTalk: Everything You Need to Know about Appium & 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
 
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
 
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 learn how to test any mobile app style from within eclipse using real...
Webinar learn how to test any mobile app style from within eclipse using real...Webinar learn how to test any mobile app style from within eclipse using real...
Webinar learn how to test any mobile app style from within eclipse using real...
 
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
 
TechTalk: Getting to Know Perfecto
TechTalk: Getting to Know PerfectoTechTalk: Getting to Know Perfecto
TechTalk: Getting to Know Perfecto
 
ATAGTR2017 Appium
ATAGTR2017 AppiumATAGTR2017 Appium
ATAGTR2017 Appium
 
Sampat Kumar Ch
Sampat Kumar ChSampat Kumar Ch
Sampat Kumar Ch
 
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
 
On-Demand Webinar: Software Virtualization Lifecycle
On-Demand Webinar: Software Virtualization LifecycleOn-Demand Webinar: Software Virtualization Lifecycle
On-Demand Webinar: Software Virtualization Lifecycle
 
Understanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesUnderstanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile Architectures
 
Ashley Kevorkian.Selenium
Ashley Kevorkian.SeleniumAshley Kevorkian.Selenium
Ashley Kevorkian.Selenium
 

More from Lizzy Guido (she/her)

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 EditionLizzy Guido (she/her)
 
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 2017Lizzy Guido (she/her)
 
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 2017Lizzy Guido (she/her)
 
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 PerfectoLizzy Guido (she/her)
 
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 2017Lizzy Guido (she/her)
 
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 AutomationLizzy Guido (she/her)
 
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 LabLizzy Guido (she/her)
 
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 itLizzy Guido (she/her)
 
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 automateLizzy Guido (she/her)
 
Wind Tunnel Introduction and Demo Slides
Wind Tunnel Introduction and Demo SlidesWind Tunnel Introduction and Demo Slides
Wind Tunnel Introduction and Demo SlidesLizzy Guido (she/her)
 

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

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
 
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
 
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
 
Wind Tunnel Introduction and Demo Slides
Wind Tunnel Introduction and Demo SlidesWind Tunnel Introduction and Demo Slides
Wind Tunnel Introduction and Demo Slides
 

Recently uploaded

WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
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, Adobeapidays
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
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...DianaGray10
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 

Recently uploaded (20)

WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
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
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
+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...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 

TechTalk: Everything You Need to Know about Appium & 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 10/5/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 10/5/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 10/5/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