简单的接口测试

引言:你好,我是handsomecui,下面介绍自己琢磨出的一种接口测试的方法。

来由:网上的接口测试工具五花八门,想了想还是自己写的针对方法的测试,比较严谨,错误以及麻烦的地方欢迎大家留言指正。

思路:本想着用junit来写的,但是 单元测试与webservice好像有冲突,然后就想着创建一个测试类,里面放各种方法的json测试传,通过浏览器传的方法名反射得到方法,以及json串。

测试类的设计:自己创建json串,处理各种情况,具体方法创建各种测试串。

下面是具体代码:

package com.rrkj.test;

import com.google.gson.JsonArray;
import com.google.gson.JsonObject;

public class LibraryTest {
    private JsonObject jsonObject = new JsonObject();
    private JsonObject jsonObject2 = new JsonObject();
    private JsonObject jsonObject3 = new JsonObject();
    private JsonObject jsonObject4 = new JsonObject();
    private JsonObject jsonObject5 = new JsonObject();
    private JsonArray jsonArray = new JsonArray();
    private JsonArray empArray = new JsonArray();
    
    
    public LibraryTest() {
        jsonObject3.addProperty("title", "新水浒传");
        jsonObject3.addProperty("author", "施耐庵");
        jsonObject3.addProperty("hold", "258");
        jsonObject5.addProperty("title", "西游记");
        jsonObject5.addProperty("author", "吴承恩");
        jsonObject5.addProperty("hold", "369");
        
        jsonArray.add(jsonObject3);
        //jsonArray.add(jsonObject3);
        //jsonArray.add(jsonObject5);
        
        jsonObject4.addProperty("sid", "3c77f0993c164de49d55512bd19991ee");
        jsonObject4.addProperty("uid", "27c1998783bb415d9bdbdb6a5dd4ebdd");
        jsonObject.add("session", jsonObject4);
    }

    //jsonObject2.add("books", jsonArray);
    //jsonObject2.addProperty("orderId", "6");
    //jsonObject2.addProperty("cardId", "2");
    //jsonObject2.addProperty("isPrepare", "1");
    //jsonObject2.addProperty("type", "1");

    public String borrow() throws Exception{
        jsonObject2.addProperty("orderId", "7");
        jsonObject2.addProperty("cardId", "2");
        jsonObject2.add("books", empArray);
        jsonObject.add("data", jsonObject2);
        return jsonObject.toString();
    }
    
    public String managerList(){
        jsonObject2.addProperty("type", "1");
        jsonObject.add("data", jsonObject2);
        return jsonObject.toString();
    }

    public String prepare(){
        jsonObject2.addProperty("orderId", "8");
        jsonObject2.addProperty("isPrepare", "1");
        jsonObject2.add("book", jsonObject5);
        jsonObject.add("data", jsonObject2);
        return jsonObject.toString();
    }

    public String returnBook(){
        jsonObject2.addProperty("cardId", "2");
        jsonObject2.add("books", jsonArray);
        jsonObject.add("data", jsonObject2);
        return jsonObject.toString();
    }

    public String orderAdd(){
        jsonObject2.add("book", jsonObject3);
        jsonObject.add("data", jsonObject2);
        return jsonObject.toString();
    }

    public String orderList(){
        return jsonObject.toString();
    }

    public String orderSubmit(){
        jsonObject2.add("books", jsonArray);
        jsonObject.add("data", jsonObject2);
        return jsonObject.toString();
    }

    public String orderHistory(){
        return jsonObject.toString();
    }

    public String orderDelete(){
        jsonObject2.add("book", jsonObject5);
        jsonObject.add("data", jsonObject2);
        return jsonObject.toString();
    }

    public String collectionAdd(){
        jsonObject2.add("book", jsonObject5);
        jsonObject.add("data", jsonObject2);
        return jsonObject.toString();
    }

    public String collectionList(){
        return jsonObject.toString();
    }

    public String collectionDelete(){
        jsonObject2.add("book", jsonObject5);
        jsonObject.add("data", jsonObject2);
        return jsonObject.toString();
    }

    
}

然后在webservice,反射调用就可以了:

下面是webservice详细代码:

public String test(String method) throws Exception{
        LibraryTest test = new LibraryTest();
        Method testMethod = this.getClass().getMethod(method, String.class);
        Method json = test.getClass().getMethod(method, null);
        testMethod.invoke(this, json.invoke(test, null));
        return this.JsonResponseWithoutData();
    }

 

posted @ 2017-08-17 10:07  handsomecui  阅读(466)  评论(0编辑  收藏  举报