SlideShare a Scribd company logo
1 of 55
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 1
20 January 2015
Ville-Veikko Helppi
Technical Product Manager
ville-veikko.helppi@bitbar.com
The Powerful and
Comprehensive API for Mobile
App Development and Testing
W E B I N A R
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 2
Agenda
• The Characteristics of Great API
• The Basics of Communication Mechanisms
• Three Categories for API Usage
– Authentication (security)
– Managing Projects
– Getting Results
• Hands-on Example (cURL)
• Additional resources
• Q&A
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 3
The Characteristics of Great
Application Programming
Interface
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 4
• The way to integrate (different) systems
• The way to expose/transport data easily,
automatically and instantly
• Modular, scalable and versatile API calls
• Great standards
– REST(ful) / JSON / OAuth etc.
• Security
– No manual hassling – all communications
through API
Why API?
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 5
• Easy to learn, easy to use, hard to misuse
• Easy to read, maintain, extend
• Appropriate for every user
– Some people can configure/create access,
some only need to use
• Provides all features than can be done
also manually
• Versatile API backs up test automation
approach and complements Agile process
Characteristics of Great API
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 6
APIs Are Not Only for Services!
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 7
The Manual Flow
Application
Results
Logs, outputs, data
Screenshots
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 8
Access Devices via API
Development environments and tools Real Mobile Devices (hundreds of)
Data;
Results, Screenshots & Logs
Automatic, instant
upload on devices
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 9
The Basics of
Communication Mechanisms
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 10
For example:
GET /oauth/token?client_id=testdroid-cloud-
api&grant_type=password&username=example@bitbar.co
m&password=P4s$w0rd&parameters=more
The Basics
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 11
GET: fetch an existing resource. The URL contains all the
necessary information the server needs to locate and
return the resource.
POST: create a new resource. POST requests usually carry
a payload that specifies the data for the new resource.
PUT: update an existing resource. The payload may
contain the updated data for the resource.
DELETE: delete an existing resource.
The Basics - Verbs
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 12
Requests and Responses
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 13
2xx: Successful
202 Accepted: the request was accepted but may not include the
resource in the response.
204 No Content: there is no message body in the response.
205 Reset Content: indicates to the client to reset its document view.
206 Partial Content: indicates that the response only contains partial
content.
3xx: Redirection
301 Moved Permanently: the resource is now located at a new URL.
303 See Other: the resource is temporarily located at a new URL. The
Location response header contains the temporary URL.
304 Not Modified: the server has determined that the resource has not
changed and the client should use its cached copy.
The Basics – Error Codes
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 14
4xx: Client Error
400 Bad Request: the request was malformed.
401 Unauthorized: request requires authentication. The client can repeat
the request with the Authorization header.
403 Forbidden: server has denied access to the resource.
405 Method Not Allowed: invalid HTTP verb used in the request line, or
the server does not support that verb.
409 Conflict: the server could not complete the request because the client
is trying to modify a resource that is newer than the client's timestamp.
5xx: Server Error
501 Not Implemented: the server does not yet support the requested
functionality.
503 Service Unavailable: this could happen if an internal system on the
server has failed or the server is overloaded.
The Basics – Error Codes
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 15
Access via Comprehensive API
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 16
• Authentication
• Project Management
– Create, Delete, Configure, Managing Users
• Configuring Access and Assets
– Configs, Upload/Download Files (App & Tests)
– Device Access & Device Group Configuration
• Running Tests
– Upload App + Tests <-> Download Results/Data
– Notifications, Sharing, Pre-processing of Data
Access via Comprehensive API
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 17
Authentication
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 18
Authentication
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 19
Authentication
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 20
SEND Header=Accept: application/json
client_id=testdroid_cloud_api
grant_type=password
username=email@address.com
password=XXXXXXXX
CURL:
curl -X POST -H "Accept: application/json" -d "client_id=testdroid-cloud-
api&grant_type=password&username=email@address.com&
password=XXXXXXXX" https://cloud.testdroid.com/oauth/token
Authentication
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 21
Projects and Managing Those
via API
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 22
Get List of Projects
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 23
Get List of Projects
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 24
Get List of Projects
SEND Header=Accept: application/json
Authorization: Bearer <ACCESS_TOKEN>
CURL:
curl -H “Accept: application/json” -H “Authorization: Bearer <ACCESS-
TOKEN>” https://cloud.testdroid.com/api/v2/me/projects
or
curl –H "Accept: application/json"
"https://cloud.testdroid.com/api/v2/me/projects?access_token=<ACCES
S-TOKEN>"
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 25
Create a Project
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 26
Create a Project
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 27
SEND Header=Accept: application/json
Authorization: Bearer <ACCESS_TOKEN>
name=name of new project
CURL:
curl -X POST -d "name=NewProject" -H "Authorization: Bearer
fac84a04-feb0-42ed-a810-6d859e43c123"
https://cloud.testdroid.com/api/v2/me/projects
or
curl -X POST -d "name=NewProject2”
“https://cloud.testdroid.com/api/v2/me/projects?access_token=<ACCES
S-TOKEN>"
Create a Project
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 28
Update a Project
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 29
Update a Project
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 30
CURL:
curl -X POST -d "projectId=75013784&name=NewName&description=
Something&common=false" -H "Authorization: Bearer 5f5c3ad0-1f70-4435-
ae4f-ec2a9d20a985"
https://cloud.testdroid.com/api/v2/me/projects/75013784
or
curl -X POST -d "projectId=75013784&name=NewName&description=
Something&common=false"
"https://cloud.testdroid.com/api/v2/me/projects/75013784?access_token=38
f57e00-a2f7-40d0-bdc2-e041b95ff43e"
Update a Project
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 31
Upload an App
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 32
Upload an App
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 33
CURL:
curl -F file=@"filename.apk"
"https://cloud.testdroid.com/api/v2/me/projects/<PROJECTNUMBER>/fi
les/application?access_token=<ACCESS-TOKEN>"
Upload an App
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 34
Start a New Test Run
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 35
Start a New Test Run
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 36
CURL:
curl -X POST -d “projectId=<PROJECTID>&name=<NAME OF NEW
TEST RUN>”
“https://cloud.testdroid.com/api/v2/me/projects/<PROJECTID>/runs?ac
cess_token=<ACCESS-TOKEN>"
Upload an App
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 37
Upload w/Python
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 38
Get Results from Testdroid
Cloud via API
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 39
Get Details of Test Run
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 40
Get Details of Test Run
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 41
CURL:
curl -H "Accept: application/json"
https://cloud.testdroid.com/api/v2/me/projects/<PROJECTID>/runs/<TE
STRUNID>/device-runs?access_token=<ACCESS-TOKEN>
Get Details of Test Run
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 42
Get Device Run Logs
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 43
Get Device Run Logs
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 44
CURL:
curl -H "Accept: application/json"
https://cloud.testdroid.com/api/v2/me/projects/<PROJECTID>/runs/<TE
STRUNID>/device-runs/<DEVICEID>/logs?access_token=<ACCESS-
TOKEN> > log.txt
Get Device Run Logs
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 45
Get Device Run Performance
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 46
Get Device Run Performance
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 47
CURL:
curl -H "Accept: application/json"
https://cloud.testdroid.com/api/v2/me/projects/<PROJECTID>/runs/<TE
STRUNID>/device-
runs/<DEVICEID>/performance?access_token=<ACCESS-TOKEN> >
log.txt
Get Device Run Performance
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 48
Get Screenshots
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 49
Get Screenshots
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 50
CURL:
(List of screenshots)
curl -H "Accept: application/json"
https://cloud.testdroid.com/api/v2/me/projects/<PROJECTID>/runs/<TE
STRUNID>/device-
runs/<DEVICEID>/screenshots?access_token=<ACCESS-TOKEN>
(Specific Screenshot)
curl -H "Accept: application/json"
https://cloud.testdroid.com/api/v2/me/projects/<PROJECTID>/runs/<TE
STRUNID>/device-
runs/<DEVICEID>/screenshots/<SCREENSHOTID>?access_token=<A
CCESS-TOKEN>
Get Screenshots
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 51
Hands-on - Let's cURL!
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 52
• Testdroid API for Python
– https://github.com/bitbar/testdroid-api-client-python
• Testdroid API for Ruby
– https://github.com/bitbar/testdroid-api-client-ruby
• Testdroid API for Java
– https://github.com/bitbar/testdroid-
api/tree/master/src/main/java/com/testdroid/api/sample
• Testdroid API description
– http://docs.testdroid.com/_pages/client.html
Additional Examples
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 53
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 54
Video recording & slides of this webinar will
be soon available at Vimeo and Slideshare!
Please visit at www.testdroid.com for more
information.
THANK YOU!
W E B I N A R
© Copyrights by Bitbar Technologies Ltd. 2015
All rights reserved. 55
We operate the largest global device
cloud with over 400 devices
instantly available for developers
Devices from the US, Europe, China, Japan and Korea
– global devices for global customers

More Related Content

What's hot

Exercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the EnterpriseExercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the EnterpriseBitbar
 
Fight back android fragmentation
Fight back android fragmentationFight back android fragmentation
Fight back android fragmentationBitbar
 
Testing Strategy for Progressive Web Apps
Testing Strategy for Progressive Web AppsTesting Strategy for Progressive Web Apps
Testing Strategy for Progressive Web AppsPerfecto by Perforce
 
Advanced Strategies for Testing Responsive Web
Advanced Strategies for Testing Responsive WebAdvanced Strategies for Testing Responsive Web
Advanced Strategies for Testing Responsive WebPerfecto by Perforce
 
Top 5 Automation Challenges Webinar
Top 5 Automation Challenges WebinarTop 5 Automation Challenges Webinar
Top 5 Automation Challenges WebinarPerfecto by Perforce
 
Continuous delivery mobile application development
Continuous delivery mobile application developmentContinuous delivery mobile application development
Continuous delivery mobile application developmentThoughtworks
 
10 Emerging Test Frameworks for Cross Browser Testing
10 Emerging Test Frameworks for Cross Browser Testing10 Emerging Test Frameworks for Cross Browser Testing
10 Emerging Test Frameworks for Cross Browser TestingPerfecto by Perforce
 
Real Devices or Emulators: Wen to use What for Automated Testing
Real Devices or Emulators: Wen to use What for Automated TestingReal Devices or Emulators: Wen to use What for Automated Testing
Real Devices or Emulators: Wen to use What for Automated TestingSauce Labs
 
Managing Continuous Delivery of Mobile Apps - for the Enterprise
Managing Continuous Delivery of Mobile Apps - for the EnterpriseManaging Continuous Delivery of Mobile Apps - for the Enterprise
Managing Continuous Delivery of Mobile Apps - for the EnterpriseSauce Labs
 
DevOps for Mobile: Delivering a 5-Star App Experience to Your Mobile Users
DevOps for Mobile: Delivering a 5-Star App Experience to Your Mobile UsersDevOps for Mobile: Delivering a 5-Star App Experience to Your Mobile Users
DevOps for Mobile: Delivering a 5-Star App Experience to Your Mobile UsersCA Technologies
 
Continuous Integration for Mobile App Testing
Continuous Integration for Mobile App TestingContinuous Integration for Mobile App Testing
Continuous Integration for Mobile App TestingInfostretch
 
Webinar: Appium & Perfecto: A Perfect Match
Webinar: Appium & Perfecto: A Perfect MatchWebinar: Appium & Perfecto: A Perfect Match
Webinar: Appium & Perfecto: A Perfect MatchLizzy Guido (she/her)
 
Appium & Selenium Alone vs Appium & Selenium with Perfecto
Appium & Selenium Alone vs Appium & Selenium with PerfectoAppium & Selenium Alone vs Appium & Selenium with Perfecto
Appium & Selenium Alone vs Appium & Selenium with PerfectoLizzy Guido (she/her)
 
Continuous Testing- A Key Ingredient for Success in Agile & DevOps
Continuous Testing- A Key Ingredient for Success in Agile & DevOpsContinuous Testing- A Key Ingredient for Success in Agile & DevOps
Continuous Testing- A Key Ingredient for Success in Agile & DevOpsSmartBear
 
Testing Your Android and iOS Apps with Appium in Testdroid Cloud
Testing Your Android and iOS Apps with Appium in Testdroid CloudTesting Your Android and iOS Apps with Appium in Testdroid Cloud
Testing Your Android and iOS Apps with Appium in Testdroid CloudBitbar
 
CI/CD for mobile at HERE
CI/CD for mobile at HERECI/CD for mobile at HERE
CI/CD for mobile at HEREStefan Verhoeff
 
Parallel testing with appium
Parallel testing with appiumParallel testing with appium
Parallel testing with appiummoizjv
 
What's New with Perfecto? - Mid-Year Edition
What's New with Perfecto? - Mid-Year EditionWhat's New with Perfecto? - Mid-Year Edition
What's New with Perfecto? - Mid-Year EditionLizzy Guido (she/her)
 

What's hot (20)

Exercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the EnterpriseExercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the Enterprise
 
Fight back android fragmentation
Fight back android fragmentationFight back android fragmentation
Fight back android fragmentation
 
Testing Strategy for Progressive Web Apps
Testing Strategy for Progressive Web AppsTesting Strategy for Progressive Web Apps
Testing Strategy for Progressive Web Apps
 
Advanced Strategies for Testing Responsive Web
Advanced Strategies for Testing Responsive WebAdvanced Strategies for Testing Responsive Web
Advanced Strategies for Testing Responsive Web
 
Top 5 Automation Challenges Webinar
Top 5 Automation Challenges WebinarTop 5 Automation Challenges Webinar
Top 5 Automation Challenges Webinar
 
Continuous delivery mobile application development
Continuous delivery mobile application developmentContinuous delivery mobile application development
Continuous delivery mobile application development
 
TechTalk: Get to Know Perfecto
TechTalk: Get to Know Perfecto TechTalk: Get to Know Perfecto
TechTalk: Get to Know Perfecto
 
10 Emerging Test Frameworks for Cross Browser Testing
10 Emerging Test Frameworks for Cross Browser Testing10 Emerging Test Frameworks for Cross Browser Testing
10 Emerging Test Frameworks for Cross Browser Testing
 
Real Devices or Emulators: Wen to use What for Automated Testing
Real Devices or Emulators: Wen to use What for Automated TestingReal Devices or Emulators: Wen to use What for Automated Testing
Real Devices or Emulators: Wen to use What for Automated Testing
 
Managing Continuous Delivery of Mobile Apps - for the Enterprise
Managing Continuous Delivery of Mobile Apps - for the EnterpriseManaging Continuous Delivery of Mobile Apps - for the Enterprise
Managing Continuous Delivery of Mobile Apps - for the Enterprise
 
DevOps for Mobile: Delivering a 5-Star App Experience to Your Mobile Users
DevOps for Mobile: Delivering a 5-Star App Experience to Your Mobile UsersDevOps for Mobile: Delivering a 5-Star App Experience to Your Mobile Users
DevOps for Mobile: Delivering a 5-Star App Experience to Your Mobile Users
 
Continuous Integration for Mobile App Testing
Continuous Integration for Mobile App TestingContinuous Integration for Mobile App Testing
Continuous Integration for Mobile App Testing
 
Webinar: Appium & Perfecto: A Perfect Match
Webinar: Appium & Perfecto: A Perfect MatchWebinar: Appium & Perfecto: A Perfect Match
Webinar: Appium & Perfecto: A Perfect Match
 
Appium vs. Appium with Perfecto
Appium vs. Appium with PerfectoAppium vs. Appium with Perfecto
Appium vs. Appium with Perfecto
 
Appium & Selenium Alone vs Appium & Selenium with Perfecto
Appium & Selenium Alone vs Appium & Selenium with PerfectoAppium & Selenium Alone vs Appium & Selenium with Perfecto
Appium & Selenium Alone vs Appium & Selenium with Perfecto
 
Continuous Testing- A Key Ingredient for Success in Agile & DevOps
Continuous Testing- A Key Ingredient for Success in Agile & DevOpsContinuous Testing- A Key Ingredient for Success in Agile & DevOps
Continuous Testing- A Key Ingredient for Success in Agile & DevOps
 
Testing Your Android and iOS Apps with Appium in Testdroid Cloud
Testing Your Android and iOS Apps with Appium in Testdroid CloudTesting Your Android and iOS Apps with Appium in Testdroid Cloud
Testing Your Android and iOS Apps with Appium in Testdroid Cloud
 
CI/CD for mobile at HERE
CI/CD for mobile at HERECI/CD for mobile at HERE
CI/CD for mobile at HERE
 
Parallel testing with appium
Parallel testing with appiumParallel testing with appium
Parallel testing with appium
 
What's New with Perfecto? - Mid-Year Edition
What's New with Perfecto? - Mid-Year EditionWhat's New with Perfecto? - Mid-Year Edition
What's New with Perfecto? - Mid-Year Edition
 

Similar to The Powerful and Comprehensive API for Mobile App Development and Testing

Getting Started with API Management – Why It's Needed On-prem and in the Cloud
Getting Started with API Management – Why It's Needed On-prem and in the CloudGetting Started with API Management – Why It's Needed On-prem and in the Cloud
Getting Started with API Management – Why It's Needed On-prem and in the CloudRevelation Technologies
 
APIs_ An Introduction.pptx
APIs_ An Introduction.pptxAPIs_ An Introduction.pptx
APIs_ An Introduction.pptxAkashThorat25
 
2016-Mar-03 Leppitsch in Auckland meetup
2016-Mar-03 Leppitsch in Auckland meetup2016-Mar-03 Leppitsch in Auckland meetup
2016-Mar-03 Leppitsch in Auckland meetupMichael Leppitsch
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsApigee | Google Cloud
 
TechTalk: Extend Existing Architectures to Digital Endpoints with CA API Mana...
TechTalk: Extend Existing Architectures to Digital Endpoints with CA API Mana...TechTalk: Extend Existing Architectures to Digital Endpoints with CA API Mana...
TechTalk: Extend Existing Architectures to Digital Endpoints with CA API Mana...CA Technologies
 
CIS14: SCIM: Why It’s More Important, and More Simple, Than You Think
CIS14: SCIM: Why It’s More Important, and More Simple, Than You ThinkCIS14: SCIM: Why It’s More Important, and More Simple, Than You Think
CIS14: SCIM: Why It’s More Important, and More Simple, Than You ThinkCloudIDSummit
 
10thMeetup-20190420-REST API Design Principles 되새기기
10thMeetup-20190420-REST API Design Principles 되새기기10thMeetup-20190420-REST API Design Principles 되새기기
10thMeetup-20190420-REST API Design Principles 되새기기DongHee Lee
 
SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014
SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014
SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014Kelly Grizzle
 
API, Integration, and SOA Convergence
API, Integration, and SOA ConvergenceAPI, Integration, and SOA Convergence
API, Integration, and SOA ConvergenceKasun Indrasiri
 
apidays LIVE Australia - Data with a Mission by Matt McLarty
apidays LIVE Australia -  Data with a Mission by Matt McLarty apidays LIVE Australia -  Data with a Mission by Matt McLarty
apidays LIVE Australia - Data with a Mission by Matt McLarty apidays
 
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...apidays
 
Securing Red Hat OpenShift Containerized Applications At Enterprise Scale
Securing Red Hat OpenShift Containerized Applications At Enterprise ScaleSecuring Red Hat OpenShift Containerized Applications At Enterprise Scale
Securing Red Hat OpenShift Containerized Applications At Enterprise ScaleDevOps.com
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack ArchitectureMirantis
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack ArchitectureMirantis
 
Marc van 't Veer - Testing The API Behind a Mobile App - EuroSTAR 2012
Marc van 't Veer - Testing The API Behind a Mobile App - EuroSTAR 2012Marc van 't Veer - Testing The API Behind a Mobile App - EuroSTAR 2012
Marc van 't Veer - Testing The API Behind a Mobile App - EuroSTAR 2012TEST Huddle
 
API Design Principles Essential 
API Design Principles Essential API Design Principles Essential 
API Design Principles Essential Oracle Korea
 
Perth Meetup August 2021
Perth Meetup August 2021Perth Meetup August 2021
Perth Meetup August 2021Michael Price
 
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...CA Technologies
 
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge WorkshopI Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge WorkshopApigee | Google Cloud
 

Similar to The Powerful and Comprehensive API for Mobile App Development and Testing (20)

Getting Started with API Management – Why It's Needed On-prem and in the Cloud
Getting Started with API Management – Why It's Needed On-prem and in the CloudGetting Started with API Management – Why It's Needed On-prem and in the Cloud
Getting Started with API Management – Why It's Needed On-prem and in the Cloud
 
APIs_ An Introduction.pptx
APIs_ An Introduction.pptxAPIs_ An Introduction.pptx
APIs_ An Introduction.pptx
 
2016-Mar-03 Leppitsch in Auckland meetup
2016-Mar-03 Leppitsch in Auckland meetup2016-Mar-03 Leppitsch in Auckland meetup
2016-Mar-03 Leppitsch in Auckland meetup
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIs
 
TechTalk: Extend Existing Architectures to Digital Endpoints with CA API Mana...
TechTalk: Extend Existing Architectures to Digital Endpoints with CA API Mana...TechTalk: Extend Existing Architectures to Digital Endpoints with CA API Mana...
TechTalk: Extend Existing Architectures to Digital Endpoints with CA API Mana...
 
CIS14: SCIM: Why It’s More Important, and More Simple, Than You Think
CIS14: SCIM: Why It’s More Important, and More Simple, Than You ThinkCIS14: SCIM: Why It’s More Important, and More Simple, Than You Think
CIS14: SCIM: Why It’s More Important, and More Simple, Than You Think
 
10thMeetup-20190420-REST API Design Principles 되새기기
10thMeetup-20190420-REST API Design Principles 되새기기10thMeetup-20190420-REST API Design Principles 되새기기
10thMeetup-20190420-REST API Design Principles 되새기기
 
SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014
SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014
SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014
 
API, Integration, and SOA Convergence
API, Integration, and SOA ConvergenceAPI, Integration, and SOA Convergence
API, Integration, and SOA Convergence
 
apidays LIVE Australia - Data with a Mission by Matt McLarty
apidays LIVE Australia -  Data with a Mission by Matt McLarty apidays LIVE Australia -  Data with a Mission by Matt McLarty
apidays LIVE Australia - Data with a Mission by Matt McLarty
 
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...
 
Securing Red Hat OpenShift Containerized Applications At Enterprise Scale
Securing Red Hat OpenShift Containerized Applications At Enterprise ScaleSecuring Red Hat OpenShift Containerized Applications At Enterprise Scale
Securing Red Hat OpenShift Containerized Applications At Enterprise Scale
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack Architecture
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack Architecture
 
Marc van 't Veer - Testing The API Behind a Mobile App - EuroSTAR 2012
Marc van 't Veer - Testing The API Behind a Mobile App - EuroSTAR 2012Marc van 't Veer - Testing The API Behind a Mobile App - EuroSTAR 2012
Marc van 't Veer - Testing The API Behind a Mobile App - EuroSTAR 2012
 
API Design Principles Essential 
API Design Principles Essential API Design Principles Essential 
API Design Principles Essential 
 
Cyberlands Sales Deck
Cyberlands Sales DeckCyberlands Sales Deck
Cyberlands Sales Deck
 
Perth Meetup August 2021
Perth Meetup August 2021Perth Meetup August 2021
Perth Meetup August 2021
 
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...
TechTalk: Accelerate Mobile Development using SDKs and Open APIs With CA API ...
 
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge WorkshopI Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
 

More from Bitbar

The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...Bitbar
 
Getting Started with XCTest and XCUITest for iOS App Testing
Getting Started with XCTest and XCUITest for iOS App TestingGetting Started with XCTest and XCUITest for iOS App Testing
Getting Started with XCTest and XCUITest for iOS App TestingBitbar
 
Best Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBest Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBitbar
 
Ensure Your Mobile Channels Generate Revenue on Holiday Peak Days
Ensure Your Mobile Channels Generate Revenue on Holiday Peak DaysEnsure Your Mobile Channels Generate Revenue on Holiday Peak Days
Ensure Your Mobile Channels Generate Revenue on Holiday Peak DaysBitbar
 
How to Reliably Measure and Optimize Graphics Performance of Your Android Games
How to Reliably Measure and Optimize Graphics Performance of Your Android GamesHow to Reliably Measure and Optimize Graphics Performance of Your Android Games
How to Reliably Measure and Optimize Graphics Performance of Your Android GamesBitbar
 
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on WebinarParallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on WebinarBitbar
 
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)Bitbar
 
Best Practices in Mobile Game Testing
Best Practices in Mobile Game TestingBest Practices in Mobile Game Testing
Best Practices in Mobile Game TestingBitbar
 
How to Leverage Appium in Your Mobile App Testing
How to Leverage Appium in Your Mobile App TestingHow to Leverage Appium in Your Mobile App Testing
How to Leverage Appium in Your Mobile App TestingBitbar
 
Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?Bitbar
 
Maximize the Benefits from Your Test Automation Investment
Maximize the Benefits from Your Test Automation InvestmentMaximize the Benefits from Your Test Automation Investment
Maximize the Benefits from Your Test Automation InvestmentBitbar
 
Android testing
Android testingAndroid testing
Android testingBitbar
 

More from Bitbar (12)

The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
 
Getting Started with XCTest and XCUITest for iOS App Testing
Getting Started with XCTest and XCUITest for iOS App TestingGetting Started with XCTest and XCUITest for iOS App Testing
Getting Started with XCTest and XCUITest for iOS App Testing
 
Best Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBest Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App Testing
 
Ensure Your Mobile Channels Generate Revenue on Holiday Peak Days
Ensure Your Mobile Channels Generate Revenue on Holiday Peak DaysEnsure Your Mobile Channels Generate Revenue on Holiday Peak Days
Ensure Your Mobile Channels Generate Revenue on Holiday Peak Days
 
How to Reliably Measure and Optimize Graphics Performance of Your Android Games
How to Reliably Measure and Optimize Graphics Performance of Your Android GamesHow to Reliably Measure and Optimize Graphics Performance of Your Android Games
How to Reliably Measure and Optimize Graphics Performance of Your Android Games
 
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on WebinarParallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
 
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
 
Best Practices in Mobile Game Testing
Best Practices in Mobile Game TestingBest Practices in Mobile Game Testing
Best Practices in Mobile Game Testing
 
How to Leverage Appium in Your Mobile App Testing
How to Leverage Appium in Your Mobile App TestingHow to Leverage Appium in Your Mobile App Testing
How to Leverage Appium in Your Mobile App Testing
 
Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?
 
Maximize the Benefits from Your Test Automation Investment
Maximize the Benefits from Your Test Automation InvestmentMaximize the Benefits from Your Test Automation Investment
Maximize the Benefits from Your Test Automation Investment
 
Android testing
Android testingAndroid testing
Android testing
 

Recently uploaded

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
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 AutomationSafe Software
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 

Recently uploaded (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 

The Powerful and Comprehensive API for Mobile App Development and Testing

  • 1. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 1 20 January 2015 Ville-Veikko Helppi Technical Product Manager ville-veikko.helppi@bitbar.com The Powerful and Comprehensive API for Mobile App Development and Testing W E B I N A R
  • 2. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 2 Agenda • The Characteristics of Great API • The Basics of Communication Mechanisms • Three Categories for API Usage – Authentication (security) – Managing Projects – Getting Results • Hands-on Example (cURL) • Additional resources • Q&A
  • 3. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 3 The Characteristics of Great Application Programming Interface
  • 4. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 4 • The way to integrate (different) systems • The way to expose/transport data easily, automatically and instantly • Modular, scalable and versatile API calls • Great standards – REST(ful) / JSON / OAuth etc. • Security – No manual hassling – all communications through API Why API?
  • 5. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 5 • Easy to learn, easy to use, hard to misuse • Easy to read, maintain, extend • Appropriate for every user – Some people can configure/create access, some only need to use • Provides all features than can be done also manually • Versatile API backs up test automation approach and complements Agile process Characteristics of Great API
  • 6. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 6 APIs Are Not Only for Services!
  • 7. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 7 The Manual Flow Application Results Logs, outputs, data Screenshots
  • 8. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 8 Access Devices via API Development environments and tools Real Mobile Devices (hundreds of) Data; Results, Screenshots & Logs Automatic, instant upload on devices
  • 9. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 9 The Basics of Communication Mechanisms
  • 10. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 10 For example: GET /oauth/token?client_id=testdroid-cloud- api&grant_type=password&username=example@bitbar.co m&password=P4s$w0rd&parameters=more The Basics
  • 11. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 11 GET: fetch an existing resource. The URL contains all the necessary information the server needs to locate and return the resource. POST: create a new resource. POST requests usually carry a payload that specifies the data for the new resource. PUT: update an existing resource. The payload may contain the updated data for the resource. DELETE: delete an existing resource. The Basics - Verbs
  • 12. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 12 Requests and Responses
  • 13. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 13 2xx: Successful 202 Accepted: the request was accepted but may not include the resource in the response. 204 No Content: there is no message body in the response. 205 Reset Content: indicates to the client to reset its document view. 206 Partial Content: indicates that the response only contains partial content. 3xx: Redirection 301 Moved Permanently: the resource is now located at a new URL. 303 See Other: the resource is temporarily located at a new URL. The Location response header contains the temporary URL. 304 Not Modified: the server has determined that the resource has not changed and the client should use its cached copy. The Basics – Error Codes
  • 14. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 14 4xx: Client Error 400 Bad Request: the request was malformed. 401 Unauthorized: request requires authentication. The client can repeat the request with the Authorization header. 403 Forbidden: server has denied access to the resource. 405 Method Not Allowed: invalid HTTP verb used in the request line, or the server does not support that verb. 409 Conflict: the server could not complete the request because the client is trying to modify a resource that is newer than the client's timestamp. 5xx: Server Error 501 Not Implemented: the server does not yet support the requested functionality. 503 Service Unavailable: this could happen if an internal system on the server has failed or the server is overloaded. The Basics – Error Codes
  • 15. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 15 Access via Comprehensive API
  • 16. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 16 • Authentication • Project Management – Create, Delete, Configure, Managing Users • Configuring Access and Assets – Configs, Upload/Download Files (App & Tests) – Device Access & Device Group Configuration • Running Tests – Upload App + Tests <-> Download Results/Data – Notifications, Sharing, Pre-processing of Data Access via Comprehensive API
  • 17. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 17 Authentication
  • 18. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 18 Authentication
  • 19. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 19 Authentication
  • 20. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 20 SEND Header=Accept: application/json client_id=testdroid_cloud_api grant_type=password username=email@address.com password=XXXXXXXX CURL: curl -X POST -H "Accept: application/json" -d "client_id=testdroid-cloud- api&grant_type=password&username=email@address.com& password=XXXXXXXX" https://cloud.testdroid.com/oauth/token Authentication
  • 21. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 21 Projects and Managing Those via API
  • 22. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 22 Get List of Projects
  • 23. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 23 Get List of Projects
  • 24. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 24 Get List of Projects SEND Header=Accept: application/json Authorization: Bearer <ACCESS_TOKEN> CURL: curl -H “Accept: application/json” -H “Authorization: Bearer <ACCESS- TOKEN>” https://cloud.testdroid.com/api/v2/me/projects or curl –H "Accept: application/json" "https://cloud.testdroid.com/api/v2/me/projects?access_token=<ACCES S-TOKEN>"
  • 25. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 25 Create a Project
  • 26. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 26 Create a Project
  • 27. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 27 SEND Header=Accept: application/json Authorization: Bearer <ACCESS_TOKEN> name=name of new project CURL: curl -X POST -d "name=NewProject" -H "Authorization: Bearer fac84a04-feb0-42ed-a810-6d859e43c123" https://cloud.testdroid.com/api/v2/me/projects or curl -X POST -d "name=NewProject2” “https://cloud.testdroid.com/api/v2/me/projects?access_token=<ACCES S-TOKEN>" Create a Project
  • 28. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 28 Update a Project
  • 29. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 29 Update a Project
  • 30. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 30 CURL: curl -X POST -d "projectId=75013784&name=NewName&description= Something&common=false" -H "Authorization: Bearer 5f5c3ad0-1f70-4435- ae4f-ec2a9d20a985" https://cloud.testdroid.com/api/v2/me/projects/75013784 or curl -X POST -d "projectId=75013784&name=NewName&description= Something&common=false" "https://cloud.testdroid.com/api/v2/me/projects/75013784?access_token=38 f57e00-a2f7-40d0-bdc2-e041b95ff43e" Update a Project
  • 31. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 31 Upload an App
  • 32. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 32 Upload an App
  • 33. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 33 CURL: curl -F file=@"filename.apk" "https://cloud.testdroid.com/api/v2/me/projects/<PROJECTNUMBER>/fi les/application?access_token=<ACCESS-TOKEN>" Upload an App
  • 34. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 34 Start a New Test Run
  • 35. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 35 Start a New Test Run
  • 36. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 36 CURL: curl -X POST -d “projectId=<PROJECTID>&name=<NAME OF NEW TEST RUN>” “https://cloud.testdroid.com/api/v2/me/projects/<PROJECTID>/runs?ac cess_token=<ACCESS-TOKEN>" Upload an App
  • 37. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 37 Upload w/Python
  • 38. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 38 Get Results from Testdroid Cloud via API
  • 39. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 39 Get Details of Test Run
  • 40. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 40 Get Details of Test Run
  • 41. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 41 CURL: curl -H "Accept: application/json" https://cloud.testdroid.com/api/v2/me/projects/<PROJECTID>/runs/<TE STRUNID>/device-runs?access_token=<ACCESS-TOKEN> Get Details of Test Run
  • 42. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 42 Get Device Run Logs
  • 43. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 43 Get Device Run Logs
  • 44. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 44 CURL: curl -H "Accept: application/json" https://cloud.testdroid.com/api/v2/me/projects/<PROJECTID>/runs/<TE STRUNID>/device-runs/<DEVICEID>/logs?access_token=<ACCESS- TOKEN> > log.txt Get Device Run Logs
  • 45. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 45 Get Device Run Performance
  • 46. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 46 Get Device Run Performance
  • 47. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 47 CURL: curl -H "Accept: application/json" https://cloud.testdroid.com/api/v2/me/projects/<PROJECTID>/runs/<TE STRUNID>/device- runs/<DEVICEID>/performance?access_token=<ACCESS-TOKEN> > log.txt Get Device Run Performance
  • 48. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 48 Get Screenshots
  • 49. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 49 Get Screenshots
  • 50. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 50 CURL: (List of screenshots) curl -H "Accept: application/json" https://cloud.testdroid.com/api/v2/me/projects/<PROJECTID>/runs/<TE STRUNID>/device- runs/<DEVICEID>/screenshots?access_token=<ACCESS-TOKEN> (Specific Screenshot) curl -H "Accept: application/json" https://cloud.testdroid.com/api/v2/me/projects/<PROJECTID>/runs/<TE STRUNID>/device- runs/<DEVICEID>/screenshots/<SCREENSHOTID>?access_token=<A CCESS-TOKEN> Get Screenshots
  • 51. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 51 Hands-on - Let's cURL!
  • 52. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 52 • Testdroid API for Python – https://github.com/bitbar/testdroid-api-client-python • Testdroid API for Ruby – https://github.com/bitbar/testdroid-api-client-ruby • Testdroid API for Java – https://github.com/bitbar/testdroid- api/tree/master/src/main/java/com/testdroid/api/sample • Testdroid API description – http://docs.testdroid.com/_pages/client.html Additional Examples
  • 53. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 53
  • 54. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 54 Video recording & slides of this webinar will be soon available at Vimeo and Slideshare! Please visit at www.testdroid.com for more information. THANK YOU! W E B I N A R
  • 55. © Copyrights by Bitbar Technologies Ltd. 2015 All rights reserved. 55 We operate the largest global device cloud with over 400 devices instantly available for developers Devices from the US, Europe, China, Japan and Korea – global devices for global customers