TLDR; Release of my open source API Workshops.
I released the source code and slide/handout material for my REST API workshops as Open Source.
The source code are released under MIT Licence.
- examples
- exercises
- sample answers
The text for the slides and handouts is copyrighted and suitable for personal study i.e. do use it to learn from, please don’t use it to create your own workshops or books.
There are two workshops, “Basic” and “Advanced”.
The application under test is the Listicator, which is part of the Compendium of Testing Apps to download to your own machine.
The Listicator is a deliberately buggy API with some non-standard features.
You might also find the API Challenges useful, the API Challenges is a simple API with gamified challenges to work through to guide you in experimenting with the basics.
Basic
The basic workshop concentrates on:
- HTTP Basics
- API Basics
- REST API Basics
- API Testing
- REST API Clients (postman, insomnia)
- Proxies
All the slides are viewable on github by clicking on the .md sections.
And the Automated Execution examples use REST Assured with some abstractions:
Advanced
The advanced workshop has some overlap of the basics as a recap but covers:
- different approaches to abstraction
- payloads
- payload builders
- environment abstractions
- DSL
- API Abstractions
- HTTP Strategies
- REST Assured
- Parsing Messages in different ways
- HTTPClient
- HTTP Abstractions
- Marshalling Strategies
- REST Assured
- XStream
- GSON
- API Testing
- Coverage
- GUI Clients
- Performance Testing
- bots
- Artillery
- flood
The outline in the workshop description says:
- Overview of the basics to achieve common understanding:
- basics of: API, HTTP, REST
- tooling interaction: Postman, Insomnia, Proxies
- automating basics: REST Assured
- More Detailed look at REST Assured library for Automating a REST API in Java
- Automating through an HTTP Proxy
- parsing JSON and XML
- using JAVA HTTP libraries
- Abstraction layers: payload objects, API abstraction, HTTP library abstraction
- Performance/Stress testing of API
- Coverage of API Testing and approaches to support this
- Writing Bots for interleaved API functional testing
Additional Reading
If you find this useful then you might also find my case study book “Automating and Testing a REST API” a useful addition, because it discusses testing a live application example rather than a ’test’ example. And has an ordered discussion of working from cURL, through to client tools, then Automating, and test data generation.
You might also find Bas Dijkstra’s API Workshop material on Github useful.