繁体   English   中英

如何使用dataProvider通过Rest-Assured测试POST API

[英]How to use dataProvider for testing POST API with Rest-Assured

我正在使用Rest-Assured测试API。 我有以下测试,我想使用不同的post参数进行迭代

给定().parameters(“ param1”,“ abc”,“密码”,“ 1234”,“ param3”,“ abc”).when().post(“ Login”).then().statusCode(400) ); }

我该怎么做?

要从post参数重新开始,请尝试使用MAP以键值对的形式发送它们。 通过这种方式,您可以动态创建自己的JSON主体。 之后,在named()函数中,将Content类型作为JSON传递,并在Body中传递jsonAsMap。

    Map<Object, Object>  jsonAsMap = new HashMap<Object, Object>();

    jsonAsMap.put("param1", "abc");
    jsonAsMap.put("password", "1234");
    jsonAsMap.put("param3","abc");

        RestAssured.given()
            .log().all()
            .accept(ContentType.JSON)
            .contentType(ContentType.JSON)
            .body(jsonAsMap)

        .when()
            .post("http://DomainName/Login") . //Pass the link of the POST URL
        .then()
            .contentType(ContentType.JSON)
            .assertThat()
                .statusCode(400);

由于您将使用JUnit这样,因此它将起作用,如果您使用的是TestNG框架,则可以转到Data Provider。 在您的方案中,上面提到的这可能是测试某些POST请求状态的更好方法。

您可以创建一个方法来从文件中读取输入,并将其传递给parameters()方法。 (我们正在使用它来读取json文件中的输入)

或者,如果您正在使用TestNG,则也可以使用其dataprovider。

希望对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM