- 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:-
- It is an Open source i.e. free.
- 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.
- Powerful logging mechanism.
- 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.
- Includes XML schema validation
- Can be integrated with Maven and CICD.
Disadvantages of Rest assured:-
- Does not support SOAP APIs explicitly.
- Less community support
- Requires good Java programming knowledge