iOS Developers Conference-iOS Automation with Cucumber, Appium and Saucelabs

download iOS Developers Conference-iOS Automation with Cucumber, Appium and Saucelabs

If you can't read please download the document

Transcript of iOS Developers Conference-iOS Automation with Cucumber, Appium and Saucelabs

iOS Automation with Cucumber Appium and Saucelabs

Shashikant JagtapTwitter:@Shashikant86

Blogs: http://shashikantjagtap.net

Topics

Appium Introduction

Installation & Setup

Setting up Mobile App for Appium

Appium Inspector

Setting Cucumber Project

Demo:Cucumber+Appium+Saucelabs

Appium

Open Source test automation Framework

Hybrid and Native Apps

Uses WebDriver JSON Protocol

How Appium Works?

Selenium Server for iOS

Handles WebDriver sessions

Logs every action on the Mobile App

Uses Apple Instruments for iOS

Use WebDriver Capabilitieshttps://code.google.com/p/selenium/wiki/DesiredCapabilities

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 AppDownload Appium Apphttp://appium.io/

Running Appium Server

Start Appium$ ./node_modules/.bin/appium

Authorize_iOS$./node_modules/.bin/authorize_ios

OR Start Appium with App

Appium 1.0

New Client Libraries for all languages

New WebDriver Desired Capabilities

Full XML and Xpath Support

New Locator Strategy

Brand New Appium OSX 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/storage/USERNAME/PlainNote.zip?overwrite=true" -H "Content-Type: application/octet-stream" --data-binary @/path/to//build/Release-iphonesimulator/APP.zip

Appium Inspector

Inspects Elements on the Mobile App

Controls user actions like tap, swipe, scroll, shake etc etc

Generate Test Script in WebDriver Supported Languages

Record and Playback

Appium Inspector

Inspect Elements on Mobile App

Record all actions on your App

Record actions like tap, swipe and shake and support major programming languages

Support Xpath

Cucumber

BDD Tool

Write Feature File

Create config file

Implement Step Definition

Make Scenarios Pass

Be Happy

Saucelabs

Cross Browser, Cross-Platform and Cross-Device Cloud Testing Frameworks

Supports Almost all available browsers, platforms and Device combinations

Free Account will give you USERNAME and API KEY https://saucelabs.com

Feature File

Selenium_Config

Sauce_Config

Step_definitions

LIVE DEMO

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-appiumhttp://tinyurl.com/pvap9ge

MY Demo blog Saucelabshttp://tinyurl.com/nr4onfe

Demo [Personal blog]http://tinyurl.com/pd2ksxx

THANK YOU

Have fun with New Appium 1.0 !!

Click to edit the title text format

Click to edit the title text format

Click to edit the title text format