当前位置: 首页 > 科技观察

接口测试难吗?教你使用Postman轻松搞定接口测试

时间:2023-03-17 14:39:07 科技观察

作为接口自动化测试工具,Postman的名字一直萦绕在耳边。目前,只要是测试工程师,就一定要有“接口测试经验,熟练使用Postman等接口测试工具”,到底什么是Postman,如何使用,让我这个Postman小白带你回顾一下小白在使用Postman进行测试时使用的各种功能!  首先,下载并安装后打开Postman,您会看到它的主页。小白用一张图给大家直观的介绍主要界面功能,这里不再赘述。  拿到需要测试的接口文档就知道具体的接口访问方式是POST还是GET,具体的参数格式是:form-data,x-www-form-urlencoded,JSON或者XML等,接口需要的参数定义及相关取值范围等信息,可根据具体接口文档要求配置如下图。  简单介绍下小白在项目中主要使用的三种请求格式:  form-data:可以理解为以表格形式请求数据;  x-www-form-urlencoded:将表单中的数据转化为key-value对进行请求;  raw:可以上传任意类型的文本,比如text、json、xml等,因为小白项目大部分都是JSON格式的消息Request,所以raw-json是小白在项目中用的最多的.  下面我们以一个非常简单的某天气的接口为例,详细介绍接口测试的方法。  根据接口文档的要求,我们知道了theUserID和theCityCode这两个参数,可以通过x-www-form-urlencoded方法获取。其中,theUserID不能指定为用户标识,theCityCode为中文城市代码。如果要查询上海的天气情况,可以将CityCode填写为“上海”。参数配置完成后,点击“发送”按钮,可以直接在响应消息BodyofResponse中查看具体的响应消息。  那么我们如何验证接口返回的消息是否正确,接口服务是否正常呢?在这里,我们将使用Postman的测试。  在Tests中,我们可以使用Postman的常用功能来验证接口。首先想到的是如何自动验证接口是否可用,返回的消息是否正常。然后我们将使用以下方法:pm.test("Bodymatchesstring",function(){  pm.expect(pm.response.text()).to.include("string_you_want_to_search");  });  该方法主要是将消息中的字符串返回给Response,经过比较,如果字符串匹配,则判断Response返回的响应消息是正常的,接口验证通过。例如,以天气查询接口的返回消息为例:pm.test("Bodymatchesstring",function(){  pm.expect(pm.response.text()).to.include("上海,直辖市");  });  通过对比“上海,直辖市”的字符串,可以确定接口验证通过,返回正常。同时,我们也可以使用下面的方法来对比整个响应。pm.test("Bodyiscorrect",function?(){  pm.response.to.have.body("response_body_string");  });  我们也可以用下面的方法来测试responsetimeVerify,验证这个接口返回的消息的响应时间是否满足我们要求的时间。pm.test("Responsetimeislessthan200ms",function(){  pm.expect(pm.response.responseTime).to.be.below(200);  });  我们也可以使用下面的method将响应消息由XML格式转换成JSON格式,方便响应消息的进一步处理。varjsonObject=xml2Json(responseBody);  当需要验证多个接口,下一个验证接口发送的消息需要发送上一个接口的响应返回的值时,怎么办?我们需要写一大段代码来实现这个功能吗?不需要,Postman只需要2行代码就可以实现,如下:响应消息赋值给jsonData,所需响应消息中的值赋值给环境变量“TOKEN5”。同时{{TOKEN5}}可以在下一次接口请求中使用环境变量“TOKEN5”中存储的值,如下:  当多个接口同时使用多个变量时,Postman提供方便和快速变量修改功能和查看功能可以通过右上角的“齿轮”图标和“眼睛”图标来实现:  最后,Tests标签页上有17个功能和方法的快速访问栏,让大家可以轻松的点击实现断言的验证,响应报文的格式转换等,对于新手的我来说,SoEasy!项目经理再也不用担心我的接口测试了。