本文共 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() { Listlist = 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/