SlideShare a Scribd company logo
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

PDF
10 things you didnt know about appium + whats new in appium 1.5
PPTX
Getting Started with Mobile Test Automation & Appium
PPTX
Appium meet up noida
PDF
Appium Mobile Test Automation like WebDriver
PDF
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
PPTX
Everything You Need To Know about Appium and Selenium
PPT
Android & iOS Automation Using Appium
PDF
Appium Interview Questions and Answers | Edureka
10 things you didnt know about appium + whats new in appium 1.5
Getting Started with Mobile Test Automation & Appium
Appium meet up noida
Appium Mobile Test Automation like WebDriver
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
Everything You Need To Know about Appium and Selenium
Android & iOS Automation Using Appium
Appium Interview Questions and Answers | Edureka

What's hot (20)

PPTX
Appium - test automation for mobile apps
PDF
Mobile Test Automation - Appium
PDF
Appium
PDF
Advanced Appium Tips & Tricks with Jonathan Lipps
PDF
What's New With Appium? From 1.0 to Now
PPTX
Appium overview (Selenium Israel #2, Feb. 2014)
PPT
Using Selenium to Test Native Apps (Wait, you can do that?)
PPTX
Wheat - Mobile functional test automation
PPT
PDF
Mobile automation – should I use robotium or calabash or appium?
PPT
PPTX
Selenium Camp 2016
PPTX
Parallel testing with appium
PDF
Testing Native iOS Apps with Appium
PPTX
Appium solution
PDF
Automating Hybrid Applications with Appium
PDF
Appium workship, Mobile Web+Dev Conference
PPT
Appium tutorial| Appium Training
PDF
Getting started with appium
PPTX
Cross Platform Appium Tests: How To
Appium - test automation for mobile apps
Mobile Test Automation - Appium
Appium
Advanced Appium Tips & Tricks with Jonathan Lipps
What's New With Appium? From 1.0 to Now
Appium overview (Selenium Israel #2, Feb. 2014)
Using Selenium to Test Native Apps (Wait, you can do that?)
Wheat - Mobile functional test automation
Mobile automation – should I use robotium or calabash or appium?
Selenium Camp 2016
Parallel testing with appium
Testing Native iOS Apps with Appium
Appium solution
Automating Hybrid Applications with Appium
Appium workship, Mobile Web+Dev Conference
Appium tutorial| Appium Training
Getting started with appium
Cross Platform Appium Tests: How To
Ad

Viewers also liked (19)

PPTX
Selenium and Appium Training from Sauce Labs
PPTX
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
PDF
Selenium, Appium, and Robots!
PDF
Appium@Work at PAYBACK
ODP
Appium troubleshooting
PDF
Cross Platform Mobile Test Automation using Selenium WebDriver by Perfecto Mo...
PPTX
Testing Your Android and iOS Apps with Appium in Testdroid Cloud
PPTX
Appium vs. Appium with Perfecto
PPTX
TechTalk: Taking the Mystery Out of Object ID Automation
PPTX
Selenium Automation Like You’ve Never Seen!
PDF
Ten reasons why now is the perfect time to get serious about the mobile web
PPTX
Webinar: Appium & Perfecto: A Perfect Match
PPTX
Selenium Testing
PPTX
How to Test on the Right Mobile Platforms
PPTX
TechTalk: Report Bugs Like a Boss
PPT
Qtp 8.0 basic
PPT
Achieving a Winning Digital User Experience with Real World Testing
PPT
Qtp 80 Basics3561
PPTX
QTP Automation Testing Tutorial 2
Selenium and Appium Training from Sauce Labs
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Selenium, Appium, and Robots!
Appium@Work at PAYBACK
Appium troubleshooting
Cross Platform Mobile Test Automation using Selenium WebDriver by Perfecto Mo...
Testing Your Android and iOS Apps with Appium in Testdroid Cloud
Appium vs. Appium with Perfecto
TechTalk: Taking the Mystery Out of Object ID Automation
Selenium Automation Like You’ve Never Seen!
Ten reasons why now is the perfect time to get serious about the mobile web
Webinar: Appium & Perfecto: A Perfect Match
Selenium Testing
How to Test on the Right Mobile Platforms
TechTalk: Report Bugs Like a Boss
Qtp 8.0 basic
Achieving a Winning Digital User Experience with Real World Testing
Qtp 80 Basics3561
QTP Automation Testing Tutorial 2
Ad

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

PPTX
Appium vs Appium with Perfecto
PPTX
Appium & Selenium Alone vs Appium & Selenium with Perfecto
PPTX
Mobile DevTest Dictionary
PPTX
Webinar: Automate Your Environment Provisioning for Mobile App Development
PPTX
TechTalk: Wind Tunnel, Personas, and Testing Real UX
PDF
Webinar learn how to test any mobile app style from within eclipse using real...
PPT
Mobile Monitoring Best Practices
PDF
SOASTA CloudTest Lite
PPTX
TechTalk: Getting to Know Perfecto
PPTX
ATAGTR2017 Appium
DOCX
Sampat Kumar Ch
PDF
Harbinger Systems Mobile App Development Practice Group
PDF
IBM MobileFirst - Hybrid Application Development with Worklight
PPT
Nexcore mobile platform 4.0
PDF
Wise Men Oracle Mobility Webinar- 11-December-2014
DOC
Kasi Viswanath
PPTX
Appurify presentation at Appium meetup - Running Appium on real devices at scale
PPTX
On-Demand Webinar: Software Virtualization Lifecycle
PDF
Understanding Native, Hybrid, and Web Mobile Architectures
DOCX
Ashley Kevorkian.Selenium
Appium vs Appium with Perfecto
Appium & Selenium Alone vs Appium & Selenium with Perfecto
Mobile DevTest Dictionary
Webinar: Automate Your Environment Provisioning for Mobile App Development
TechTalk: Wind Tunnel, Personas, and Testing Real UX
Webinar learn how to test any mobile app style from within eclipse using real...
Mobile Monitoring Best Practices
SOASTA CloudTest Lite
TechTalk: Getting to Know Perfecto
ATAGTR2017 Appium
Sampat Kumar Ch
Harbinger Systems Mobile App Development Practice Group
IBM MobileFirst - Hybrid Application Development with Worklight
Nexcore mobile platform 4.0
Wise Men Oracle Mobility Webinar- 11-December-2014
Kasi Viswanath
Appurify presentation at Appium meetup - Running Appium on real devices at scale
On-Demand Webinar: Software Virtualization Lifecycle
Understanding Native, Hybrid, and Web Mobile Architectures
Ashley Kevorkian.Selenium

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

PPTX
What's New with Perfecto? - Mid-Year Edition
PPTX
What's New with Perfecto? - June 2017
PPTX
What's New with Perfecto? - May 2017
PPTX
How To Sell Into Insurance with Perfecto
PPTX
How to Add Perfecto to Your CI
PPTX
What's New with Perfecto? - April 2017
PPTX
What's New? - March 2017
PPTX
TechTalk: Advanced Practices for Visual Test Automation
PPTX
TechTalk: What's New with Perfecto?
PPTX
What's New? - February 2017
PPTX
Intro to Automation Using Perfecto's CQ Lab
PPTX
TechTalk: Get to Know Perfecto
PPTX
Persona Testing - Deep Dive
PPTX
How Digital Changed the Game... and how to cross platform test for it
PPTX
Webinar: How to Size a Lab
PPTX
Automating things you didn't know you could automate
PDF
Wind Tunnel Introduction and Demo Slides
What's New with Perfecto? - Mid-Year Edition
What's New with Perfecto? - June 2017
What's New with Perfecto? - May 2017
How To Sell Into Insurance with Perfecto
How to Add Perfecto to Your CI
What's New with Perfecto? - April 2017
What's New? - March 2017
TechTalk: Advanced Practices for Visual Test Automation
TechTalk: What's New with Perfecto?
What's New? - February 2017
Intro to Automation Using Perfecto's CQ Lab
TechTalk: Get to Know Perfecto
Persona Testing - Deep Dive
How Digital Changed the Game... and how to cross platform test for it
Webinar: How to Size a Lab
Automating things you didn't know you could automate
Wind Tunnel Introduction and Demo Slides

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Approach and Philosophy of On baking technology
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Electronic commerce courselecture one. Pdf
PPT
Teaching material agriculture food technology
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Big Data Technologies - Introduction.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
MYSQL Presentation for SQL database connectivity
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Building Integrated photovoltaic BIPV_UPV.pdf
A Presentation on Artificial Intelligence
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Approach and Philosophy of On baking technology
Reach Out and Touch Someone: Haptics and Empathic Computing
Chapter 3 Spatial Domain Image Processing.pdf
Electronic commerce courselecture one. Pdf
Teaching material agriculture food technology
Spectral efficient network and resource selection model in 5G networks
The Rise and Fall of 3GPP – Time for a Sabbatical?
NewMind AI Monthly Chronicles - July 2025
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Big Data Technologies - Introduction.pptx
Encapsulation_ Review paper, used for researhc scholars
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx

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

  • #3: 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).
  • #6: 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.
  • #7: How does it work?
  • #8: 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).
  • #9: Selenium is an open source test engine that supports testing web based applications on desktop and mobile device browsers
  • #10: 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
  • #12: 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.)
  • #13: How does it work?
  • #14: 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.
  • #16: 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
  • #17: 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.
  • #18: Show next slide –create and execute demo project, review results
  • #19: 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.
  • #21: 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