SlideShare a Scribd company logo
1 of 34
Download to read offline
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

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 ComponentsSalesforce 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 timeAbhinav 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 ExperienceDreamforce
 
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 ExperiencePostman
 
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 ServicesSalesforce 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 FlowSalesforce 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 APIsHormoz Tarevern
 
ISV Tech Talk: Distributing Lightning Components
ISV Tech Talk: Distributing Lightning ComponentsISV Tech Talk: Distributing Lightning Components
ISV Tech Talk: Distributing Lightning ComponentsCodeScience
 
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 & IoTSalesforce 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
 
Intro to Lightning Components - Dreamforce 2016
Intro to Lightning Components - Dreamforce 2016Intro to Lightning Components - Dreamforce 2016
Intro to Lightning Components - Dreamforce 2016Laura 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 ExplorerSalesforce 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 '18Salesforce 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 ControllersSalesforce 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 AuthenticationSalesforce 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 APISalesforce 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 EventsSalesforce Developers
 
Forcelandia 2016 Wave App Development
Forcelandia 2016   Wave App DevelopmentForcelandia 2016   Wave App Development
Forcelandia 2016 Wave App DevelopmentSkip Sauls
 
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.comDazeworks
 
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.comSalesforce 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 .NETSalesforce Developers
 
Elevate Madrid Essentials - Advance Track
Elevate Madrid Essentials - Advance TrackElevate Madrid Essentials - Advance Track
Elevate Madrid Essentials - Advance TrackCarolEnLaNube
 
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 .NETSalesforce 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 platformsJohn Stevenson
 
Mobile Developer Week
Mobile Developer WeekMobile Developer Week
Mobile Developer WeekPat Patterson
 
Présentation de la platefome Heroku
Présentation de la platefome HerokuPrésentation de la platefome Heroku
Présentation de la platefome HerokuThierry TROUIN ☁
 
DayBack at Dreamforce 2016
DayBack at Dreamforce 2016DayBack at Dreamforce 2016
DayBack at Dreamforce 2016SeedCode
 
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 SDKSalesforce 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.comSalesforce 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 HerokuIgor 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 mobileAmit 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 FlashDreamforce
 

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 - 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
 
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 AIGaurav 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 DeveloperGaurav 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 KheterpalGaurav 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 Salesforce1Gaurav 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 ChartsGaurav 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 sdkGaurav 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 painGaurav 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 titaniumGaurav 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

Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 

Recently uploaded (20)

Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 

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!