Demand of API Testing is increasing day by day as it helps in finding bugs early in Software development life cycle and prevents major bugs at later stages. We can perform API Testing manually and programatically i.e. Automation.
We have covered Manual API Testing using Postman. Now it’s time to learn about API Testing Automation using Java library called Rest Assured.
REST-assured is an Open Source Java library which is used to test and validate REST APIs. Dynamic languages like Groovy , Ruby are helpful in API testing which was harder in Java. We have a famous Java library named Apache Http Client which is also used to do API Testing but it requires a lot of coding. Rest Assured makes API testing simple in Java.
REST Assured is developed and maintained by Johan Haleby. He started the project when he was working at Jayway back in December of 2010. The project is now sponsored by Parkster.
Advantages of Rest Assured are listed below:-
- Open source
- It requires less coding compare to Apache Http Client.
- Initial setup is easy and straightforward before you hit any endpoint.
- Easy parsing and validation of response in JSON and XML.
- It follows BDD keywords like given(), when(), then() which makes code readable and supports clean coding. This feature is available from version 2.0.
- Very rich in readymade assertion
- Quick assertion for status code and response time.
- Can be easily integrated with other Java libraries like TestNG, Junit for Test Framework and Extent Report , Allure Report for reporting purpose.
- Very good support for different authentication mechanism for APIs.
- Can be integrated with Selenium-Java to achieve End to End automation.
- Supports JsonPath and XmlPath which helps in parsing JSON and XML response. Rest Assured by default integrates both.
- Can be used to verify Json Schema using JSON Schema Validation library.
- Can be integrated with Maven and CICD.
Disadvantages of Rest assured:-
- Does not support SOAP APIs explicitly.
- Less community support
- Requires Java programming knowledge
Rest assured versions 2.9.0 and older have groupId as “com.jayway.restassured” and Rest assured 3.0.0 onwards, groupId is “io.rest-assured”. So do not confuse with this.
We will see more about Rest assured in upcoming posts.
Share this post to your colleagues and friends to extend their knowledge.