Api Simulation using Hoverfly with Java

3 Days

restjava
testingautomation

Intermediate

developertester

In this program, participants learn about Hoverfly and its use cases. Assuming little knowledge on participants-side, program starts with basics of Http and Api. It covers lot of ground for Junit5 as well. Hoverfly is free and open source rest api simulation tool. With extensive configuration and other first-class features, Hoverfly allows to rapidly create and execute automated test by simulating Api dependencies. Simulation can be used to prepare automated api test scripts as well. Participants learn how to use Hoverfly to deal with rest api requests and responses for various usecases. Program teaches participants to use Hoverfly with Junit5. Program includes demos and hands-on.

Audience

Program is primarily for participants who must be software savvy testers and developers who aspire to use Hoverfly to simulate any Apis.

Prerequisites

Participant must be able to code (at beginner level) in Java for JUnit portion of program.

Topics
Fundamentals
  • History
  • Setup
  • Capabalities
  • What is API?
  • Testing
  • Web, HTML, CSS, JS
  • HTTP
    • Clients and Servers
    • URL
      • Subdomain, Domain, port
      • Path, parameters
    • Request
    • Response
    • Status
    • Methods
    • Headers
    • Known headers
    • Body
    • Cookies
  • Jsonpath, Xpath, Regex
  • Schema and Validation
  • Using Browser Dev Tools
  • Using UI Tools
    • VSCode extensions
    • Postman
  • Studying real web-sites
Junit
  • What is Testing?
  • Test automation
  • Challenges
  • Test types
  • History
  • Why Junit?
  • Installation
  • Hello, Junit!
  • Writing Tests
  • Running Tests
  • Running Tests in Console
  • Test Runners
  • Describing Tests
  • Assertions
  • RegEx
  • Fluent assertions
  • Important annotations
    • JUnit test lifecycle
    • AAAC
    • Exceptions
  • Data-driven Testing
  • Using files in the test
  • Intro to extending Junit
Api
  • SOA and Micro-Services
  • MACH Architecture
    • Microservices
    • API first
    • Cloud native
    • Headless
  • REST
    • Methods
    • URL, URN, URI
    • Parameters
  • Rest & OpenApi
  • SOAP & WSDL
  • Rest Vs Http
  • Rest Vs Soap
  • Benefits
  • Hateos
  • Requests as HTTP Client
  • Mocking Api
Hoverfly
  • Hello, World!
  • Handling
    • Methods
      • GET, POST, PUT, DELETE
    • Url
    • Code and Body
    • Query and path parameters
    • Status and headers
    • Cookies
    • Form Data
    • Files
    • Body
    • As a proxy server
    • As a webserver
    • Modes
      • Capture
      • Simulate
      • Spy
      • Synthesize
      • Modify
      • Diff
    • Simulations
    • Matching strategies
    • Caching
    • Templating
    • State
    • Destination filtering
    • Middleware
    • Post Serve Action
    • Hoverctl
    • Using with JUnit
Exclusions

SDLC, BDD, TDD, Scrum, Load & Performance testing, Advanced Protocol Details
Anything not mentioned in Topics1

Software Requirements

Any Java IDE with JDK and Maven

Internet Requirements

Good unrestricted internet connection is required.

Hardware Requirements

Laptop capable to run MS Office

Classroom Requirements

Projector with HDMI, White Board, Markers with Eraser

Online Requirements

Appropriate meeting software e.g. Zoom, MS Teams
Please make sure that camera, speaker and mic are working

Footnotes

  1. If you have any query, please drop us a line.