SlideShare a Scribd company logo
iOS automation with appium
Page 1 October 15, 2015
Document Revision History:
Version Date Revised By Comments
1 27/11/14 Amit Dewan Initial Version
2 29/01/15 Amit Dewan Remake version
Page 2 October 15, 2015
Contents
• Appium working on iOS
• Requirements
• Install Appium Server
• Install ios Webkit Debug Proxy
• SafariLauncher app
• Ios Device
• Xcode and Command Line Utilities
• Eclipse IDE
• Java ANT Project
• Package Structure
• Steps to run the framework
• Running the project from Jenkins
Appium working on iOS
Appium is an open source test automation tool developed and supported by Sauce Labs to automate native
Page 3 October 15, 2015
and hybrid mobile apps. It uses JSON wire protocol internally to interact with iOS web and native apps
using the Selenium WebDriver Appium server is written in Node.js and talks to iOS using UIAutomation
via Instruments
Workflow Diagram
Requirements
(1) Mac m/c (details: OSX10.7.5, JDK:1.7)
(2) appium-0.12.3.dmg
(3) ios-webkit-debug-proxy-master.zip
(4) Eclipse IDE
(5) selenium-server-standalone-2.35.0.jar
(6) TestNG
(7) ANT
(8) Jenkins with Tomcat server.
(9) SafariLauncher app on m/c
(10) Any ios device (provisioned with SafariLauncher app)
(11) Xcode and Command Line Utilities
Install Appium Server
Install Appium server from appium-0.12.3.dmg on mac machine.
Configurations on Appium server:
Set IP Address, port, Safari Launcher App path and UDID of the device.
See the following figure and set all the configurations exactly as shown.
Replace the app path with the SafariLauncher path placed in your computer and replace the UDID of the
Page 4 October 15, 2015
device with UDID of your device.
Appium Configuration
In Appium Preferences, uncheck Prelaunch Application
Install ios Webkit Debug Proxy
Extrract ios-webkit-debug-proxy-master.zip in any suitable location.
Folder with name “ios-webkit-debug-proxy” will be created with src directory in it.
SafariLauncher app
This app is used to launch safari browser on ios device with 30 seconds delay.
App needs to be installed on the device to be tested.
App's app file path also needs to be given to appium server.
Ios Device
iOS device which needs to be tested should be provisoned from Apple's portal.
With SafariLauncher app installed on the device, it is ready to be tested for Appium automation tests.
Xcode and Command Line Utilities
Xcode, Instruments and other utilities should be installed on the machine.
Command Line Utilities of xcode should be turned on.
Eclipse IDE
• Create Java ANT project on JDK 1.7
• Create subversion repository.
ANT Project
• Create ANT project with build.xml
• In build.xml, set dependencies for TestNG, selenium-server and java-tools.
Page 5 October 15, 2015
• In build.xml set target for running java main class
• Create “suite” folder to place all TestNG suites.
• Create “TestResults” folder to store all results.
• Create “config” folder to place framework properties file “config.properties”
Folder Structure in eclipse
Package Structure
➔ test package: starts with qas and ends with test
This package contains all the TestNG test scripts.
➔ controls package:starts with qas.webdriver and ends with controls
This package includes all controls available on device screen like TextField, button etc.
➔ driver package: starts with qas.webdriver and ends with driver
This package contains driver and utilities class needed to run whole framework.
➔ executor package:starts with qas.webdriver and ends with executor
This package has java main class which drives the whole framework.
➔ pages package: starts with qas.webdriver and ends with pages
This package has various pages corresponding to screens in the mobile app.
➔ testdata package: starts with qas.webdriver and ends with testdata
This package has separate properties files with testdata for each TestNG class.
Steps to run the framework
➔ Start webkit-proxy by issung command:
Page 6 October 15, 2015
ios_webkit_debug_proxy -c <UDID>:27753 -d
Replace UDID with your device UDID
22753 is the port where webkit-proxy will start.
For example command becomes
==>ios_webkit_debug_proxy -c 19d175af0d583250570695b1949e1bdc7241505c:27753 -d
➔ Start appium server by hitting Launch button.
Note that “Prelaunch Application” in Appium Preferences should be unchecked.
➔ Run and build the appium Project by right clicking ANT build.xml in eclipse and selecting “RunAs”
option as ANT build.
Running the project from Jenkins
➔ Start Jenkins.
➔ Create free style job.
➔ Set up SVN configuration and provide the path of maven project.
➔ Add “Execute Shell” build step.
➔ In build step add ANT and set target as “main”
➔ Set email recipients and subject.
➔ Save the configuration.
➔ Build the project.
Page 7 October 15, 2015

More Related Content

PDF
Fastlane - Automation and Continuous Delivery for iOS Apps
Sarath C
 
PPTX
Genymotion with Jenkins
Vishal Nayak
 
PDF
Vietnam qa meetup
Syam Sasi
 
PDF
Setup Build & Deploy with Jenkins CI
walming
 
PPTX
Continuous Integration of Mobile Apps with Docker and Appium
Emergya
 
PPTX
Service Configuration Management for Rapid Growth - demo 10 steps to build pi...
Takashi Someda
 
PDF
Deploy your app with one Slack command
Fabio Milano
 
PDF
Continous UI testing with Espresso and Jenkins
Sylwester Madej
 
Fastlane - Automation and Continuous Delivery for iOS Apps
Sarath C
 
Genymotion with Jenkins
Vishal Nayak
 
Vietnam qa meetup
Syam Sasi
 
Setup Build & Deploy with Jenkins CI
walming
 
Continuous Integration of Mobile Apps with Docker and Appium
Emergya
 
Service Configuration Management for Rapid Growth - demo 10 steps to build pi...
Takashi Someda
 
Deploy your app with one Slack command
Fabio Milano
 
Continous UI testing with Espresso and Jenkins
Sylwester Madej
 

What's hot (20)

PDF
Welcome to Jenkins
Somkiat Puisungnoen
 
PDF
Appium: Mobile Automation Made Awesome
Netcetera
 
PPTX
Spring boot
jacob benny john
 
PDF
Introduction To Appium With Robotframework
Syam Sasi
 
PDF
How to Install and Configure Jenkins on Centos 7
AniketGoyal14
 
PPTX
Building the Test Automation Framework - Jenkins for Testers
William Echlin
 
PPT
Continuous Integration (Jenkins/Hudson)
Dennys Hsieh
 
PDF
Android + jenkins
Fred Lin
 
PDF
No more waiting for API - Android Stub Server
Sylwester Madej
 
PPTX
Spring boot
Pradeep Shanmugam
 
PPTX
What is Spring Boot and Why Spring Boot ?
narendrachinnu
 
KEY
Continuous Delivery Using Jenkins
Cliffano Subagio
 
PDF
Automated-Testing-inside-containers
Manoj Kumar Kumar
 
PDF
Automation Testing
RomSoft SRL
 
PDF
Connecting Connect with Spring Boot
Vincent Kok
 
PPTX
Spring boot
Shatrughna Singh
 
PDF
"I have a framework idea" - Repeat less, share more.
Fabio Milano
 
PPTX
Presentation_Protractor
Umesh Randhe
 
PDF
Building a Spring Boot Application - Ask the Audience! (from JVMCon 2018)
🎤 Hanno Embregts 🎸
 
PDF
Selenium, Appium, and Robots!
hugs
 
Welcome to Jenkins
Somkiat Puisungnoen
 
Appium: Mobile Automation Made Awesome
Netcetera
 
Spring boot
jacob benny john
 
Introduction To Appium With Robotframework
Syam Sasi
 
How to Install and Configure Jenkins on Centos 7
AniketGoyal14
 
Building the Test Automation Framework - Jenkins for Testers
William Echlin
 
Continuous Integration (Jenkins/Hudson)
Dennys Hsieh
 
Android + jenkins
Fred Lin
 
No more waiting for API - Android Stub Server
Sylwester Madej
 
Spring boot
Pradeep Shanmugam
 
What is Spring Boot and Why Spring Boot ?
narendrachinnu
 
Continuous Delivery Using Jenkins
Cliffano Subagio
 
Automated-Testing-inside-containers
Manoj Kumar Kumar
 
Automation Testing
RomSoft SRL
 
Connecting Connect with Spring Boot
Vincent Kok
 
Spring boot
Shatrughna Singh
 
"I have a framework idea" - Repeat less, share more.
Fabio Milano
 
Presentation_Protractor
Umesh Randhe
 
Building a Spring Boot Application - Ask the Audience! (from JVMCon 2018)
🎤 Hanno Embregts 🎸
 
Selenium, Appium, and Robots!
hugs
 
Ad

Viewers also liked (16)

PPT
Данные в образовательной политике
Елена Петряева
 
PDF
Demure Manner - Marie Claire Indonesia April 2015 Fashion Spread
Anung Kamaswara
 
PDF
DSPGeo Institucional Presentation
Dspgeo
 
PPTX
Presentación1
Michelle Perez
 
PPT
Ecosystems vocabulary
embaltz1
 
DOCX
It contract pitch
Luke Smith
 
PPT
трек №4.данные в ос занятии
Елена Петряева
 
PDF
'Audience research' survey results | polldaddy.com
FCJacobWilding
 
PDF
Effects of Quantum Dots on Zebrafish Development
Julia MacDougall
 
DOCX
Erik Rosas_LinkedIn_Resume
Erik Rosas
 
PDF
Soal un-matematika-ips-2013-kode-mtk ips-sa_63
Firdika Arini
 
PPT
Data 26.09.2015
Елена Петряева
 
PPTX
fondazioni di comunità
Monica De Paoli
 
PPTX
Convergence of Compliance & Technology: How Technology Has Changed Regulatory...
MasterControl
 
PPTX
Special effects vocabulary
sathornton
 
PPT
Special effects
simarjeet
 
Данные в образовательной политике
Елена Петряева
 
Demure Manner - Marie Claire Indonesia April 2015 Fashion Spread
Anung Kamaswara
 
DSPGeo Institucional Presentation
Dspgeo
 
Presentación1
Michelle Perez
 
Ecosystems vocabulary
embaltz1
 
It contract pitch
Luke Smith
 
трек №4.данные в ос занятии
Елена Петряева
 
'Audience research' survey results | polldaddy.com
FCJacobWilding
 
Effects of Quantum Dots on Zebrafish Development
Julia MacDougall
 
Erik Rosas_LinkedIn_Resume
Erik Rosas
 
Soal un-matematika-ips-2013-kode-mtk ips-sa_63
Firdika Arini
 
fondazioni di comunità
Monica De Paoli
 
Convergence of Compliance & Technology: How Technology Has Changed Regulatory...
MasterControl
 
Special effects vocabulary
sathornton
 
Special effects
simarjeet
 
Ad

Similar to ApppiumDoc_version2015 (20)

PPTX
Automation testing on ios platform using appium
Ambreen Khan
 
PPTX
Appium Meetup #2 - Mobile Web Automation Introduction
snevesbarros
 
PDF
Appium understanding document
Akshay Pillay
 
PPT
Using Selenium to Test Native Apps (Wait, you can do that?)
Sauce Labs
 
PPT
Android & iOS Automation Using Appium
Mindfire Solutions
 
PPTX
Appium solution artizone
Nael Abd Eljawad
 
PPTX
Appium on mac platform
Muhammad Zbeedat
 
PDF
Native iphone app test automation with appium
James Eisenhauer
 
PPTX
Appium Presentation
OmarUsman6
 
PPTX
appiumpresent-211128171811.pptx projet de presentation
EnochBidima3
 
PPTX
Appium
Janu Jahnavi
 
PPT
The Future of Selenium Testing for Mobile Web and Native Apps
Sauce Labs
 
PDF
[Open southcode] ios testing with appium
Estefanía Fernández Muñoz
 
PPTX
Appium testing api
b4usolution .
 
PDF
Appium
Janu Jahnavi
 
PDF
Appium
Janu Jahnavi
 
PPTX
Appium.pptx
SameerAlam82
 
PDF
Getting started with appium
Pratik Patel
 
PPTX
Advanced Appium
Dan Cuellar
 
PDF
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
Srijan Technologies
 
Automation testing on ios platform using appium
Ambreen Khan
 
Appium Meetup #2 - Mobile Web Automation Introduction
snevesbarros
 
Appium understanding document
Akshay Pillay
 
Using Selenium to Test Native Apps (Wait, you can do that?)
Sauce Labs
 
Android & iOS Automation Using Appium
Mindfire Solutions
 
Appium solution artizone
Nael Abd Eljawad
 
Appium on mac platform
Muhammad Zbeedat
 
Native iphone app test automation with appium
James Eisenhauer
 
Appium Presentation
OmarUsman6
 
appiumpresent-211128171811.pptx projet de presentation
EnochBidima3
 
Appium
Janu Jahnavi
 
The Future of Selenium Testing for Mobile Web and Native Apps
Sauce Labs
 
[Open southcode] ios testing with appium
Estefanía Fernández Muñoz
 
Appium testing api
b4usolution .
 
Appium
Janu Jahnavi
 
Appium
Janu Jahnavi
 
Appium.pptx
SameerAlam82
 
Getting started with appium
Pratik Patel
 
Advanced Appium
Dan Cuellar
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
Srijan Technologies
 

ApppiumDoc_version2015

  • 1. iOS automation with appium Page 1 October 15, 2015
  • 2. Document Revision History: Version Date Revised By Comments 1 27/11/14 Amit Dewan Initial Version 2 29/01/15 Amit Dewan Remake version Page 2 October 15, 2015
  • 3. Contents • Appium working on iOS • Requirements • Install Appium Server • Install ios Webkit Debug Proxy • SafariLauncher app • Ios Device • Xcode and Command Line Utilities • Eclipse IDE • Java ANT Project • Package Structure • Steps to run the framework • Running the project from Jenkins Appium working on iOS Appium is an open source test automation tool developed and supported by Sauce Labs to automate native Page 3 October 15, 2015
  • 4. and hybrid mobile apps. It uses JSON wire protocol internally to interact with iOS web and native apps using the Selenium WebDriver Appium server is written in Node.js and talks to iOS using UIAutomation via Instruments Workflow Diagram Requirements (1) Mac m/c (details: OSX10.7.5, JDK:1.7) (2) appium-0.12.3.dmg (3) ios-webkit-debug-proxy-master.zip (4) Eclipse IDE (5) selenium-server-standalone-2.35.0.jar (6) TestNG (7) ANT (8) Jenkins with Tomcat server. (9) SafariLauncher app on m/c (10) Any ios device (provisioned with SafariLauncher app) (11) Xcode and Command Line Utilities Install Appium Server Install Appium server from appium-0.12.3.dmg on mac machine. Configurations on Appium server: Set IP Address, port, Safari Launcher App path and UDID of the device. See the following figure and set all the configurations exactly as shown. Replace the app path with the SafariLauncher path placed in your computer and replace the UDID of the Page 4 October 15, 2015
  • 5. device with UDID of your device. Appium Configuration In Appium Preferences, uncheck Prelaunch Application Install ios Webkit Debug Proxy Extrract ios-webkit-debug-proxy-master.zip in any suitable location. Folder with name “ios-webkit-debug-proxy” will be created with src directory in it. SafariLauncher app This app is used to launch safari browser on ios device with 30 seconds delay. App needs to be installed on the device to be tested. App's app file path also needs to be given to appium server. Ios Device iOS device which needs to be tested should be provisoned from Apple's portal. With SafariLauncher app installed on the device, it is ready to be tested for Appium automation tests. Xcode and Command Line Utilities Xcode, Instruments and other utilities should be installed on the machine. Command Line Utilities of xcode should be turned on. Eclipse IDE • Create Java ANT project on JDK 1.7 • Create subversion repository. ANT Project • Create ANT project with build.xml • In build.xml, set dependencies for TestNG, selenium-server and java-tools. Page 5 October 15, 2015
  • 6. • In build.xml set target for running java main class • Create “suite” folder to place all TestNG suites. • Create “TestResults” folder to store all results. • Create “config” folder to place framework properties file “config.properties” Folder Structure in eclipse Package Structure ➔ test package: starts with qas and ends with test This package contains all the TestNG test scripts. ➔ controls package:starts with qas.webdriver and ends with controls This package includes all controls available on device screen like TextField, button etc. ➔ driver package: starts with qas.webdriver and ends with driver This package contains driver and utilities class needed to run whole framework. ➔ executor package:starts with qas.webdriver and ends with executor This package has java main class which drives the whole framework. ➔ pages package: starts with qas.webdriver and ends with pages This package has various pages corresponding to screens in the mobile app. ➔ testdata package: starts with qas.webdriver and ends with testdata This package has separate properties files with testdata for each TestNG class. Steps to run the framework ➔ Start webkit-proxy by issung command: Page 6 October 15, 2015
  • 7. ios_webkit_debug_proxy -c <UDID>:27753 -d Replace UDID with your device UDID 22753 is the port where webkit-proxy will start. For example command becomes ==>ios_webkit_debug_proxy -c 19d175af0d583250570695b1949e1bdc7241505c:27753 -d ➔ Start appium server by hitting Launch button. Note that “Prelaunch Application” in Appium Preferences should be unchecked. ➔ Run and build the appium Project by right clicking ANT build.xml in eclipse and selecting “RunAs” option as ANT build. Running the project from Jenkins ➔ Start Jenkins. ➔ Create free style job. ➔ Set up SVN configuration and provide the path of maven project. ➔ Add “Execute Shell” build step. ➔ In build step add ANT and set target as “main” ➔ Set email recipients and subject. ➔ Save the configuration. ➔ Build the project. Page 7 October 15, 2015