[关闭]
@pingniu 2018-03-27T03:54:21.000000Z 字数 1586 阅读 450

Postman--常用测试结果验证

postman


  Postman的test本质上是JavaScript代码,通过我们编写测试代码,每一个tests返回True,或是False。
  每一个tests实际上就是一个测试用例
  官方文档给出了很多验证方式,我们通过实例来进行学习
  接口返回结果为json
image_1c9impn5eibe1s8o10ngqv1ip2p.png-141.1kB  
1.检查response的body中是否包含字符串
tests["测试点"]=responseBody.has("需要查找的字符串");
例:
tests["desc描述"]=responseBody.has("success");
tests["statuscode"]=responseBody.has("200");
tests["code"]=responseBody.has("code");
tests["dataList是否存在"]=responseBody.has("dataList");
注:当json中value为integer时,需要查找的值可以不带双引号,
tests["xxx"]xxx代表的是你测试点的名字,可以是中文
tests["xxx"]xxx在一个脚本中如果出现多次,那么只执行第一个,所以尽量不要重复
当value等于中文字符串时,这个方法貌似就不怎么好用了
image_1c9inltq01rkt1qvk18nb10v3c6a9.png-71.2kB

2.检查ResponseBody是否等于字符串
tests["测试点"]=responseBody==="ResponseBody返回的内容";
这个可以用在接口返回内容为纯字符串时,直接检查整个返回结果的正确性,
例子:
接口返回:哈哈
tests["返回为哈哈"]=responseBody==="哈哈";
tests["返回为哈哈"]=responseBody==="哈";
第二个会返回False,必须完全匹配

tests["Responsetime小于200毫秒"]=responseTime>200;
tests["Responsetime大于200毫秒"]=responseTime<200;

4.检查状态码
这个也好理解,就是http请求状态码
tests["Statuscodeis200"]=responseCode.code===200;
image_1c9io01vo1k4jfj36fc1f4i1uesm.png-8.1kB

5.Codenamecontainsastring
tests["Statuscodenamehasstring"]=responseCode.name.has("Created");
tests["502"]=responseCode.name.has("Server");
tests["502"]=responseCode.name.has("UnreachableServer");
这个我的理解是,检查HTTPcode对应的string,如下面给出的list
如下对应表,如果使用fiddler模拟相应的返回,注意fiddler返回的大小写有问题,用下表的string
  1)消息(1字头)
  100Continue
  2)成功(2字头)
  200OK
  3)重定向(3字头)
  300MultipleChoices
  301MovedPermanently
  302Movetemporarily
  。。。。。
  500InternalServerError
  501NotImplemented
  502BadGateway
  503ServiceUnavailable
  600UnparseableResponseHeaders(省略了一些)
  
8.检查json的值
varjsonData=JSON.parse(responseBody);tests["Yourtestname"]=jsonData.value===100;
还拿上面的json数据做测试
tests["状态码为301"]=jsonData["code"]=="200";
tests["desc"]=jsonData["message"]=="success";
image_1c9ip9uuk1ddic7k1smk18nsuc32g.png-100.6kB

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注