RestAssured接口自动化从入门到框架搭建-11-请求数据的设置(一)

关于请求数据的设置,前面我们零散地学习到了请求头的设置,这一篇,我们主要来看看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);
	}

测试通过,你可以手工查询下这个请求,在浏览器中。http://jsonplaceholder.typicode.com/posts?userId=3

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

        @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<String> list = new ArrayList<String>();
		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);
	}

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

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值