SlideShare a Scribd company logo
Automated Testing for Salesforce1 
Mobile Apps Using the Appium 
Framework 
Gaurav Kheterpal 
– Mobility, Metacube 
gauravkheterpal 
Starts at 10 AM
Safe Harbor 
harbor statement under the Private Securities Litigation Reform Act of 1995: 
presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking 
statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future 
operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts services. 
and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions 
in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and 
and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These 
documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. 
unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. 
Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
Gaurav Kheterpal 
Head – Mobility 
Metacube
• Native App Automation 
• Hybrid App Automation 
• How it works? 
• Best Practices 
• Continuous Integration 
• Summary 
• Q&A 
Agenda 
Salesforce1 Mobile 
Why Automate? 
Mobile Automation Challenges 
Introducing Appium 
WebDriver Wire Protocol 
Setting Up 
Salesforce1 – Sample Mobile Apps
Salesforce1 Mobile Development
Salesforce1 Mobile Development
Salesforce1 Mobile Development
Why Automate?
Why Automate?
Why Automate? 
Image courtesy - http://johnhammink.blogspot.kr/2010/11/off-beaten-path-test-automation-that.html
Mobile Automation Challenges
Mobile Automation Challenges
Mobile Automation Challenges
Introducing Appium 
Open source test automation framework 
Works for both native and hybrid mobile apps 
Uses WebDriver JSON Wire Protocol 
external SDK, No Re-compilation 
knowledge of underlying app source code
Introducing Appium
WebDriver JSON Wire Protocol 
Selenium WebDriver – the de-facto industry standard for browser 
automation 
Currently a W3C Working ‘Draft’ 
Appium runs a HTTP Server managing WebDriver sessions 
Server listens for commands, executes on device/ simulator and 
sends back a HTTP response
Setting up Appium
Setting up Appium
Setting up Appium
Setting up Appium
Setting up Appium
Salesforce1 – Sample Native App
Salesforce1 – Native App Automation Script Creation
Salesforce1 – Native App Automation Script Creation
Salesforce1 – Native App Automation Script Execution
Salesforce1 – Sample Hybrid App
Salesforce1 – Hybrid App Automation Script Creation
Salesforce1 – Hybrid App Automation Script Execution
Automation Best Practices 
Test Early, Test Often 
Positive, Negative, Edge, Bulk Cases 
Reports & Statistics 
Avoid debugs, SOPs, code cluttering 
TDD
Automation Best Practices
Continuous Integration – Putting It All Together! 
Hook up your scripts with a CI Tool such as 
Jenkins 
CloudBees 
CircleCI 
CISimple 
Report on your automated tests using a tool such as 
TestNG + ReportNG 
Analyse your test results using a framework such as 
New Relic
Summary 
Download & Setup Mobile SDK 
over Sample App Code 
Download & Setup Appium 
Record Your Scripts 
Play Your Scripts 
them into a Maven Project 
Hook it up to your CI Server 
Boom – You’re all set to automate your Salesforce1 native & hybrid 
apps!
A 
Questions?
Dreamforce 2014 Mobile Theatre Session - Automated Testing for Salesforce1 Mobile Apps Using the Appium Framework

More Related Content

What's hot

Summer '18 Developer Highlights
Summer '18 Developer HighlightsSummer '18 Developer Highlights
Summer '18 Developer Highlights
Salesforce Developers
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
Salesforce Developers
 
How Force.com developers do more in less time
How Force.com developers do more in less timeHow Force.com developers do more in less time
How Force.com developers do more in less time
Abhinav Gupta
 
Lightning App Builder: Build Apps Visually for the new Lightning Experience
Lightning App Builder: Build Apps Visually for the new Lightning ExperienceLightning App Builder: Build Apps Visually for the new Lightning Experience
Lightning App Builder: Build Apps Visually for the new Lightning Experience
Dreamforce
 
Sharing APIs at Scale for a Great Developer Experience
Sharing APIs at Scale for a Great Developer ExperienceSharing APIs at Scale for a Great Developer Experience
Sharing APIs at Scale for a Great Developer Experience
Postman
 
Build Smarter Apps with Einstein Platform Services
Build Smarter Apps with Einstein Platform ServicesBuild Smarter Apps with Einstein Platform Services
Build Smarter Apps with Einstein Platform Services
Salesforce Developers
 
Easy No-Code Integrations with External Services and Visual Flow
Easy No-Code Integrations with External Services and Visual FlowEasy No-Code Integrations with External Services and Visual Flow
Easy No-Code Integrations with External Services and Visual Flow
Salesforce Developers
 
Lightning Platform Product Managers: Ask Us Anything!
Lightning Platform Product Managers: Ask Us Anything!Lightning Platform Product Managers: Ask Us Anything!
Lightning Platform Product Managers: Ask Us Anything!
Salesforce Developers
 
Dreamforce 2014 - Salesforce Python SDK for REST/SOAP APIs
Dreamforce 2014 - Salesforce Python SDK for REST/SOAP APIsDreamforce 2014 - Salesforce Python SDK for REST/SOAP APIs
Dreamforce 2014 - Salesforce Python SDK for REST/SOAP APIs
Hormoz Tarevern
 
ISV Tech Talk: Distributing Lightning Components
ISV Tech Talk: Distributing Lightning ComponentsISV Tech Talk: Distributing Lightning Components
ISV Tech Talk: Distributing Lightning Components
CodeScience
 
APP Academy: Build Your First App (October 13, 2014)
APP Academy: Build Your First App (October 13, 2014)APP Academy: Build Your First App (October 13, 2014)
APP Academy: Build Your First App (October 13, 2014)
Salesforce Partners
 
Create Lightning with Lightning & IoT
Create Lightning with Lightning & IoTCreate Lightning with Lightning & IoT
Create Lightning with Lightning & IoT
Salesforce Developers
 
Government Cloud for ISVs (November 18, 2015)
Government Cloud for ISVs (November 18, 2015)Government Cloud for ISVs (November 18, 2015)
Government Cloud for ISVs (November 18, 2015)
Salesforce Partners
 
Introduction to Einstein Bots
Introduction to Einstein Bots Introduction to Einstein Bots
Introduction to Einstein Bots
Salesforce Developers
 
Intro to Lightning Components - Dreamforce 2016
Intro to Lightning Components - Dreamforce 2016Intro to Lightning Components - Dreamforce 2016
Intro to Lightning Components - Dreamforce 2016
Laura Meerkatz
 
Gesture Controlled Interactions with Platform Events and IoT Explorer
Gesture Controlled Interactions with Platform Events and IoT ExplorerGesture Controlled Interactions with Platform Events and IoT Explorer
Gesture Controlled Interactions with Platform Events and IoT Explorer
Salesforce Developers
 
Developer Preview Live – Release Readiness LIVE, Spring '18
Developer Preview Live – Release Readiness LIVE, Spring '18Developer Preview Live – Release Readiness LIVE, Spring '18
Developer Preview Live – Release Readiness LIVE, Spring '18
Salesforce Developers
 
Lightning Data Service: Eliminate Your Need to Load Records Through Controllers
Lightning Data Service: Eliminate Your Need to Load Records Through ControllersLightning Data Service: Eliminate Your Need to Load Records Through Controllers
Lightning Data Service: Eliminate Your Need to Load Records Through Controllers
Salesforce Developers
 
Advanced Platform Series - OAuth and Social Authentication
Advanced Platform Series - OAuth and Social AuthenticationAdvanced Platform Series - OAuth and Social Authentication
Advanced Platform Series - OAuth and Social Authentication
Salesforce Developers
 

What's hot (19)

Summer '18 Developer Highlights
Summer '18 Developer HighlightsSummer '18 Developer Highlights
Summer '18 Developer Highlights
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
How Force.com developers do more in less time
How Force.com developers do more in less timeHow Force.com developers do more in less time
How Force.com developers do more in less time
 
Lightning App Builder: Build Apps Visually for the new Lightning Experience
Lightning App Builder: Build Apps Visually for the new Lightning ExperienceLightning App Builder: Build Apps Visually for the new Lightning Experience
Lightning App Builder: Build Apps Visually for the new Lightning Experience
 
Sharing APIs at Scale for a Great Developer Experience
Sharing APIs at Scale for a Great Developer ExperienceSharing APIs at Scale for a Great Developer Experience
Sharing APIs at Scale for a Great Developer Experience
 
Build Smarter Apps with Einstein Platform Services
Build Smarter Apps with Einstein Platform ServicesBuild Smarter Apps with Einstein Platform Services
Build Smarter Apps with Einstein Platform Services
 
Easy No-Code Integrations with External Services and Visual Flow
Easy No-Code Integrations with External Services and Visual FlowEasy No-Code Integrations with External Services and Visual Flow
Easy No-Code Integrations with External Services and Visual Flow
 
Lightning Platform Product Managers: Ask Us Anything!
Lightning Platform Product Managers: Ask Us Anything!Lightning Platform Product Managers: Ask Us Anything!
Lightning Platform Product Managers: Ask Us Anything!
 
Dreamforce 2014 - Salesforce Python SDK for REST/SOAP APIs
Dreamforce 2014 - Salesforce Python SDK for REST/SOAP APIsDreamforce 2014 - Salesforce Python SDK for REST/SOAP APIs
Dreamforce 2014 - Salesforce Python SDK for REST/SOAP APIs
 
ISV Tech Talk: Distributing Lightning Components
ISV Tech Talk: Distributing Lightning ComponentsISV Tech Talk: Distributing Lightning Components
ISV Tech Talk: Distributing Lightning Components
 
APP Academy: Build Your First App (October 13, 2014)
APP Academy: Build Your First App (October 13, 2014)APP Academy: Build Your First App (October 13, 2014)
APP Academy: Build Your First App (October 13, 2014)
 
Create Lightning with Lightning & IoT
Create Lightning with Lightning & IoTCreate Lightning with Lightning & IoT
Create Lightning with Lightning & IoT
 
Government Cloud for ISVs (November 18, 2015)
Government Cloud for ISVs (November 18, 2015)Government Cloud for ISVs (November 18, 2015)
Government Cloud for ISVs (November 18, 2015)
 
Introduction to Einstein Bots
Introduction to Einstein Bots Introduction to Einstein Bots
Introduction to Einstein Bots
 
Intro to Lightning Components - Dreamforce 2016
Intro to Lightning Components - Dreamforce 2016Intro to Lightning Components - Dreamforce 2016
Intro to Lightning Components - Dreamforce 2016
 
Gesture Controlled Interactions with Platform Events and IoT Explorer
Gesture Controlled Interactions with Platform Events and IoT ExplorerGesture Controlled Interactions with Platform Events and IoT Explorer
Gesture Controlled Interactions with Platform Events and IoT Explorer
 
Developer Preview Live – Release Readiness LIVE, Spring '18
Developer Preview Live – Release Readiness LIVE, Spring '18Developer Preview Live – Release Readiness LIVE, Spring '18
Developer Preview Live – Release Readiness LIVE, Spring '18
 
Lightning Data Service: Eliminate Your Need to Load Records Through Controllers
Lightning Data Service: Eliminate Your Need to Load Records Through ControllersLightning Data Service: Eliminate Your Need to Load Records Through Controllers
Lightning Data Service: Eliminate Your Need to Load Records Through Controllers
 
Advanced Platform Series - OAuth and Social Authentication
Advanced Platform Series - OAuth and Social AuthenticationAdvanced Platform Series - OAuth and Social Authentication
Advanced Platform Series - OAuth and Social Authentication
 

Similar to Dreamforce 2014 Mobile Theatre Session - Automated Testing for Salesforce1 Mobile Apps Using the Appium Framework

Build custom user interfaces for your Salesforce data with the UI API
 Build custom user interfaces for your Salesforce data with the UI API Build custom user interfaces for your Salesforce data with the UI API
Build custom user interfaces for your Salesforce data with the UI API
Salesforce Developers
 
Scaling to Millions of Devices and Billions of Events
Scaling to Millions of Devices and Billions of EventsScaling to Millions of Devices and Billions of Events
Scaling to Millions of Devices and Billions of Events
Salesforce Developers
 
Introduction to Apex Triggers
Introduction to Apex TriggersIntroduction to Apex Triggers
Introduction to Apex Triggers
Salesforce Developers
 
Forcelandia 2016 Wave App Development
Forcelandia 2016   Wave App DevelopmentForcelandia 2016   Wave App Development
Forcelandia 2016 Wave App Development
Skip Sauls
 
Force.com Friday - Intro to Force.com
Force.com Friday -  Intro to Force.comForce.com Friday -  Intro to Force.com
Force.com Friday - Intro to Force.com
Shivanath Devinarayanan
 
Force.com Friday - An Intro to Force.com
Force.com Friday - An Intro to Force.comForce.com Friday - An Intro to Force.com
Force.com Friday - An Intro to Force.com
Dazeworks
 
Force.com Friday: Intro to Force.com
Force.com Friday: Intro to Force.comForce.com Friday: Intro to Force.com
Force.com Friday: Intro to Force.com
Salesforce Developers
 
Build Customer Centric Applications Using the Salesforce Toolkits for .NET
Build Customer Centric Applications Using the Salesforce Toolkits for .NETBuild Customer Centric Applications Using the Salesforce Toolkits for .NET
Build Customer Centric Applications Using the Salesforce Toolkits for .NET
Salesforce Developers
 
Elevate Madrid Essentials - Advance Track
Elevate Madrid Essentials - Advance TrackElevate Madrid Essentials - Advance Track
Elevate Madrid Essentials - Advance Track
CarolEnLaNube
 
Build Customer Centric Applications Using the Salesforce Toolkits for .NET
Build Customer Centric Applications Using the Salesforce Toolkits for .NETBuild Customer Centric Applications Using the Salesforce Toolkits for .NET
Build Customer Centric Applications Using the Salesforce Toolkits for .NET
Salesforce Developers
 
Building a great mobile experience on the force.com platforms
Building a great mobile experience on the force.com platformsBuilding a great mobile experience on the force.com platforms
Building a great mobile experience on the force.com platforms
John Stevenson
 
Mobile Developer Week
Mobile Developer WeekMobile Developer Week
Mobile Developer Week
Pat Patterson
 
Présentation de la platefome Heroku
Présentation de la platefome HerokuPrésentation de la platefome Heroku
Présentation de la platefome Heroku
Thierry TROUIN ☁
 
DayBack at Dreamforce 2016
DayBack at Dreamforce 2016DayBack at Dreamforce 2016
DayBack at Dreamforce 2016
SeedCode
 
Building Mobile Apps on Salesforce Platform with Mobile SDK
Building Mobile Apps on Salesforce Platform with Mobile SDKBuilding Mobile Apps on Salesforce Platform with Mobile SDK
Building Mobile Apps on Salesforce Platform with Mobile SDK
Salesforce Developers
 
Force.com Fridays: Intro to Force.com
Force.com Fridays: Intro to Force.comForce.com Fridays: Intro to Force.com
Force.com Fridays: Intro to Force.com
Salesforce Developers
 
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on HerokuIgor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
Igor Androsov
 
Mobilising your salesforce applications using j query mobile
Mobilising your salesforce applications using j query mobileMobilising your salesforce applications using j query mobile
Mobilising your salesforce applications using j query mobile
Amit Jain
 
New Lightning Experience: Build Custom Apps in a Flash
New Lightning Experience: Build Custom Apps in a FlashNew Lightning Experience: Build Custom Apps in a Flash
New Lightning Experience: Build Custom Apps in a Flash
Dreamforce
 
Introduction to MuleSoft
Introduction to MuleSoftIntroduction to MuleSoft
Introduction to MuleSoft
Salesforce Developers
 

Similar to Dreamforce 2014 Mobile Theatre Session - Automated Testing for Salesforce1 Mobile Apps Using the Appium Framework (20)

Build custom user interfaces for your Salesforce data with the UI API
 Build custom user interfaces for your Salesforce data with the UI API Build custom user interfaces for your Salesforce data with the UI API
Build custom user interfaces for your Salesforce data with the UI API
 
Scaling to Millions of Devices and Billions of Events
Scaling to Millions of Devices and Billions of EventsScaling to Millions of Devices and Billions of Events
Scaling to Millions of Devices and Billions of Events
 
Introduction to Apex Triggers
Introduction to Apex TriggersIntroduction to Apex Triggers
Introduction to Apex Triggers
 
Forcelandia 2016 Wave App Development
Forcelandia 2016   Wave App DevelopmentForcelandia 2016   Wave App Development
Forcelandia 2016 Wave App Development
 
Force.com Friday - Intro to Force.com
Force.com Friday -  Intro to Force.comForce.com Friday -  Intro to Force.com
Force.com Friday - Intro to Force.com
 
Force.com Friday - An Intro to Force.com
Force.com Friday - An Intro to Force.comForce.com Friday - An Intro to Force.com
Force.com Friday - An Intro to Force.com
 
Force.com Friday: Intro to Force.com
Force.com Friday: Intro to Force.comForce.com Friday: Intro to Force.com
Force.com Friday: Intro to Force.com
 
Build Customer Centric Applications Using the Salesforce Toolkits for .NET
Build Customer Centric Applications Using the Salesforce Toolkits for .NETBuild Customer Centric Applications Using the Salesforce Toolkits for .NET
Build Customer Centric Applications Using the Salesforce Toolkits for .NET
 
Elevate Madrid Essentials - Advance Track
Elevate Madrid Essentials - Advance TrackElevate Madrid Essentials - Advance Track
Elevate Madrid Essentials - Advance Track
 
Build Customer Centric Applications Using the Salesforce Toolkits for .NET
Build Customer Centric Applications Using the Salesforce Toolkits for .NETBuild Customer Centric Applications Using the Salesforce Toolkits for .NET
Build Customer Centric Applications Using the Salesforce Toolkits for .NET
 
Building a great mobile experience on the force.com platforms
Building a great mobile experience on the force.com platformsBuilding a great mobile experience on the force.com platforms
Building a great mobile experience on the force.com platforms
 
Mobile Developer Week
Mobile Developer WeekMobile Developer Week
Mobile Developer Week
 
Présentation de la platefome Heroku
Présentation de la platefome HerokuPrésentation de la platefome Heroku
Présentation de la platefome Heroku
 
DayBack at Dreamforce 2016
DayBack at Dreamforce 2016DayBack at Dreamforce 2016
DayBack at Dreamforce 2016
 
Building Mobile Apps on Salesforce Platform with Mobile SDK
Building Mobile Apps on Salesforce Platform with Mobile SDKBuilding Mobile Apps on Salesforce Platform with Mobile SDK
Building Mobile Apps on Salesforce Platform with Mobile SDK
 
Force.com Fridays: Intro to Force.com
Force.com Fridays: Intro to Force.comForce.com Fridays: Intro to Force.com
Force.com Fridays: Intro to Force.com
 
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on HerokuIgor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
 
Mobilising your salesforce applications using j query mobile
Mobilising your salesforce applications using j query mobileMobilising your salesforce applications using j query mobile
Mobilising your salesforce applications using j query mobile
 
New Lightning Experience: Build Custom Apps in a Flash
New Lightning Experience: Build Custom Apps in a FlashNew Lightning Experience: Build Custom Apps in a Flash
New Lightning Experience: Build Custom Apps in a Flash
 
Introduction to MuleSoft
Introduction to MuleSoftIntroduction to MuleSoft
Introduction to MuleSoft
 

More from Gaurav Kheterpal

DevFest19 - Early Diagnosis of Chronic Diseases by Smartphone AI
DevFest19 -  Early Diagnosis of Chronic Diseases by Smartphone AIDevFest19 -  Early Diagnosis of Chronic Diseases by Smartphone AI
DevFest19 - Early Diagnosis of Chronic Diseases by Smartphone AI
Gaurav Kheterpal
 
Commerce Cloud 101
Commerce Cloud 101Commerce Cloud 101
Commerce Cloud 101
Gaurav Kheterpal
 
My TopCoder Journey - How I reinvented myself as a Developer
My TopCoder Journey - How I reinvented myself as a DeveloperMy TopCoder Journey - How I reinvented myself as a Developer
My TopCoder Journey - How I reinvented myself as a Developer
Gaurav Kheterpal
 
Summer of Trailhead - Jaipur Developer user Group - Gaurav Kheterpal
Summer of Trailhead - Jaipur Developer user Group - Gaurav KheterpalSummer of Trailhead - Jaipur Developer user Group - Gaurav Kheterpal
Summer of Trailhead - Jaipur Developer user Group - Gaurav Kheterpal
Gaurav Kheterpal
 
Titanium - The Good Parts (TiConf Bangalore)
Titanium - The Good Parts (TiConf Bangalore)Titanium - The Good Parts (TiConf Bangalore)
Titanium - The Good Parts (TiConf Bangalore)
Gaurav Kheterpal
 
Mobilise your apps with Salesforce1
Mobilise your apps with Salesforce1Mobilise your apps with Salesforce1
Mobilise your apps with Salesforce1
Gaurav Kheterpal
 
SenchaCon 2013 - Enterprise Grade Analytics Using Sencha Touch Charts
SenchaCon 2013 - Enterprise Grade Analytics Using Sencha Touch ChartsSenchaCon 2013 - Enterprise Grade Analytics Using Sencha Touch Charts
SenchaCon 2013 - Enterprise Grade Analytics Using Sencha Touch Charts
Gaurav Kheterpal
 
Df12 gaurav kheterpal-integrating evernote and salesforce using the mobile sdk
Df12 gaurav kheterpal-integrating evernote and salesforce using the mobile sdkDf12 gaurav kheterpal-integrating evernote and salesforce using the mobile sdk
Df12 gaurav kheterpal-integrating evernote and salesforce using the mobile sdk
Gaurav Kheterpal
 
Using Appcelerator Titanium to build native android apps without the native pain
Using Appcelerator Titanium to build native android apps without the native painUsing Appcelerator Titanium to build native android apps without the native pain
Using Appcelerator Titanium to build native android apps without the native pain
Gaurav Kheterpal
 
Android development made easy with appcelerator titanium
Android development made easy with appcelerator titaniumAndroid development made easy with appcelerator titanium
Android development made easy with appcelerator titanium
Gaurav Kheterpal
 

More from Gaurav Kheterpal (10)

DevFest19 - Early Diagnosis of Chronic Diseases by Smartphone AI
DevFest19 -  Early Diagnosis of Chronic Diseases by Smartphone AIDevFest19 -  Early Diagnosis of Chronic Diseases by Smartphone AI
DevFest19 - Early Diagnosis of Chronic Diseases by Smartphone AI
 
Commerce Cloud 101
Commerce Cloud 101Commerce Cloud 101
Commerce Cloud 101
 
My TopCoder Journey - How I reinvented myself as a Developer
My TopCoder Journey - How I reinvented myself as a DeveloperMy TopCoder Journey - How I reinvented myself as a Developer
My TopCoder Journey - How I reinvented myself as a Developer
 
Summer of Trailhead - Jaipur Developer user Group - Gaurav Kheterpal
Summer of Trailhead - Jaipur Developer user Group - Gaurav KheterpalSummer of Trailhead - Jaipur Developer user Group - Gaurav Kheterpal
Summer of Trailhead - Jaipur Developer user Group - Gaurav Kheterpal
 
Titanium - The Good Parts (TiConf Bangalore)
Titanium - The Good Parts (TiConf Bangalore)Titanium - The Good Parts (TiConf Bangalore)
Titanium - The Good Parts (TiConf Bangalore)
 
Mobilise your apps with Salesforce1
Mobilise your apps with Salesforce1Mobilise your apps with Salesforce1
Mobilise your apps with Salesforce1
 
SenchaCon 2013 - Enterprise Grade Analytics Using Sencha Touch Charts
SenchaCon 2013 - Enterprise Grade Analytics Using Sencha Touch ChartsSenchaCon 2013 - Enterprise Grade Analytics Using Sencha Touch Charts
SenchaCon 2013 - Enterprise Grade Analytics Using Sencha Touch Charts
 
Df12 gaurav kheterpal-integrating evernote and salesforce using the mobile sdk
Df12 gaurav kheterpal-integrating evernote and salesforce using the mobile sdkDf12 gaurav kheterpal-integrating evernote and salesforce using the mobile sdk
Df12 gaurav kheterpal-integrating evernote and salesforce using the mobile sdk
 
Using Appcelerator Titanium to build native android apps without the native pain
Using Appcelerator Titanium to build native android apps without the native painUsing Appcelerator Titanium to build native android apps without the native pain
Using Appcelerator Titanium to build native android apps without the native pain
 
Android development made easy with appcelerator titanium
Android development made easy with appcelerator titaniumAndroid development made easy with appcelerator titanium
Android development made easy with appcelerator titanium
 

Recently uploaded

Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio, Inc.
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
kalichargn70th171
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
Paul Brebner
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
gapen1
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
sjcobrien
 
TMU毕业证书精仿办理
TMU毕业证书精仿办理TMU毕业证书精仿办理
TMU毕业证书精仿办理
aeeva
 
Manyata Tech Park Bangalore_ Infrastructure, Facilities and More
Manyata Tech Park Bangalore_ Infrastructure, Facilities and MoreManyata Tech Park Bangalore_ Infrastructure, Facilities and More
Manyata Tech Park Bangalore_ Infrastructure, Facilities and More
narinav14
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
Reetu63
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
Massimo Artizzu
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Paul Brebner
 
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Peter Caitens
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)
alowpalsadig
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert
vaishalijagtap12
 

Recently uploaded (20)

Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
 
TMU毕业证书精仿办理
TMU毕业证书精仿办理TMU毕业证书精仿办理
TMU毕业证书精仿办理
 
Manyata Tech Park Bangalore_ Infrastructure, Facilities and More
Manyata Tech Park Bangalore_ Infrastructure, Facilities and MoreManyata Tech Park Bangalore_ Infrastructure, Facilities and More
Manyata Tech Park Bangalore_ Infrastructure, Facilities and More
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
 
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert
 

Dreamforce 2014 Mobile Theatre Session - Automated Testing for Salesforce1 Mobile Apps Using the Appium Framework

  • 1. Automated Testing for Salesforce1 Mobile Apps Using the Appium Framework Gaurav Kheterpal – Mobility, Metacube gauravkheterpal Starts at 10 AM
  • 2. Safe Harbor harbor statement under the Private Securities Litigation Reform Act of 1995: presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts services. and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
  • 3. Gaurav Kheterpal Head – Mobility Metacube
  • 4. • Native App Automation • Hybrid App Automation • How it works? • Best Practices • Continuous Integration • Summary • Q&A Agenda Salesforce1 Mobile Why Automate? Mobile Automation Challenges Introducing Appium WebDriver Wire Protocol Setting Up Salesforce1 – Sample Mobile Apps
  • 10. Why Automate? Image courtesy - http://johnhammink.blogspot.kr/2010/11/off-beaten-path-test-automation-that.html
  • 14. Introducing Appium Open source test automation framework Works for both native and hybrid mobile apps Uses WebDriver JSON Wire Protocol external SDK, No Re-compilation knowledge of underlying app source code
  • 16. WebDriver JSON Wire Protocol Selenium WebDriver – the de-facto industry standard for browser automation Currently a W3C Working ‘Draft’ Appium runs a HTTP Server managing WebDriver sessions Server listens for commands, executes on device/ simulator and sends back a HTTP response
  • 23. Salesforce1 – Native App Automation Script Creation
  • 24. Salesforce1 – Native App Automation Script Creation
  • 25. Salesforce1 – Native App Automation Script Execution
  • 27. Salesforce1 – Hybrid App Automation Script Creation
  • 28. Salesforce1 – Hybrid App Automation Script Execution
  • 29. Automation Best Practices Test Early, Test Often Positive, Negative, Edge, Bulk Cases Reports & Statistics Avoid debugs, SOPs, code cluttering TDD
  • 31. Continuous Integration – Putting It All Together! Hook up your scripts with a CI Tool such as Jenkins CloudBees CircleCI CISimple Report on your automated tests using a tool such as TestNG + ReportNG Analyse your test results using a framework such as New Relic
  • 32. Summary Download & Setup Mobile SDK over Sample App Code Download & Setup Appium Record Your Scripts Play Your Scripts them into a Maven Project Hook it up to your CI Server Boom – You’re all set to automate your Salesforce1 native & hybrid apps!