Skip to main content

The API Challenges

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.

Use The Heroku Hosted Version

About The Challenges Application

How to Create a Multi-User Session

Use the Application Online

A version of the application is hosted on Heroku.

  • The API data is public
  • The challenges can be stored against a session in the cloud for you to return to later

Use The Heroku Hosted Version

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

Download

Or you can use it online

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 Heroku

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.

/docs

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

Challenge Debriefs

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.