SlideShare a Scribd company logo
API Automation Testing
Using Retrofit & Cucumber
June 2, 2018
Axon Active Vietnam - https://www.axonactive.com
Axon Active Da Nang - Axon Vibe Automation Team
June 2, 2018 Basel Department - Automation Team 2
Axon Vibe Automation Team
Agenda
• Context – How the Future of Test Automation Affects You
• Techniques – Introduce Cucumber & Retrofit 2
• Demo – Project Demo and Mini Demo
• Practices – Assignment for Audience
• Q&A
June 2, 2018 Basel Department - Automation Team 3
Context
June 2, 2018 Basel Department - Automation Team 4
Context
June 2, 2018 Basel Department - Automation Team 5
Context
June 2, 2018 Basel Department - Automation Team 6
Cucumber
What is Behaviors Driven Development?
June 2, 2018 Basel Department - Automation Team 7
Cucumber
Examples
Scenario: get all articles
When requesting get all articles
Then the request get all articles successfully
Scenario: create an article
When requesting create an article
Then the request creating an article successfully
June 2, 2018 Basel Department - Automation Team 8
Cucumber
What are the benefits?
• It is helpful to involve business
stakeholders who can't easily read
code
• Cucumber focuses on end-user
experience
• Style of writing tests allow for
easier reuse of code in the tests
• Quick and easy set up and
execution
• Efficient tool for testing
June 2, 2018 Basel Department - Automation Team 9
Retrofit 2
What is Retrofit?
• Retrofit is a type-safe HTTP client for Android
and Java
• Developed by Square, Inc.
June 2, 2018 Basel Department - Automation Team 10
How to use Retrofit
June 2, 2018 Basel Department - Automation Team 11
How to use Retrofit
June 2, 2018 Basel Department - Automation Team 12
How to use Retrofit
June 2, 2018 Basel Department - Automation Team 13
How to use Retrofit
June 2, 2018 Basel Department - Automation Team 14
• Interface to declare HTTP request
• Object to map with returned JSON data
• Retrofit builder
How to use Retrofit
June 2, 2018 Basel Department - Automation Team 15
Interface
How to use Retrofit
Interface
June 2, 2018 Basel Department - Automation Team 16
How to use Retrofit
June 2, 2018 Basel Department - Automation Team 17
• Interface to declare HTTP request
• Object to map with returned JSON data
• Retrofit builder
How to use Retrofit
June 2, 2018 Basel Department - Automation Team 18
How to use Retrofit
Object
June 2, 2018 Basel Department - Automation Team 19
How to use Retrofit
June 2, 2018 Basel Department - Automation Team 20
• Interface to declare HTTP request
• Object to map with returned JSON data
• Retrofit builder
How to use Retrofit
Adapter
June 2, 2018 Basel Department - Automation Team 21
How to use Retrofit
Interface
June 2, 2018 Basel Department - Automation Team 22
How to use Retrofit
Instantiate an implement of interface class
June 2, 2018 Basel Department - Automation Team 23
How to use Retrofit
Send request to API
June 2, 2018 Basel Department - Automation Team 24
Mini - Demo
Structure of
Framework:
June 2, 2018 Basel Department - Automation Team 25
Mini - Demo
Configure url in local.properties file to build baseURL
June 2, 2018 Basel Department - Automation Team 26
Mini - Demo
Workflow of
Framework:
June 2, 2018 Basel Department - Automation Team 27
Practices
URL - http://dummy.restapiexample.com
June 2, 2018 Basel Department - Automation Team 28
Practices
Feature: Employee
As a user, I want to update and delete information for
employee
Scenario: Update Employee - PUT: v1/update/{id}
Scenario: Delete Employee - DELETE: v1/delete/{id}
June 2, 2018 Basel Department - Automation Team 29
Assignment
Practices
Gitlab to get codebase:
https://gitlab.com/ttthu.dsna/api-automation-retrofit
June 2, 2018 Basel Department - Automation Team 30
Practices
Push your code on Jenkins to build
June 2, 2018 Basel Department - Automation Team 31
June 2, 2018 Basel Department - Automation Team 32
June 2, 2018 Basel Department - Automation Team 33

More Related Content

What's hot

2018-10-23 7 C - Using Graph API to read outlook mail for accounting - Hansam...
2018-10-23 7 C - Using Graph API to read outlook mail for accounting - Hansam...2018-10-23 7 C - Using Graph API to read outlook mail for accounting - Hansam...
2018-10-23 7 C - Using Graph API to read outlook mail for accounting - Hansam...
aOS Community
 
Microsoft Graph – Subscription API
Microsoft Graph – Subscription APIMicrosoft Graph – Subscription API
Microsoft Graph – Subscription API
Hansamali Gamage
 
What's New in the Javascript API - Developers Forum - AC18
What's New in the Javascript API - Developers Forum - AC18What's New in the Javascript API - Developers Forum - AC18
What's New in the Javascript API - Developers Forum - AC18
Esri UK
 
All About Angular and ArcGIS - Developers Forum - AC18
All About Angular and ArcGIS - Developers Forum - AC18All About Angular and ArcGIS - Developers Forum - AC18
All About Angular and ArcGIS - Developers Forum - AC18
Esri UK
 
.NET Fest 2019. Roberto Freato. Azure App Service deep dive
.NET Fest 2019. Roberto Freato. Azure App Service deep dive.NET Fest 2019. Roberto Freato. Azure App Service deep dive
.NET Fest 2019. Roberto Freato. Azure App Service deep dive
NETFest
 
Sprint 37 review
Sprint 37 reviewSprint 37 review
Sprint 37 review
ManageIQ
 
Apiary
ApiaryApiary
Apiary
Suresh B
 
Airflow 4 manager
Airflow 4 managerAirflow 4 manager
Airflow 4 manager
Worapol Alex Pongpech, PhD
 
Esriuk_track5_discover_usemakeshare
Esriuk_track5_discover_usemakeshareEsriuk_track5_discover_usemakeshare
Esriuk_track5_discover_usemakeshare
Esri UK
 
Rack middlewares - ins outs
Rack middlewares - ins outsRack middlewares - ins outs
Rack middlewares - ins outs
Ahmed Shahin
 
Sprint 84
Sprint 84Sprint 84
Sprint 84
ManageIQ
 
LF_APIStrat17_Getting Your API House In Order
LF_APIStrat17_Getting Your API House In OrderLF_APIStrat17_Getting Your API House In Order
LF_APIStrat17_Getting Your API House In Order
LF_APIStrat
 
Task Scheduler Presentation
Task Scheduler PresentationTask Scheduler Presentation
Task Scheduler Presentation
Rajbir Singh
 
Flink Forward Berlin 2018: Ravi Suhag & Sumanth Nakshatrithaya - "Managing Fl...
Flink Forward Berlin 2018: Ravi Suhag & Sumanth Nakshatrithaya - "Managing Fl...Flink Forward Berlin 2018: Ravi Suhag & Sumanth Nakshatrithaya - "Managing Fl...
Flink Forward Berlin 2018: Ravi Suhag & Sumanth Nakshatrithaya - "Managing Fl...
Flink Forward
 
Graph API Strategies: CQRS for the API Economy
Graph API Strategies: CQRS for the API EconomyGraph API Strategies: CQRS for the API Economy
Graph API Strategies: CQRS for the API Economy
Gareth Jones
 
Introduction to GraphQL & Serverless
Introduction to GraphQL & ServerlessIntroduction to GraphQL & Serverless
Introduction to GraphQL & Serverless
Elijah Astley
 
URS in Dynamics 365
URS in Dynamics 365URS in Dynamics 365
"草APIサービス" Pixela を作った話
"草APIサービス" Pixela を作った話"草APIサービス" Pixela を作った話
"草APIサービス" Pixela を作った話
a know
 
Getting into the flow building applications with reactive streams
Getting into the flow building applications with reactive streamsGetting into the flow building applications with reactive streams
Getting into the flow building applications with reactive streams
Tim van Eijndhoven
 

What's hot (20)

2018-10-23 7 C - Using Graph API to read outlook mail for accounting - Hansam...
2018-10-23 7 C - Using Graph API to read outlook mail for accounting - Hansam...2018-10-23 7 C - Using Graph API to read outlook mail for accounting - Hansam...
2018-10-23 7 C - Using Graph API to read outlook mail for accounting - Hansam...
 
Microsoft Graph – Subscription API
Microsoft Graph – Subscription APIMicrosoft Graph – Subscription API
Microsoft Graph – Subscription API
 
Portfolio Craft
Portfolio CraftPortfolio Craft
Portfolio Craft
 
What's New in the Javascript API - Developers Forum - AC18
What's New in the Javascript API - Developers Forum - AC18What's New in the Javascript API - Developers Forum - AC18
What's New in the Javascript API - Developers Forum - AC18
 
All About Angular and ArcGIS - Developers Forum - AC18
All About Angular and ArcGIS - Developers Forum - AC18All About Angular and ArcGIS - Developers Forum - AC18
All About Angular and ArcGIS - Developers Forum - AC18
 
.NET Fest 2019. Roberto Freato. Azure App Service deep dive
.NET Fest 2019. Roberto Freato. Azure App Service deep dive.NET Fest 2019. Roberto Freato. Azure App Service deep dive
.NET Fest 2019. Roberto Freato. Azure App Service deep dive
 
Sprint 37 review
Sprint 37 reviewSprint 37 review
Sprint 37 review
 
Apiary
ApiaryApiary
Apiary
 
Airflow 4 manager
Airflow 4 managerAirflow 4 manager
Airflow 4 manager
 
Esriuk_track5_discover_usemakeshare
Esriuk_track5_discover_usemakeshareEsriuk_track5_discover_usemakeshare
Esriuk_track5_discover_usemakeshare
 
Rack middlewares - ins outs
Rack middlewares - ins outsRack middlewares - ins outs
Rack middlewares - ins outs
 
Sprint 84
Sprint 84Sprint 84
Sprint 84
 
LF_APIStrat17_Getting Your API House In Order
LF_APIStrat17_Getting Your API House In OrderLF_APIStrat17_Getting Your API House In Order
LF_APIStrat17_Getting Your API House In Order
 
Task Scheduler Presentation
Task Scheduler PresentationTask Scheduler Presentation
Task Scheduler Presentation
 
Flink Forward Berlin 2018: Ravi Suhag & Sumanth Nakshatrithaya - "Managing Fl...
Flink Forward Berlin 2018: Ravi Suhag & Sumanth Nakshatrithaya - "Managing Fl...Flink Forward Berlin 2018: Ravi Suhag & Sumanth Nakshatrithaya - "Managing Fl...
Flink Forward Berlin 2018: Ravi Suhag & Sumanth Nakshatrithaya - "Managing Fl...
 
Graph API Strategies: CQRS for the API Economy
Graph API Strategies: CQRS for the API EconomyGraph API Strategies: CQRS for the API Economy
Graph API Strategies: CQRS for the API Economy
 
Introduction to GraphQL & Serverless
Introduction to GraphQL & ServerlessIntroduction to GraphQL & Serverless
Introduction to GraphQL & Serverless
 
URS in Dynamics 365
URS in Dynamics 365URS in Dynamics 365
URS in Dynamics 365
 
"草APIサービス" Pixela を作った話
"草APIサービス" Pixela を作った話"草APIサービス" Pixela を作った話
"草APIサービス" Pixela を作った話
 
Getting into the flow building applications with reactive streams
Getting into the flow building applications with reactive streamsGetting into the flow building applications with reactive streams
Getting into the flow building applications with reactive streams
 

Similar to [DN Scrum Breakfast] API Automation Testing Using Retrofit & Cucumber

Real User Monitoring con Navigation Timing API, Tag Manager e Google Analytics
Real User Monitoring con Navigation Timing API, Tag Manager e Google AnalyticsReal User Monitoring con Navigation Timing API, Tag Manager e Google Analytics
Real User Monitoring con Navigation Timing API, Tag Manager e Google Analytics
Olegs Belousovs
 
SharePoint development evolution from classic to app
SharePoint development evolution from classic to appSharePoint development evolution from classic to app
SharePoint development evolution from classic to appMarco Rizzi
 
Resume
ResumeResume
Experience in Magento Community Projects
Experience in Magento Community ProjectsExperience in Magento Community Projects
Experience in Magento Community Projects
Magecom UK Limited
 
Distributed Point-in-Time Recovery with Postgres | PGConf.Russia 2018 | Eren ...
Distributed Point-in-Time Recovery with Postgres | PGConf.Russia 2018 | Eren ...Distributed Point-in-Time Recovery with Postgres | PGConf.Russia 2018 | Eren ...
Distributed Point-in-Time Recovery with Postgres | PGConf.Russia 2018 | Eren ...
Citus Data
 
Presentatie - Exploring the details of APEX sessions.pdf
Presentatie - Exploring the details of APEX sessions.pdfPresentatie - Exploring the details of APEX sessions.pdf
Presentatie - Exploring the details of APEX sessions.pdf
JoeRodriguez477329
 
Icinga Camp New York 2018 - Icinga2 and Elastic
Icinga Camp New York 2018 - Icinga2 and ElasticIcinga Camp New York 2018 - Icinga2 and Elastic
Icinga Camp New York 2018 - Icinga2 and Elastic
Icinga
 
UI5con 2017 - UI5 Components - More Performance...
UI5con 2017 - UI5 Components - More Performance...UI5con 2017 - UI5 Components - More Performance...
UI5con 2017 - UI5 Components - More Performance...
Peter Muessig
 
Using Retrofit framework in implementation of Android REST client (Presentation)
Using Retrofit framework in implementation of Android REST client (Presentation)Using Retrofit framework in implementation of Android REST client (Presentation)
Using Retrofit framework in implementation of Android REST client (Presentation)
Zlatko Stapic
 
Google Cloud: Next'19 Extended Hanoi
Google Cloud: Next'19 Extended HanoiGoogle Cloud: Next'19 Extended Hanoi
Google Cloud: Next'19 Extended Hanoi
GCPUserGroupVietnam
 
RIPE Atlas Tools for Operators and IXPs
RIPE Atlas Tools for Operators and IXPsRIPE Atlas Tools for Operators and IXPs
RIPE Atlas Tools for Operators and IXPs
APNIC
 
Using REST and UI Testing to Test Ajax Web Applications
Using REST and UI Testing to Test Ajax Web ApplicationsUsing REST and UI Testing to Test Ajax Web Applications
Using REST and UI Testing to Test Ajax Web Applications
Adam Sandman
 
DAY1- DAY2Netweaver gateway
DAY1- DAY2Netweaver gatewayDAY1- DAY2Netweaver gateway
DAY1- DAY2Netweaver gatewayGaurav Ahluwalia
 
DAY1- DAY2Netweaver gateway
DAY1- DAY2Netweaver gatewayDAY1- DAY2Netweaver gateway
DAY1- DAY2Netweaver gatewayGaurav Ahluwalia
 
Front End Development for Back End Developers - UberConf 2017
Front End Development for Back End Developers - UberConf 2017Front End Development for Back End Developers - UberConf 2017
Front End Development for Back End Developers - UberConf 2017
Matt Raible
 
Icinga Camp Bangalore - Icinga integrations
Icinga Camp Bangalore - Icinga integrationsIcinga Camp Bangalore - Icinga integrations
Icinga Camp Bangalore - Icinga integrations
Icinga
 
Write Serverless Applications with PowerShell and Azure Functions
Write Serverless Applications with PowerShell and Azure FunctionsWrite Serverless Applications with PowerShell and Azure Functions
Write Serverless Applications with PowerShell and Azure Functions
Jaap Brasser
 
Android Development with Kotlin, Part 2 - Internet Services and JSON
Android Development with Kotlin, Part 2 - Internet Services and JSONAndroid Development with Kotlin, Part 2 - Internet Services and JSON
Android Development with Kotlin, Part 2 - Internet Services and JSON
Andreas Jakl
 
Custom Reports & Integrations with GraphQL
Custom Reports & Integrations with GraphQLCustom Reports & Integrations with GraphQL
Custom Reports & Integrations with GraphQL
LeanIX GmbH
 

Similar to [DN Scrum Breakfast] API Automation Testing Using Retrofit & Cucumber (20)

Real User Monitoring con Navigation Timing API, Tag Manager e Google Analytics
Real User Monitoring con Navigation Timing API, Tag Manager e Google AnalyticsReal User Monitoring con Navigation Timing API, Tag Manager e Google Analytics
Real User Monitoring con Navigation Timing API, Tag Manager e Google Analytics
 
SharePoint development evolution from classic to app
SharePoint development evolution from classic to appSharePoint development evolution from classic to app
SharePoint development evolution from classic to app
 
Resume
ResumeResume
Resume
 
Experience in Magento Community Projects
Experience in Magento Community ProjectsExperience in Magento Community Projects
Experience in Magento Community Projects
 
RESTful Day 6
RESTful Day 6RESTful Day 6
RESTful Day 6
 
Distributed Point-in-Time Recovery with Postgres | PGConf.Russia 2018 | Eren ...
Distributed Point-in-Time Recovery with Postgres | PGConf.Russia 2018 | Eren ...Distributed Point-in-Time Recovery with Postgres | PGConf.Russia 2018 | Eren ...
Distributed Point-in-Time Recovery with Postgres | PGConf.Russia 2018 | Eren ...
 
Presentatie - Exploring the details of APEX sessions.pdf
Presentatie - Exploring the details of APEX sessions.pdfPresentatie - Exploring the details of APEX sessions.pdf
Presentatie - Exploring the details of APEX sessions.pdf
 
Icinga Camp New York 2018 - Icinga2 and Elastic
Icinga Camp New York 2018 - Icinga2 and ElasticIcinga Camp New York 2018 - Icinga2 and Elastic
Icinga Camp New York 2018 - Icinga2 and Elastic
 
UI5con 2017 - UI5 Components - More Performance...
UI5con 2017 - UI5 Components - More Performance...UI5con 2017 - UI5 Components - More Performance...
UI5con 2017 - UI5 Components - More Performance...
 
Using Retrofit framework in implementation of Android REST client (Presentation)
Using Retrofit framework in implementation of Android REST client (Presentation)Using Retrofit framework in implementation of Android REST client (Presentation)
Using Retrofit framework in implementation of Android REST client (Presentation)
 
Google Cloud: Next'19 Extended Hanoi
Google Cloud: Next'19 Extended HanoiGoogle Cloud: Next'19 Extended Hanoi
Google Cloud: Next'19 Extended Hanoi
 
RIPE Atlas Tools for Operators and IXPs
RIPE Atlas Tools for Operators and IXPsRIPE Atlas Tools for Operators and IXPs
RIPE Atlas Tools for Operators and IXPs
 
Using REST and UI Testing to Test Ajax Web Applications
Using REST and UI Testing to Test Ajax Web ApplicationsUsing REST and UI Testing to Test Ajax Web Applications
Using REST and UI Testing to Test Ajax Web Applications
 
DAY1- DAY2Netweaver gateway
DAY1- DAY2Netweaver gatewayDAY1- DAY2Netweaver gateway
DAY1- DAY2Netweaver gateway
 
DAY1- DAY2Netweaver gateway
DAY1- DAY2Netweaver gatewayDAY1- DAY2Netweaver gateway
DAY1- DAY2Netweaver gateway
 
Front End Development for Back End Developers - UberConf 2017
Front End Development for Back End Developers - UberConf 2017Front End Development for Back End Developers - UberConf 2017
Front End Development for Back End Developers - UberConf 2017
 
Icinga Camp Bangalore - Icinga integrations
Icinga Camp Bangalore - Icinga integrationsIcinga Camp Bangalore - Icinga integrations
Icinga Camp Bangalore - Icinga integrations
 
Write Serverless Applications with PowerShell and Azure Functions
Write Serverless Applications with PowerShell and Azure FunctionsWrite Serverless Applications with PowerShell and Azure Functions
Write Serverless Applications with PowerShell and Azure Functions
 
Android Development with Kotlin, Part 2 - Internet Services and JSON
Android Development with Kotlin, Part 2 - Internet Services and JSONAndroid Development with Kotlin, Part 2 - Internet Services and JSON
Android Development with Kotlin, Part 2 - Internet Services and JSON
 
Custom Reports & Integrations with GraphQL
Custom Reports & Integrations with GraphQLCustom Reports & Integrations with GraphQL
Custom Reports & Integrations with GraphQL
 

More from Scrum Breakfast Vietnam

[Scrum Breakfast DN] Is it possible to make 100% Unit Test coverage for your ...
[Scrum Breakfast DN] Is it possible to make 100% Unit Test coverage for your ...[Scrum Breakfast DN] Is it possible to make 100% Unit Test coverage for your ...
[Scrum Breakfast DN] Is it possible to make 100% Unit Test coverage for your ...
Scrum Breakfast Vietnam
 
Zero to hero in agile automation testing
Zero to hero in agile automation testingZero to hero in agile automation testing
Zero to hero in agile automation testing
Scrum Breakfast Vietnam
 
Retrospective Toolbox - HCMC Scrum Breakfast - 30/11/2019
Retrospective Toolbox - HCMC Scrum Breakfast - 30/11/2019Retrospective Toolbox - HCMC Scrum Breakfast - 30/11/2019
Retrospective Toolbox - HCMC Scrum Breakfast - 30/11/2019
Scrum Breakfast Vietnam
 
UI/UX Design in Agile process
UI/UX Design in Agile process  UI/UX Design in Agile process
UI/UX Design in Agile process
Scrum Breakfast Vietnam
 
Team building in the Infinite game - HCMC Scrum Breakfast - 28/09/2019
Team building in the Infinite game - HCMC Scrum Breakfast - 28/09/2019Team building in the Infinite game - HCMC Scrum Breakfast - 28/09/2019
Team building in the Infinite game - HCMC Scrum Breakfast - 28/09/2019
Scrum Breakfast Vietnam
 
Design Thinking in Solving Problem - HCMC Scrum Breakfast - July 27, 2019
Design Thinking in Solving Problem - HCMC Scrum Breakfast - July 27, 2019Design Thinking in Solving Problem - HCMC Scrum Breakfast - July 27, 2019
Design Thinking in Solving Problem - HCMC Scrum Breakfast - July 27, 2019
Scrum Breakfast Vietnam
 
Make your Scrum team great again - DN Scrum Breakfast - June 21, 2019
Make your Scrum team great again - DN Scrum Breakfast - June 21, 2019Make your Scrum team great again - DN Scrum Breakfast - June 21, 2019
Make your Scrum team great again - DN Scrum Breakfast - June 21, 2019
Scrum Breakfast Vietnam
 
Working as a remote team - HCM Scrum Breakfast - May 25, 2019
Working as a remote team - HCM Scrum Breakfast - May 25, 2019Working as a remote team - HCM Scrum Breakfast - May 25, 2019
Working as a remote team - HCM Scrum Breakfast - May 25, 2019
Scrum Breakfast Vietnam
 
Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018
Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018
Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018
Scrum Breakfast Vietnam
 
Benefits of BPMN in Software Development - DN Scrum Breakfast - September 29,...
Benefits of BPMN in Software Development - DN Scrum Breakfast - September 29,...Benefits of BPMN in Software Development - DN Scrum Breakfast - September 29,...
Benefits of BPMN in Software Development - DN Scrum Breakfast - September 29,...
Scrum Breakfast Vietnam
 
CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...
CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...
CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...
Scrum Breakfast Vietnam
 
Automation Testing in Agile - HCM Scrum Breakfast - July 2018
Automation Testing in Agile - HCM Scrum Breakfast - July 2018Automation Testing in Agile - HCM Scrum Breakfast - July 2018
Automation Testing in Agile - HCM Scrum Breakfast - July 2018
Scrum Breakfast Vietnam
 
[HCM Scrum Breakfast - April 2018] Teamwork: The Leader Job (Pt.1)
[HCM Scrum Breakfast - April 2018] Teamwork: The Leader Job (Pt.1)[HCM Scrum Breakfast - April 2018] Teamwork: The Leader Job (Pt.1)
[HCM Scrum Breakfast - April 2018] Teamwork: The Leader Job (Pt.1)
Scrum Breakfast Vietnam
 
[DN Scrum Breakfast] Effective Cloud Computing
[DN Scrum Breakfast] Effective Cloud Computing[DN Scrum Breakfast] Effective Cloud Computing
[DN Scrum Breakfast] Effective Cloud Computing
Scrum Breakfast Vietnam
 
[HCM Scrum Breakfast - January 2018] ElasticSearch In Action
[HCM Scrum Breakfast - January 2018] ElasticSearch In Action[HCM Scrum Breakfast - January 2018] ElasticSearch In Action
[HCM Scrum Breakfast - January 2018] ElasticSearch In Action
Scrum Breakfast Vietnam
 
[DN Scrum Breakfast] Automation E2E Testing with Chimp Framework and WebdriverIO
[DN Scrum Breakfast] Automation E2E Testing with Chimp Framework and WebdriverIO[DN Scrum Breakfast] Automation E2E Testing with Chimp Framework and WebdriverIO
[DN Scrum Breakfast] Automation E2E Testing with Chimp Framework and WebdriverIO
Scrum Breakfast Vietnam
 
[DN Scrum Breakfast] Scrum Master, do we really need one_by Nam Dang_Mar2016
[DN Scrum Breakfast] Scrum Master, do we really need one_by Nam Dang_Mar2016[DN Scrum Breakfast] Scrum Master, do we really need one_by Nam Dang_Mar2016
[DN Scrum Breakfast] Scrum Master, do we really need one_by Nam Dang_Mar2016
Scrum Breakfast Vietnam
 
[DN Scrum Breakfast] Protractor: E2E Testing for AngularJS (by Thuy Nguyen)
[DN Scrum Breakfast] Protractor: E2E Testing for AngularJS (by Thuy Nguyen)[DN Scrum Breakfast] Protractor: E2E Testing for AngularJS (by Thuy Nguyen)
[DN Scrum Breakfast] Protractor: E2E Testing for AngularJS (by Thuy Nguyen)
Scrum Breakfast Vietnam
 
[Da Nang Scrum Breakfast] Angular Tour
[Da Nang Scrum Breakfast] Angular Tour[Da Nang Scrum Breakfast] Angular Tour
[Da Nang Scrum Breakfast] Angular Tour
Scrum Breakfast Vietnam
 
[HCM Scrum Breakfast - June 2017] Distributed Team
[HCM Scrum Breakfast - June 2017] Distributed Team[HCM Scrum Breakfast - June 2017] Distributed Team
[HCM Scrum Breakfast - June 2017] Distributed Team
Scrum Breakfast Vietnam
 

More from Scrum Breakfast Vietnam (20)

[Scrum Breakfast DN] Is it possible to make 100% Unit Test coverage for your ...
[Scrum Breakfast DN] Is it possible to make 100% Unit Test coverage for your ...[Scrum Breakfast DN] Is it possible to make 100% Unit Test coverage for your ...
[Scrum Breakfast DN] Is it possible to make 100% Unit Test coverage for your ...
 
Zero to hero in agile automation testing
Zero to hero in agile automation testingZero to hero in agile automation testing
Zero to hero in agile automation testing
 
Retrospective Toolbox - HCMC Scrum Breakfast - 30/11/2019
Retrospective Toolbox - HCMC Scrum Breakfast - 30/11/2019Retrospective Toolbox - HCMC Scrum Breakfast - 30/11/2019
Retrospective Toolbox - HCMC Scrum Breakfast - 30/11/2019
 
UI/UX Design in Agile process
UI/UX Design in Agile process  UI/UX Design in Agile process
UI/UX Design in Agile process
 
Team building in the Infinite game - HCMC Scrum Breakfast - 28/09/2019
Team building in the Infinite game - HCMC Scrum Breakfast - 28/09/2019Team building in the Infinite game - HCMC Scrum Breakfast - 28/09/2019
Team building in the Infinite game - HCMC Scrum Breakfast - 28/09/2019
 
Design Thinking in Solving Problem - HCMC Scrum Breakfast - July 27, 2019
Design Thinking in Solving Problem - HCMC Scrum Breakfast - July 27, 2019Design Thinking in Solving Problem - HCMC Scrum Breakfast - July 27, 2019
Design Thinking in Solving Problem - HCMC Scrum Breakfast - July 27, 2019
 
Make your Scrum team great again - DN Scrum Breakfast - June 21, 2019
Make your Scrum team great again - DN Scrum Breakfast - June 21, 2019Make your Scrum team great again - DN Scrum Breakfast - June 21, 2019
Make your Scrum team great again - DN Scrum Breakfast - June 21, 2019
 
Working as a remote team - HCM Scrum Breakfast - May 25, 2019
Working as a remote team - HCM Scrum Breakfast - May 25, 2019Working as a remote team - HCM Scrum Breakfast - May 25, 2019
Working as a remote team - HCM Scrum Breakfast - May 25, 2019
 
Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018
Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018
Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018
 
Benefits of BPMN in Software Development - DN Scrum Breakfast - September 29,...
Benefits of BPMN in Software Development - DN Scrum Breakfast - September 29,...Benefits of BPMN in Software Development - DN Scrum Breakfast - September 29,...
Benefits of BPMN in Software Development - DN Scrum Breakfast - September 29,...
 
CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...
CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...
CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...
 
Automation Testing in Agile - HCM Scrum Breakfast - July 2018
Automation Testing in Agile - HCM Scrum Breakfast - July 2018Automation Testing in Agile - HCM Scrum Breakfast - July 2018
Automation Testing in Agile - HCM Scrum Breakfast - July 2018
 
[HCM Scrum Breakfast - April 2018] Teamwork: The Leader Job (Pt.1)
[HCM Scrum Breakfast - April 2018] Teamwork: The Leader Job (Pt.1)[HCM Scrum Breakfast - April 2018] Teamwork: The Leader Job (Pt.1)
[HCM Scrum Breakfast - April 2018] Teamwork: The Leader Job (Pt.1)
 
[DN Scrum Breakfast] Effective Cloud Computing
[DN Scrum Breakfast] Effective Cloud Computing[DN Scrum Breakfast] Effective Cloud Computing
[DN Scrum Breakfast] Effective Cloud Computing
 
[HCM Scrum Breakfast - January 2018] ElasticSearch In Action
[HCM Scrum Breakfast - January 2018] ElasticSearch In Action[HCM Scrum Breakfast - January 2018] ElasticSearch In Action
[HCM Scrum Breakfast - January 2018] ElasticSearch In Action
 
[DN Scrum Breakfast] Automation E2E Testing with Chimp Framework and WebdriverIO
[DN Scrum Breakfast] Automation E2E Testing with Chimp Framework and WebdriverIO[DN Scrum Breakfast] Automation E2E Testing with Chimp Framework and WebdriverIO
[DN Scrum Breakfast] Automation E2E Testing with Chimp Framework and WebdriverIO
 
[DN Scrum Breakfast] Scrum Master, do we really need one_by Nam Dang_Mar2016
[DN Scrum Breakfast] Scrum Master, do we really need one_by Nam Dang_Mar2016[DN Scrum Breakfast] Scrum Master, do we really need one_by Nam Dang_Mar2016
[DN Scrum Breakfast] Scrum Master, do we really need one_by Nam Dang_Mar2016
 
[DN Scrum Breakfast] Protractor: E2E Testing for AngularJS (by Thuy Nguyen)
[DN Scrum Breakfast] Protractor: E2E Testing for AngularJS (by Thuy Nguyen)[DN Scrum Breakfast] Protractor: E2E Testing for AngularJS (by Thuy Nguyen)
[DN Scrum Breakfast] Protractor: E2E Testing for AngularJS (by Thuy Nguyen)
 
[Da Nang Scrum Breakfast] Angular Tour
[Da Nang Scrum Breakfast] Angular Tour[Da Nang Scrum Breakfast] Angular Tour
[Da Nang Scrum Breakfast] Angular Tour
 
[HCM Scrum Breakfast - June 2017] Distributed Team
[HCM Scrum Breakfast - June 2017] Distributed Team[HCM Scrum Breakfast - June 2017] Distributed Team
[HCM Scrum Breakfast - June 2017] Distributed Team
 

Recently uploaded

Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 

Recently uploaded (20)

Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 

[DN Scrum Breakfast] API Automation Testing Using Retrofit & Cucumber

  • 1. API Automation Testing Using Retrofit & Cucumber June 2, 2018 Axon Active Vietnam - https://www.axonactive.com Axon Active Da Nang - Axon Vibe Automation Team
  • 2. June 2, 2018 Basel Department - Automation Team 2 Axon Vibe Automation Team
  • 3. Agenda • Context – How the Future of Test Automation Affects You • Techniques – Introduce Cucumber & Retrofit 2 • Demo – Project Demo and Mini Demo • Practices – Assignment for Audience • Q&A June 2, 2018 Basel Department - Automation Team 3
  • 4. Context June 2, 2018 Basel Department - Automation Team 4
  • 5. Context June 2, 2018 Basel Department - Automation Team 5
  • 6. Context June 2, 2018 Basel Department - Automation Team 6
  • 7. Cucumber What is Behaviors Driven Development? June 2, 2018 Basel Department - Automation Team 7
  • 8. Cucumber Examples Scenario: get all articles When requesting get all articles Then the request get all articles successfully Scenario: create an article When requesting create an article Then the request creating an article successfully June 2, 2018 Basel Department - Automation Team 8
  • 9. Cucumber What are the benefits? • It is helpful to involve business stakeholders who can't easily read code • Cucumber focuses on end-user experience • Style of writing tests allow for easier reuse of code in the tests • Quick and easy set up and execution • Efficient tool for testing June 2, 2018 Basel Department - Automation Team 9
  • 10. Retrofit 2 What is Retrofit? • Retrofit is a type-safe HTTP client for Android and Java • Developed by Square, Inc. June 2, 2018 Basel Department - Automation Team 10
  • 11. How to use Retrofit June 2, 2018 Basel Department - Automation Team 11
  • 12. How to use Retrofit June 2, 2018 Basel Department - Automation Team 12
  • 13. How to use Retrofit June 2, 2018 Basel Department - Automation Team 13
  • 14. How to use Retrofit June 2, 2018 Basel Department - Automation Team 14 • Interface to declare HTTP request • Object to map with returned JSON data • Retrofit builder
  • 15. How to use Retrofit June 2, 2018 Basel Department - Automation Team 15 Interface
  • 16. How to use Retrofit Interface June 2, 2018 Basel Department - Automation Team 16
  • 17. How to use Retrofit June 2, 2018 Basel Department - Automation Team 17 • Interface to declare HTTP request • Object to map with returned JSON data • Retrofit builder
  • 18. How to use Retrofit June 2, 2018 Basel Department - Automation Team 18
  • 19. How to use Retrofit Object June 2, 2018 Basel Department - Automation Team 19
  • 20. How to use Retrofit June 2, 2018 Basel Department - Automation Team 20 • Interface to declare HTTP request • Object to map with returned JSON data • Retrofit builder
  • 21. How to use Retrofit Adapter June 2, 2018 Basel Department - Automation Team 21
  • 22. How to use Retrofit Interface June 2, 2018 Basel Department - Automation Team 22
  • 23. How to use Retrofit Instantiate an implement of interface class June 2, 2018 Basel Department - Automation Team 23
  • 24. How to use Retrofit Send request to API June 2, 2018 Basel Department - Automation Team 24
  • 25. Mini - Demo Structure of Framework: June 2, 2018 Basel Department - Automation Team 25
  • 26. Mini - Demo Configure url in local.properties file to build baseURL June 2, 2018 Basel Department - Automation Team 26
  • 27. Mini - Demo Workflow of Framework: June 2, 2018 Basel Department - Automation Team 27
  • 28. Practices URL - http://dummy.restapiexample.com June 2, 2018 Basel Department - Automation Team 28
  • 29. Practices Feature: Employee As a user, I want to update and delete information for employee Scenario: Update Employee - PUT: v1/update/{id} Scenario: Delete Employee - DELETE: v1/delete/{id} June 2, 2018 Basel Department - Automation Team 29 Assignment
  • 30. Practices Gitlab to get codebase: https://gitlab.com/ttthu.dsna/api-automation-retrofit June 2, 2018 Basel Department - Automation Team 30
  • 31. Practices Push your code on Jenkins to build June 2, 2018 Basel Department - Automation Team 31
  • 32. June 2, 2018 Basel Department - Automation Team 32
  • 33. June 2, 2018 Basel Department - Automation Team 33

Editor's Notes

  1. Divide everyone to 5 groups and send link to get source code for them Guide them to config to run source code
  2. Most software testing right now is done by manual testers, while automation represents no more than 30% of testing.  Also notice that of the automated testing done, the vast majority of it is UI testing. http://typescriptprotractor.blogspot.com
  3. Most software testing right now is done by manual testers, while automation represents no more than 30% of testing.  Also notice that of the automated testing done, the vast majority of it is UI testing. http://typescriptprotractor.blogspot.com