博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RestAssured接口自动化从入门到框架搭建-11-请求数据的设置(一)
阅读量:4302 次
发布时间:2019-05-27

本文共 2041 字,大约阅读时间需要 6 分钟。

关于请求数据的设置,前面我们零散地学习到了请求头的设置,这一篇,我们主要来看看GET和POST两种请求数据的设置,在Rest Assured中如何使用。

 

1.GET请求数据设置之queryParam()方法

前提是GET请求,请求参数都是拼接在Url后面,如果你看到类似这样请求 http://localhost:8080/api?user=tom&pwd=123456

那么你就第一选择使用queryParam()这个方法来封装数据。

/**	 * get请求参数数据设置:queryParam	 */	@Test	public void testQueryParam() {		given().			queryParam("userId", "3").		when().			get("http://jsonplaceholder.typicode.com/posts/").		then().			statusCode(200);	}

测试通过,你可以手工查询下这个请求,在浏览器中。

如果请求有多个参数,可以这么写。

@Test	public void testQueryParam() {		given().			queryParam("userId", "3").                        queryParam(key2, key2-value).                        queryParam(key3, key3-value).		when().			get("http://jsonplaceholder.typicode.com/posts/").		then().			statusCode(200);	}

哪怕参数有10个以上,你也可以采用这个queryParam()方法。

 

2.POST请求参数设置之formParam()

看完GET请求,我们立马来看一个POST请求。

/**	 * POST请求参数设置:formParam()	 */	@Test	public void testFormParam() {		given().			formParam("name", "Tom1").			formParam("job", "Tester").		when().			get("https://reqres.in/api/users").		then().			statusCode(200).log().all();	}

我这边运行是可以通过,这个接口返回数据我们这个case不关心,只关心formParm()方法,看方法名称也看出来了,就是表单参数提交,对不对,一般POST请求参数都是以表单提交。如果有多个参数,可以写多个formParam()方法,里面参数是左边是key,右边是value.

 

3.POST和GET方法通用的请求数据设置之param()--推荐方式

我前面文章介绍过一个post请求的代码是这样的。

@Test	public void testAPostMethod() {		given().			param("name", "Anthony123").			param("job", "tester").			header("Content-Type", "text/html").		when().			post("https://reqres.in/api/users").		then().statusCode(201).log().all();	}

不管是get还是post请求,参数设置都可以使用param(key,value)这个方法,而且推荐这样写。因为,如果是get请求,这个时候param()会被当做queryParam()对待,如果是post请求,param()会被当做formParam()对待。

 

4.多参数多值的情况下param()的使用

有时候我们不止有多个参数,而且其中部分参数有些是一个值,有些是空值,有些值是一个集合。下面代码来演示下,这个代码运行不了,我们主要看param()方法的使用

/**	 * 请求参数设置:多参数	 */	@Test	public void testMulParams() {		List
list = new ArrayList
(); list.add("one"); list.add("two"); given(). param("key1", "val1","val2","val3"). param("B"). param("C", list). when(). get("https://xxxx/api/users"). then(). statusCode(400); }

下一篇继续介绍请求参数的设置,这一篇只是基础的部分。

转载地址:http://znows.baihongyu.com/

你可能感兴趣的文章
sdc时序约束
查看>>
Xilinx Jtag Access/svf文件/BSCANE2
查看>>
NoC片上网络
查看>>
开源SoC整理
查看>>
【2020-3-21】Mac安装Homebrew慢,解决办法
查看>>
influxdb 命令行输出时间为 yyyy-MM-dd HH:mm:ss(年月日时分秒)的方法
查看>>
已知子网掩码,确定ip地址范围
查看>>
判断时间或者数字是否连续
查看>>
docker-daemon.json各配置详解
查看>>
Mac 下docker路径 /var/lib/docker不存在问题
查看>>
Docker(一)使用阿里云容器镜像服务
查看>>
Docker(二) 基础命令
查看>>
Docker(三) 构建镜像
查看>>
Spring 全家桶注解一览
查看>>
JDK1.8-Stream API使用
查看>>
cant connect to local MySQL server through socket /tmp/mysql.sock (2)
查看>>
vue中的状态管理 vuex store
查看>>
Maven之阿里云镜像仓库配置
查看>>
Maven:mirror和repository 区别
查看>>
微服务网关 Spring Cloud Gateway
查看>>