如何放心设置url编码的表单实体并添加参数给表单实体?
How to set url encoded form entity and add params to form entity in rest assured?
下面的示例代码在http客户端中,但我想在Rest Assured中写同样的代码。我知道我们也可以放心使用 http 库,但我想放心
HttpPost pst = new HttpPost(baseUrl, "j_spring_security_check"))
pst.setHeader("Content-Type", "application/x-www-form-urlencoded")
ArrayList<NameValuePair> postParam = new ArrayList<NameValuePair>()
postParam .add(new BasicNameValuePair("j_username",username))
postParam .add(new BasicNameValuePair("j_password",password))
UrlEncodedFormEntity formEntity23 = new UrlEncodedFormEntity(postParam)
pst.setEntity(formEntity23 )
HttpResponse response = httpclient.execute(pst);
为了放心,您可以使用以下代码片段。
Response response = RestAssured
.given()
.header("Content-Type", "application/x-www-form-urlencoded")
.formParam("j_username", "uName")
.formParam("j_password", "pwd")
.request()
.post(url);
因为,您的应用程序使用表单 url 编码的内容类型,您可以如上所述将页眉类型设置为此。
希望对你有所帮助。
@Test
public void postRequestWithPayload_asFormData() {
given().contentType(ContentType.URLENC.withCharset("UTF-8")).formParam("foo1", "bar1").formParam("foo2", "bar2").log().all()
.post("https://postman-echo.com/post").then().log().all().statusCode(200)
.body("form.foo1", equalTo("bar1"));
}
添加 URLENC
的内容类型,字符集为 UTF-8
。会用的,最晚放心。
下面的示例代码在http客户端中,但我想在Rest Assured中写同样的代码。我知道我们也可以放心使用 http 库,但我想放心
HttpPost pst = new HttpPost(baseUrl, "j_spring_security_check"))
pst.setHeader("Content-Type", "application/x-www-form-urlencoded")
ArrayList<NameValuePair> postParam = new ArrayList<NameValuePair>()
postParam .add(new BasicNameValuePair("j_username",username))
postParam .add(new BasicNameValuePair("j_password",password))
UrlEncodedFormEntity formEntity23 = new UrlEncodedFormEntity(postParam)
pst.setEntity(formEntity23 )
HttpResponse response = httpclient.execute(pst);
为了放心,您可以使用以下代码片段。
Response response = RestAssured
.given()
.header("Content-Type", "application/x-www-form-urlencoded")
.formParam("j_username", "uName")
.formParam("j_password", "pwd")
.request()
.post(url);
因为,您的应用程序使用表单 url 编码的内容类型,您可以如上所述将页眉类型设置为此。
希望对你有所帮助。
@Test
public void postRequestWithPayload_asFormData() {
given().contentType(ContentType.URLENC.withCharset("UTF-8")).formParam("foo1", "bar1").formParam("foo2", "bar2").log().all()
.post("https://postman-echo.com/post").then().log().all().statusCode(200)
.body("form.foo1", equalTo("bar1"));
}
添加 URLENC
的内容类型,字符集为 UTF-8
。会用的,最晚放心。