[英]How to pass several parameters via pathParam() [REST-ASSURED, 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.