如何使用dataProvider测试POST API
我正在使用Rest-Assured来测试API。 我有下面的测试,我想用不同的post参数对其进行迭代 给定() .参数(“参数1”、“abc”, “密码”、“1234”, “参数3”、“abc”) .when() .post(“登录”) .然后() .状态代码(400)); }如何使用dataProvider测试POST API,api,post,dataprovider,rest-assured,Api,Post,Dataprovider,Rest Assured,我正在使用Rest-Assured来测试API。 我有下面的测试,我想用不同的post参数对其进行迭代 给定() .参数(“参数1”、“abc”, “密码”、“1234”, “参数3”、“abc”) .when() .post(“登录”) .然后() .状态代码(400)); } 我该怎么做?您可以创建一个方法,从文件中读取输入并将其传递给parameters()方法。(我们使用它从json文件读取输入) 或者,如果您使用的是TestNG,也可以使用它的数据提供程序 希望对您有所帮助。要重新开始
我该怎么做?您可以创建一个方法,从文件中读取输入并将其传递给parameters()方法。(我们使用它从json文件读取输入) 或者,如果您使用的是TestNG,也可以使用它的数据提供程序
希望对您有所帮助。要重新开始post参数,请尝试使用键值对形式的映射发送它们。通过这种方式,您可以动态创建自己的JSON主体。之后,在给定的()函数中,将内容类型作为JSON传递,并在主体中传递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);
Map jsonAsMap=newhashmap();
jsonAsMap.put(“参数1”、“abc”);
jsonAsMap.put(“密码”、“1234”);
jsonAsMap.put(“参数3”、“abc”);
RestAssured.given()
.log().all()
.accept(ContentType.JSON)
.contentType(contentType.JSON)
.正文(jsonAsMap)
.when()
.post(“http://DomainName/Login") . //传递帖子URL的链接
.然后()
.contentType(contentType.JSON)
.断言()
.状态代码(400);
由于您将使用JUnit,所以,如果您使用的是TestNG框架,则可以转换为数据提供程序。在您的场景中,上述方法可能是测试某些POST请求状态的更好方法。您仍在搜索答案吗?