休息前

通过参考资料,开始使用Spring 5和Spring Boot 2学习的春天课程:

>>看看这个课程

1.概述

在这个快速教程中,我们将探索一些REST-assured高级场景。我们在之前的教程中讨论过REST-assured《放心指南

继续,我们将介绍如何设置请求的头、cookie和参数的示例。

设置与前一篇文章相同,所以让我们深入研究我们的示例。

2.设置参数

现在,让我们讨论如何为我们的请求指定不同的参数—从路径参数开始。

2.1。路径参数

我们可以使用pathParam(参数名称,值)指定路径参数:

@Test public void whenUsePathParam_thenOK(){给定()。pathParam(“用户”、“eugenp”)当(). get(" /用户/ {user} /回购”),然后().statusCode (200);}

为添加多个路径参数,我们将使用pathParams ()方法:

@Test public void whenUseMultiplePathParam_thenOK(){给定()。pathParams(“所有者”、“eugenp”、“回购”,“教程”)当(). get(" /回购/{所有者}/{回购}”),然后().statusCode (200);()。pathParams(“所有者”、“eugenp”)当(). get(" /回购/{所有者}/{回购}”,“教程”),然后().statusCode (200);}

在本例中,我们使用了命名路径参数,但我们也可以添加未命名参数,甚至将两者合并:

()。pathParams(“所有者”、“eugenp”)当()。get(" /回购/{所有者}/{回购}”,“教程”),然后().statusCode (200);

在本例中,生成的URL为https://api.github.com/repos/eugenp/tutorials。

注意,未命名参数是基于索引的。

2.2。查询参数

接下来,让我们看看如何使用queryParam ():

@Test public void whenUseQueryParam_thenOK(){给定()。queryParam(“问”,“约翰”)当(). get(" /搜索/用户")().statusCode (200);()。参数(“q”,“约翰”)当(). get(" /搜索/用户")().statusCode (200);}

参数()方法的行为类似于queryParam ()GET请求。

为了添加多个查询参数,我们可以将多个查询参数链起来queryParam ()方法,或将参数添加到queryParams ()方法:

@Test public void whenUseMultipleQueryParam_thenOK() {int perPage = 20;()。queryParam(“问”,“约翰”).queryParam(“per_page”,perPage)当(). get(" /搜索/用户")().body(“items.size(),是(perPage));()。queryParams(“q”、“约翰”,“per_page perPage)当(). get(" /搜索/用户")().body(“items.size(),是(perPage));}

2.3。形式参数

最后,我们可以使用formParam ():

@Test public void whenUseFormParam_thenSuccess(){给定()。formParams(“用户名”,“约翰”,“密码”,“1234”). post(“/”);()。参数(“用户名”,“约翰”,“密码”,“1234”). post(“/”);}

参数()方法会影响生命formParam ()POST请求。

还要注意,formParam ()添加一个内容类型值为"应用程序/ x-www-form-urlencoded”。

3.设置页眉

接下来,我们可以使用头():

@Test public void whenUseCustomHeader_thenOK(){给定()。头(“用户代理”、“MyAppName”)当(). get(" /用户/ eugenp”)().statusCode (200);}

在这个例子中,我们使用了头()设置用户代理头。

我们也可以使用相同的方法添加一个具有多个值的头文件:

@Test public void whenUseMultipleHeaderValues_thenOK(){给定()。标题(“我打入”、“val1”、“val2”)当(). get(" /用户/ eugenp”)().statusCode (200);}

在这个例子中,我们有一个带有两个头的请求:我打入:val1我打入:val2。

为添加多个头文件,我们将使用头()方法:

@Test public void whenusemulpleheaders_thenok(){给定()。当().get("/users/eugenp") .then().statusCode(200);}

4.添加饼干

我们也可以指定自定义cookie到我们的请求使用饼干():

@Test public void whenUseCookie_thenOK(){给定()。饼干(session_id”,“1234”)当(). get(" /用户/ eugenp”)().statusCode (200);}

我们也可以使用cookie定制我们的cookie构建器:

@Test public void whenUseCookieBuilder_thenOK() {Cookie myCookie = new Cookie。构建器("session_id", "1234") .setSecured(true) .setComment("session id cookie") .build(); given().cookie(myCookie) .when().get("/users/eugenp") .then().statusCode(200); }

5.结论

在本文中,我们展示了在使用REST-assured时如何指定请求参数、头和cookie。

和往常一样,示例的完整源代码是可用的在GitHub

休息下

开始使用Spring 5和Spring Boot 2,通过学习的春天课程:

>>看看这个课程
对这篇文章的评论关闭!