美文网首页愿景驱动开发测试管理敏捷
Rest-Assured实战 REST API之使用 Rest-

Rest-Assured实战 REST API之使用 Rest-

作者: 牧之时 | 来源:发表于2018-06-11 17:12 被阅读63次

    报文的正文是 Restful API 测试的主要部分,这里面包含了需要测试的业务内容。

    我们先看一看向目标服务器:http://qatools.cn/demon/api/books 发送 GET 请求后服务器响应的报文正文。

    [

        - {        id: 1,

            name: "Selenium从入门到实战",

            publisher: "TOOLSQA",

            version: "第1版",

            releaseDate: "2018-05-03"

        },

        {        id: 2,

            name: "REST und HTTP",

            publisher: "O'Really",

            version: "第1版",

            releaseDate: "2011-06-01"

        }

    ]

    可以看到返回的 JSON 格式的报文是很有层级结构的。我们可以理解为一个树型结构的不同节点。每一个节点包含了一个对象信息或一个属性信息。我们可以测试返回的报文中是否包含了某些信息,例如 “Selenium 从入门到实战”。

    测试代码编写如下:

    @Testpublic void testMessageBody(){    

        //设置服务器基准地址

        RestAssured.baseURI = "http://qatools.cn/demon/api";  

        //获取请求HTTP请求对象

        RequestSpecification httpRequest = RestAssured.given(); 

         //获取服务器响应报文

        Response response = httpRequest.get("/books");    

        // 获取报文正文

        ResponseBody body = response.getBody();    

        //把报文正文的JSON转化为字符串,

        String bodyAsString = body.asString();       

         //通过字符串方法查找是否包含具体的验证内容Assert.assertEquals(bodyAsString.contains("Selenium 从入门到实战") /_ 报文返回的实际值_ /, true /_ 期望返回值_ /, "报文正文包含 Selenium 从入门到实战");

    }

    我们也可以使用 JsonPath 的方式精确验证某一个 JSON 报文节点:

    @Testpublic void testJsonPathResponse(){    

          //设置服务器基准地址

        RestAssured.baseURI = "http://qatools.cn/demon/api";

        //获得HTTP请求对象

        RequestSpecification httpRequest = RestAssured.given();

        //获得服务器响应报文

        Response response = httpRequest.get("/books");

        //把响应报文转化为JsonsPaht对象

        JsonPath jsonPathEvaluator = response.jsonPath();

        // 获取报文对象中指定节点的值String articleTitle = jsonPathEvaluator.get("$[0].name");// 验证节点至Assert.assertEquals(articleTitle, "Selenium 从入门到实战", "返回报文包含Selenium 从入门到实战");

    }

    GITBOOK CHAT :Rest-Assured 实战 REST API 自动化测试

    敏捷社区微信公众号:


    敏捷测试微信公众号:

    相关文章

      网友评论

        本文标题:Rest-Assured实战 REST API之使用 Rest-

        本文链接:https://www.haomeiwen.com/subject/zqvheftx.html