Automating and Testing a Rest API: A Case Study in API Testing Using: Java, Rest Assured, Postman, Tracks, Curl and HTTP Proxies, Paperback/MR Alan J. Richardson
Descriere
Contributor(s):Author: MR Alan J. Richardson 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, using command line and GUI tools, to support your manual interactive testing. Then take your testing forward into automating the API? That's what this book provides. A step by step case study covering: - How to read the REST API documentation. - How to tell if the application is using the API. - How to interact with the API from the command line with cURL. - Automating with BASH and Windows Command Line. - Sending API requests through an HTTP Proxy so you can see in detail the requests and responses. - How to use HTTP Proxies to create data in the application through Fuzzing. - Postman REST API GUI tool. - 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. - JSON and XML parsing with Serialization and Deserialization. The book is fully supported by executable code which you can find on Git Hub, 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 an 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.