Automate Rest API test and integrate this with Continuous Integration(CI-Jenkins)

undefined picture undefined · Feb 15, 2014 · Viewed 8.4k times · Source

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:

  1. Is the rest assured is the best tool to use?
  2. Does Play framework is better?
  3. I found many other tool like Jmeter, RightAPI etc. to test RestAPI. But I dont think this is automable. Am I right?

Answer

Schobster picture Schobster · May 23, 2017

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.