Automate Rest API test and integrate this with Continuous Integration(CI-Jenkins)
automated-tests, jenkins, playframework, rest, rest-assured
Solution
For automating REST API testing, as a starting point I recommend using Postman and newman.
Postman provides an excellent UI for building requests, and newman is its command-line counterpart. After you create a set of requests and corresponding tests within the Postman UI, you can run the entire collection from Jenkins via newman, preventing a deployment if tests fail.
Problem
I found many similar questions related to this, but not the particular answer I am looking for. Actually my requirement is little different, so I end up posting the following issue. I want to automate Rest APIs, and I got two options for the same case. The first one is `Rest Assured` and second one is `Play Framework`. For example, to test this RestAPI: ``` http://servername:9000/dbs/all/list/m1/p1/sch1 ``` (↑ This gives xml response) So, I have written a code in `Java with Rest assured`, and is working fine. I integrate this with `Maven` project so that can be integrated with `Jenkins`. Sample code: ``` import com.jayway.restassured public class TestNGSimpleTest2 { @Test public void testApi() { expect(). statusCode(200). body("Status", equalTo("Su22ccess")). when(). get("http://localhost:9000/dbs/all/list/m1/p1/sch1"); } ``` So my first question is: - Is the rest assured is the best tool to use? - Does Play framework is better? - I found many other tool like Jmeter, RightAPI etc. to test RestAPI. But I dont think this is automable. Am I right?