A Case Study in API testing using: Java, REST-assured, Postman, Tracks, cURL and HTTP Proxies

Have you ever wished that you had a worked example of how to test a REST API? Not just automate the API, but how to interact with it with command line tools, and GUI tools to support your manual interactive testing. And then take your testing forward into automating the API?

Well that's what this book provides. A step by step explanation of how to:

  • read the REST API documentation,
  • how to tell if the application is using the API,
  • interact with the API from the command line with cURL,
  • adhoc automating with BASH and Windows Command Line,
  • send API requests through an HTTP Proxy so you can see in detail the requests and responses,
  • use HTTP Proxies to create data in the application through Fuzzing,
  • use Postman REST API GUI,
  • automate 'under the GUI' parts of the application that don't have an API,
  • automate the API with Java using REST-assured,
  • build abstraction code to make your automated efforts readable and maintainable

The book is fully supported by executable code which you can find on Github, and the support page for the book has sample videos showing some of the early steps in the case study in detail.

By working through this case study you will be able to interact with the API from the command line, GUI tools, HTTP messages in Proxies and with Java code.

Over the last few years, the Author has used the Open Source Tracks application as an example testing target to teach: Technical Web Testing, Automating GUIs and REST API Testing.

This book collates the preparatory work and teaching from the REST API workshops. The code from the workshops is included: for creating users, generating random data, testing basic API calls with PUT, GET, POST and DELETE.

Also the early steps of exploring and investigating the API interactively to support manual technical testing are explained in depth.

Alan Richardson

Alan Richardson has worked as a Software professional since 1995 (although it feels longer). Primarily working with Software Testing, although he has written commercial software in C++, and a variety of other languages.

Alan has a variety of on-line training courses, both free and commercial:

  • "Selenium 2 WebDriver With Java"
  • "Start Using Selenium WebDriver"
  • "Technical Web Testing"

You can find details of his other books, training courses, conference papers and slides, and videos, on his main company web site: CompendiumDev.co.uk

Alan maintains a number of web sites:

  • SeleniumSimplified.com : Web Automation using Selenium WebDriver
  • EvilTester.com : Technical testing
  • JavaForTesters.com : Java, aimed at software testers.

Alan tweets using the handle @eviltester