TechTalk: Everything You Need to Know about Appium & Selenium
-
Upload
lizzy-ploen -
Category
Technology
-
view
159 -
download
0
Transcript of TechTalk: Everything You Need to Know about Appium & Selenium
Perfecto Mobile CQ LabSelenium & Appium
Intro and Demo for Partners
David Broerman
Partner Enablement Manager
Phone: 727. 225.2826 / Email: [email protected]
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
05/02/2023
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
XcodeSelenium
05/02/2023
•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 GradeComplete
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 labDaaS
Hybrid Cloud solution
Single user performance
Device and App Vitals
GPS Injection
Device logsGlobal device coverage, real
carriers
Perfecto Mobile - AutomationBoth visual & Native objects
Testing connects to a CQL – Always On
Rich Media reports
Parallel Execution
CI ReadyUnattended 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 DrivenLimited 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
05/02/2023
13
Architecture
Mobile WebDriver/RWDJava code
Running in Eclipse
HTTP command level API
MCM(Mobile Cloud Manager – Executes scripts as well as
storing within its repository and reports)
HTTPHSS
(Handset Server - manages all device
connectivity)
MobileCloud Plugin Example
Real devices connected via USB cable
Web Driver/RWD
Script
Appium Server
JSON HTTP protocol
UIAutomator
UIAutomation
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 changesSelenium 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
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.
Thank You
David BroermanPartner Enablement ManagerPhone: 727. 225.2826 / Email: [email protected]