The API Challenges is an application which you can use to practice API testing and automating. It is written in Java, runnable locally and has been deployed to the cloud for easy access. It contains a functional API and a set of challenges for you to work through.
The API Challenges is a simple CRUD (Create, Read, Update, Delete) API.
It also has a set of challenges that are tracked as you explore and test the API.
Everything runs in memory, or stores challenge session ot files, so there is no database to worry about.
Bonus:
- API Challenges also contains a Simulator with step by step instructions for learning APIs
- Simple API which is a full CRUD API that does not require authentication
- Mirror mode for testing your tools because it mirrors back to you exactly the request you send it.
- Learning Zone with reference content, tutorials and tool reviews.
- Swagger UIs to make API requests from within the browser for Challenger and Simple API
API Challenge Solutions
The challenge solutions are maintained on API Challenges.
About The Challenges Application
How to Create a Multi-User Session
Use the Application Online
A version of the application is hosted on the Cloud for Free Access.
- The API data is public
- The challenges can be stored against a session in the cloud for you to return to later
Download and Run Locally
If you have java installed, it will run. There are no complicated setup instructions.
The system will automatically start in single player mode and you can use the API without having to compete with other people for the data you want. And all your challenge statuses will be stored in a file and re-loaded when you start the app.
The API Challenger is built on “The Thingifier” and downloadable from the release pages.
Download the .jar file from the releases page or specific versions listed below.
java -jar apichallenges.jar- visit http://localhost:4567
Or you can use it online at apichallenges.eviltester.com
How to Install and Use For Single Player on Win and Mac
Source
The application is open source and full code in on Github:
It has been deployed as a multi user application to a cloud server.
API Documentation
The API Documentation is built in, and easily accessible from the GUI.
One of the challenges for all API Testing is… reading and understanding the documentation, and using it to guide your testing.
Suggested uses?
- Work through the challenges and learn API technology
- Test the API, and use the API challenges as a rough coverage checklist - did your test approach cover all the challenges?
- Automate the challenges in whatever tool you want, and use the challenge complete status as a coverage metric for your automated execution.
- Download the app and run it in multi-user mode locally for your team to work with. Have an internal API challenge and exploration party.
Learning Modes
The Mirror Mode is a good way to start learning tooling because it reflects back what you send so you can get used to any tool and see how it works.
The Simulation Mode is a set of hard-coded data to specific requests, although it does try to respond appropriately to specific verbs. It is a useful way to compare different tooling without specific data and environment requirements.
Challenge How Tos and Solutions
All challenges have documented solutions that you can find on the main API Challenges site.
Most also have debriefs, which are lessons learned after completing the challenge.
API Simulator
Swagger UI Integration
Support This Project
If you find value in the API and documentation then consider supporting this project by buying my case study book Automating and Testing a REST API.
Or supporting this project through Patreon. For $1 a month, you join a community of testers improving their skills and advancing their craft, receive exclusive blog posts, and extra ad free videos. You also help support the test community by covering the costs of the hosting that allows my test applications to be used online at no cost to the end user.