SlideShare una empresa de Scribd logo
1 de 14
iOS Automation with Cucumber,
Appium and Saucelabs
Shashikant Jagtap
Twitter:@Shashikant86
Blogs:
http://shashikantjagtap.net
Topics
● Appium Introduction
● Installation & Setup
● Running Appium
● Setting up Mobile App for
Appium
● Appium Inspector
● Demo:Cucumber+Appium+Saucelabs
Appium
● Open Source test automation
Framework
● Hybrid and Native Apps
● Uses WebDriver JSON Protocol
iOS Requirements
● Mac OSX 10.7 +
● Xcode 4.5 + Command Line Tools
● HomeBrew
● NodeJS and npm
● Ruby, RVM and Git
Installing Appium
● NodeJS
$ brew install node
$ npm install -g appium
$ npm install wd
● Appium App
Download Appium App
http://appium.io/
Running Appium Server
● Start Appium
$ ./node_modules/.bin/appium
● Authorize_iOS
$./node_modules/.bin/authorize
_ios
● OR Strart Appium with App
Setting Mobile App for
Appium
● Locally
$ cd your_awesome_app
$ xcodebuild -sdk
iphonesimulator6.0
● APP_PATH
$ cd build/Release-
iphonesimulator/
Setup APP for Saucelabs
● Setup
$ xcodebuild -sdk
iphonesimulator6.0
TARGETED_DEVICE_FAMILY=1
● Zip Your APP
$ zip -r APP.zip
/build/Release-
iphonesimulator/APP.app
● Upload with Sauce REST
Upload Zip on Saucelabs
● REST API
$ curl -u USERNAME:API_KEY -X POST
"http://saucelabs.com/rest/v1/stora
ge/Shashikant86/PlainNote.zip?
overwrite=true" -H "Content-Type:
application/octet-stream" --data-
binary @/path/to//build/Release-
iphonesimulator/APP.zip
Using Appium Inspector
● Record and Playback Scripts of
iOS
● Choose Language
● Inspects Elements
● Perform Actions [tap, Swipe,
shake]
● Use source code in
step_definition
Live Demo Time
$ git clone
https://github.com/Shashikant86/
cucumber-appium
$ cd cucumber-appium
$ rvm use 1.9.3
$ bundle install
$ bundle exec cucumber
features/plain_note.feature
Live Demo Blogs
● Source Code:
Shashikant86/cucumber-appium
http://tinyurl.com/pvap9ge
● MY Demo blog Saucelabs
http://tinyurl.com/nr4onfe
● Demo [Personal blog]
http://tinyurl.com/pd2ksxx
YouTube Videos
● Using Appium Inspector
http://www.youtube.com/watch?v=Hv9A9
● Cucumber-Appium Locally
http://www.youtube.com/watch?v=uor32
● Cucumber-appium-saucelabs
http://www.youtube.com/watch?v=zCXMu
THANK YOU
New Appium 1.0 Comming
Today !!

Más contenido relacionado

La actualidad más candente

Appium mobile web+dev conference
Appium   mobile web+dev conferenceAppium   mobile web+dev conference
Appium mobile web+dev conference
Isaac Murchie
 
Mobile automation using selenium cucumber & appium
Mobile automation using selenium cucumber & appiumMobile automation using selenium cucumber & appium
Mobile automation using selenium cucumber & appium
Selenium Cucumber
 

La actualidad más candente (20)

Vietnam qa meetup
Vietnam qa meetupVietnam qa meetup
Vietnam qa meetup
 
Experiences building apps with React Native @DomCode 2016
Experiences building apps with React Native @DomCode 2016Experiences building apps with React Native @DomCode 2016
Experiences building apps with React Native @DomCode 2016
 
Webpack and angularjs
Webpack and angularjsWebpack and angularjs
Webpack and angularjs
 
Headless BDD
Headless BDDHeadless BDD
Headless BDD
 
An iOS Developer's Perspective on React Native
An iOS Developer's Perspective on React NativeAn iOS Developer's Perspective on React Native
An iOS Developer's Perspective on React Native
 
Ionic adventures - Hybrid Mobile App Development rocks
Ionic adventures - Hybrid Mobile App Development rocksIonic adventures - Hybrid Mobile App Development rocks
Ionic adventures - Hybrid Mobile App Development rocks
 
What's New in JHipsterLand - DevNexus 2017
What's New in JHipsterLand - DevNexus 2017What's New in JHipsterLand - DevNexus 2017
What's New in JHipsterLand - DevNexus 2017
 
Experiences building apps with React Native @UtrechtJS May 2016
Experiences building apps with React Native @UtrechtJS May 2016Experiences building apps with React Native @UtrechtJS May 2016
Experiences building apps with React Native @UtrechtJS May 2016
 
React Native
React NativeReact Native
React Native
 
Put an end to regression with codeception testing
Put an end to regression with codeception testingPut an end to regression with codeception testing
Put an end to regression with codeception testing
 
Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017
Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017
Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017
 
Modern Web Application Development Workflow - EclipseCon France 2014
Modern Web Application Development Workflow - EclipseCon France 2014Modern Web Application Development Workflow - EclipseCon France 2014
Modern Web Application Development Workflow - EclipseCon France 2014
 
Intro to Puppeteer
Intro to PuppeteerIntro to Puppeteer
Intro to Puppeteer
 
Composer at Scale, Release and Dependency Management
Composer at Scale, Release and Dependency ManagementComposer at Scale, Release and Dependency Management
Composer at Scale, Release and Dependency Management
 
How React Native, Appium and me made each other shine @ContinuousDeliveryAmst...
How React Native, Appium and me made each other shine @ContinuousDeliveryAmst...How React Native, Appium and me made each other shine @ContinuousDeliveryAmst...
How React Native, Appium and me made each other shine @ContinuousDeliveryAmst...
 
Appium mobile web+dev conference
Appium   mobile web+dev conferenceAppium   mobile web+dev conference
Appium mobile web+dev conference
 
Intro to react native
Intro to react nativeIntro to react native
Intro to react native
 
React native development with expo
React native development with expoReact native development with expo
React native development with expo
 
Testing Angular Applications - Jfokus 2017
Testing Angular Applications - Jfokus 2017Testing Angular Applications - Jfokus 2017
Testing Angular Applications - Jfokus 2017
 
Mobile automation using selenium cucumber & appium
Mobile automation using selenium cucumber & appiumMobile automation using selenium cucumber & appium
Mobile automation using selenium cucumber & appium
 

Destacado

Exactpro Systems for KSTU Students in Kostroma
Exactpro Systems for KSTU Students in KostromaExactpro Systems for KSTU Students in Kostroma
Exactpro Systems for KSTU Students in Kostroma
Iosif Itkin
 

Destacado (20)

ATDD with Behat and Selenium (LDNSE6)
ATDD with Behat and Selenium (LDNSE6)ATDD with Behat and Selenium (LDNSE6)
ATDD with Behat and Selenium (LDNSE6)
 
Dockerizing BDD : Ruby-Cucumber Example
Dockerizing BDD : Ruby-Cucumber ExampleDockerizing BDD : Ruby-Cucumber Example
Dockerizing BDD : Ruby-Cucumber Example
 
Exactpro Systems for KSTU Students in Kostroma
Exactpro Systems for KSTU Students in KostromaExactpro Systems for KSTU Students in Kostroma
Exactpro Systems for KSTU Students in Kostroma
 
Combining Heritrix and PhantomJS for Better Crawling of Pages with Javascript
Combining Heritrix and PhantomJS for Better Crawling of Pages with JavascriptCombining Heritrix and PhantomJS for Better Crawling of Pages with Javascript
Combining Heritrix and PhantomJS for Better Crawling of Pages with Javascript
 
SoapUI one key to all doors
SoapUI one key to all doorsSoapUI one key to all doors
SoapUI one key to all doors
 
Test trend analysis: Towards robust reliable and timely tests
Test trend analysis: Towards robust reliable and timely testsTest trend analysis: Towards robust reliable and timely tests
Test trend analysis: Towards robust reliable and timely tests
 
Testing NodeJS, REST APIs and MongoDB with UFT
Testing NodeJS, REST APIs and MongoDB with UFTTesting NodeJS, REST APIs and MongoDB with UFT
Testing NodeJS, REST APIs and MongoDB with UFT
 
WixAutomation - Test State Pattern - Selenium Camp 2017
WixAutomation - Test State Pattern - Selenium Camp 2017WixAutomation - Test State Pattern - Selenium Camp 2017
WixAutomation - Test State Pattern - Selenium Camp 2017
 
Angular js automation using protractor
Angular js automation using protractorAngular js automation using protractor
Angular js automation using protractor
 
How does Java 8 exert hidden power on Test Automation?
How does Java 8 exert hidden power on Test Automation?How does Java 8 exert hidden power on Test Automation?
How does Java 8 exert hidden power on Test Automation?
 
API Testing with Frisby and Mocha
API Testing with Frisby and MochaAPI Testing with Frisby and Mocha
API Testing with Frisby and Mocha
 
The Right Tool for the Right Project
The Right Tool for the Right ProjectThe Right Tool for the Right Project
The Right Tool for the Right Project
 
7 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 2016
7 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 20167 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 2016
7 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 2016
 
The wild wild west of Selenium Capabilities
The wild wild west of Selenium CapabilitiesThe wild wild west of Selenium Capabilities
The wild wild west of Selenium Capabilities
 
Ukstar 2017 london- Parasoft
Ukstar 2017 london-  ParasoftUkstar 2017 london-  Parasoft
Ukstar 2017 london- Parasoft
 
Roman iovlev. Test UI with JDI - Selenium camp
Roman iovlev. Test UI with JDI - Selenium campRoman iovlev. Test UI with JDI - Selenium camp
Roman iovlev. Test UI with JDI - Selenium camp
 
“Create Tests Automatically? It’s possible!” Practical Model-Based Testing
“Create Tests Automatically? It’s possible!” Practical Model-Based Testing“Create Tests Automatically? It’s possible!” Practical Model-Based Testing
“Create Tests Automatically? It’s possible!” Practical Model-Based Testing
 
Colorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latestColorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latest
 
Parasoft Testing anything, any time with containerized service virtualization
Parasoft Testing anything, any time with containerized service virtualizationParasoft Testing anything, any time with containerized service virtualization
Parasoft Testing anything, any time with containerized service virtualization
 
Selenium camp 2017. Alexander Chumakin
Selenium camp 2017. Alexander ChumakinSelenium camp 2017. Alexander Chumakin
Selenium camp 2017. Alexander Chumakin
 

Similar a iOS Automation with Cucumber, Appium and Saucelabs

ApppiumDoc_version2015
ApppiumDoc_version2015ApppiumDoc_version2015
ApppiumDoc_version2015
Amit DEWAN
 

Similar a iOS Automation with Cucumber, Appium and Saucelabs (20)

Appium workship, Mobile Web+Dev Conference
Appium workship,  Mobile Web+Dev ConferenceAppium workship,  Mobile Web+Dev Conference
Appium workship, Mobile Web+Dev Conference
 
Automation testing on ios platform using appium
Automation testing on ios platform using appiumAutomation testing on ios platform using appium
Automation testing on ios platform using appium
 
Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016
 
ApppiumDoc_version2015
ApppiumDoc_version2015ApppiumDoc_version2015
ApppiumDoc_version2015
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
 
Advanced Appium
Advanced AppiumAdvanced Appium
Advanced Appium
 
Appium solution
Appium solutionAppium solution
Appium solution
 
The future is hybrid
The future is hybridThe future is hybrid
The future is hybrid
 
Appium workshop technopark trivandrum
Appium workshop technopark trivandrumAppium workshop technopark trivandrum
Appium workshop technopark trivandrum
 
Django Deployer
Django DeployerDjango Deployer
Django Deployer
 
Parallel testing with appium
Parallel testing with appiumParallel testing with appium
Parallel testing with appium
 
Intro to Mobile Development for Web iOS and Android
Intro to Mobile Development for Web iOS and AndroidIntro to Mobile Development for Web iOS and Android
Intro to Mobile Development for Web iOS and Android
 
Appium Introduction
Appium IntroductionAppium Introduction
Appium Introduction
 
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
 
PhoneGap - Now and the Future
PhoneGap - Now and the FuturePhoneGap - Now and the Future
PhoneGap - Now and the Future
 
Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)
 
Appium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation IntroductionAppium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation Introduction
 
Using PhoneGap Command Line
Using PhoneGap Command LineUsing PhoneGap Command Line
Using PhoneGap Command Line
 
Intro to PhoneGap
Intro to PhoneGapIntro to PhoneGap
Intro to PhoneGap
 
Workshop Ionic Framework - CC FE & UX
Workshop Ionic Framework - CC FE & UXWorkshop Ionic Framework - CC FE & UX
Workshop Ionic Framework - CC FE & UX
 

Más de Shashikant Jagtap

Más de Shashikant Jagtap (9)

NSTC2019: Choosing CI Friendly Mobile Automation Framework
NSTC2019: Choosing CI Friendly Mobile Automation Framework NSTC2019: Choosing CI Friendly Mobile Automation Framework
NSTC2019: Choosing CI Friendly Mobile Automation Framework
 
SauceCon19: Fashionable XCUITest for iOS App
SauceCon19: Fashionable XCUITest for iOS App SauceCon19: Fashionable XCUITest for iOS App
SauceCon19: Fashionable XCUITest for iOS App
 
Full Stack Flutter Testing
Full Stack Flutter Testing Full Stack Flutter Testing
Full Stack Flutter Testing
 
XCUITest Introduction: Test Automation University
XCUITest Introduction: Test Automation University XCUITest Introduction: Test Automation University
XCUITest Introduction: Test Automation University
 
iOSDevUK Conference- DevOps for iOS Apps
iOSDevUK Conference- DevOps for iOS AppsiOSDevUK Conference- DevOps for iOS Apps
iOSDevUK Conference- DevOps for iOS Apps
 
Vapor london March 2018
Vapor london March 2018Vapor london March 2018
Vapor london March 2018
 
Provisioning iOS CI Server with Ansible
Provisioning iOS CI Server with AnsibleProvisioning iOS CI Server with Ansible
Provisioning iOS CI Server with Ansible
 
BDD with Behat Selenium, Sahi and Sauce
BDD with Behat Selenium, Sahi and SauceBDD with Behat Selenium, Sahi and Sauce
BDD with Behat Selenium, Sahi and Sauce
 
Test Framework for Acne Selenium+Sahi
Test Framework for Acne Selenium+SahiTest Framework for Acne Selenium+Sahi
Test Framework for Acne Selenium+Sahi
 

Último

Último (20)

Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

iOS Automation with Cucumber, Appium and Saucelabs

  • 1. iOS Automation with Cucumber, Appium and Saucelabs Shashikant Jagtap Twitter:@Shashikant86 Blogs: http://shashikantjagtap.net
  • 2. Topics ● Appium Introduction ● Installation & Setup ● Running Appium ● Setting up Mobile App for Appium ● Appium Inspector ● Demo:Cucumber+Appium+Saucelabs
  • 3. Appium ● Open Source test automation Framework ● Hybrid and Native Apps ● Uses WebDriver JSON Protocol
  • 4. iOS Requirements ● Mac OSX 10.7 + ● Xcode 4.5 + Command Line Tools ● HomeBrew ● NodeJS and npm ● Ruby, RVM and Git
  • 5. Installing Appium ● NodeJS $ brew install node $ npm install -g appium $ npm install wd ● Appium App Download Appium App http://appium.io/
  • 6. Running Appium Server ● Start Appium $ ./node_modules/.bin/appium ● Authorize_iOS $./node_modules/.bin/authorize _ios ● OR Strart Appium with App
  • 7. Setting Mobile App for Appium ● Locally $ cd your_awesome_app $ xcodebuild -sdk iphonesimulator6.0 ● APP_PATH $ cd build/Release- iphonesimulator/
  • 8. Setup APP for Saucelabs ● Setup $ xcodebuild -sdk iphonesimulator6.0 TARGETED_DEVICE_FAMILY=1 ● Zip Your APP $ zip -r APP.zip /build/Release- iphonesimulator/APP.app ● Upload with Sauce REST
  • 9. Upload Zip on Saucelabs ● REST API $ curl -u USERNAME:API_KEY -X POST "http://saucelabs.com/rest/v1/stora ge/Shashikant86/PlainNote.zip? overwrite=true" -H "Content-Type: application/octet-stream" --data- binary @/path/to//build/Release- iphonesimulator/APP.zip
  • 10. Using Appium Inspector ● Record and Playback Scripts of iOS ● Choose Language ● Inspects Elements ● Perform Actions [tap, Swipe, shake] ● Use source code in step_definition
  • 11. Live Demo Time $ git clone https://github.com/Shashikant86/ cucumber-appium $ cd cucumber-appium $ rvm use 1.9.3 $ bundle install $ bundle exec cucumber features/plain_note.feature
  • 12. Live Demo Blogs ● Source Code: Shashikant86/cucumber-appium http://tinyurl.com/pvap9ge ● MY Demo blog Saucelabs http://tinyurl.com/nr4onfe ● Demo [Personal blog] http://tinyurl.com/pd2ksxx
  • 13. YouTube Videos ● Using Appium Inspector http://www.youtube.com/watch?v=Hv9A9 ● Cucumber-Appium Locally http://www.youtube.com/watch?v=uor32 ● Cucumber-appium-saucelabs http://www.youtube.com/watch?v=zCXMu
  • 14. THANK YOU New Appium 1.0 Comming Today !!