无论是接口测试人员仍是开发人员大几率下都绕不开一个工具,那就是Postman。固然可能还有一些接口测试工具,好比soapUI、Jmeter、Robot Framework 等。这四款工具笔者都使用过,经过比较发现,仍是Postman比较好用,因此这里会写上一点关于Postman的使用。html
使用工具的好处就是方便,由于咱们在实际工做中,都会结合工具和代码的使用。咱们访问Postman官网,点击download,固然Postman也分32位及64位,各位看官能够根据本身电脑操做系统进行选择。以下图所示:
数据库
安装过程比较简单 ,基本上就是一直点击下一步,安装完成以后,咱们能够选择注册或者跳过注册,这里咱们选择跳过注册。而后就能够看到Postman的主界面了,以下图所示:
json
到这里,实战项目已经搭建好,数据库环境也已经配置好,接口文档已经提供,Postman也已经安装好,什么也不说了,先来一波接口测试。在使用Postman作接口测试以前,请确保以上几个环境都已搭建好。微信
根据接口测试文档咱们能够获得,请求地址是localhost:端口号/ login,由于咱们使用8001端口启动项目,因此请求地址是http://localhost:8001/login,请求参数是username、password,请求方法是POST,因此在Postman界面输入如下内容,以下图所示:
工具
经过返回值咱们能够看到,咱们已经登陆成功,这里由于咱们输入正确的接口地址、参数(咱们建立的超级管理员用户名是admin,密码是admin111111。)、请求方式,若是咱们输入错误的请求方式或者请求参数会发生什么呢?以下图所示:post
登陆接口请求类型错误
测试
用户名或密码错误
ui
咱们根据接口文档能够看到,建立博客须要传入4个参数:id、title、author、content。其实在接口测试的时候,咱们最好先设计一下接口测试用例。好比这四个参数正常、异常组合一共有多少种状况,若是咱们把每一种状况都测到,那么接口测试应该是作的很是成功的。 下面我将演示部分异常、正常状况。以下图所示操作系统
测试标题过长
设计
id类型错误
title为空
请求方法错误
作测试的同窗都知道,没有预期结果的测试用例是不能称做测试用例的,postman断言其实也就算是预期结果。那么如何使用postman作断言呢?其实很简单,用到tests 这个模块。以下图所示:
那么咱们的查询博客接口如何断言呢?很简单,从响应内容作断言。好比查询一篇博客,响应内容以下:
经过上图咱们发现,咱们能够断言 status、message、以及响应状态码,那么如何作断言呢?点击Tests,输入以下内容,而后再运行,以下图所示:
var jsonData = JSON.parse(responseBody); tests["Check respose status value"] = jsonData.status === 1; //断言status是1 tests["Check respose message value"] = jsonData.message === "success"//断言message是success pm.test("判断data里面第一个json数据的id为12", function () { var jsonData = pm.response.json(); pm.expect(jsonData.data[0].id).to.eql(12);}); pm.test("Status code is 200", function () { pm.response.to.have.status(200); });// 断言响应状态码是200
经过上面断言咱们发现,断言方式其实仍是比较简单的,为何输入上面这些内容呢?由于咱们的返回值是Json格式内容,因此使用JSON.parse(responseBody)
获得返回值。jsonData.status
对应的是返回值里的status。至于状态码就比较简单了,直接点击,就会自动生成断言,以下图所示:
使用Postman生成接口测试脚本,我以为是Postman 的一个黑科技。那么如何使用呢?也特别简单,当咱们运行完测试后,点击code,可让咱们选择咱们想要生成的语言代码,好比咱们点击Python,而后选择requests,以下图所示:
固然生成的脚本也只是一个参考,咱们在实际工做中可能不会这么干。对于生成的脚本可能有点陌生,不过不用着急,咱们继续往下看,下面内容就会讲如何使用Python作接口测试了,当咱们学会使用Python作接口测试时,再回头看就比较简单了。不过有兴趣的同窗,能够先研究一下生成的脚本。
更多Postman的使用能够关注个人博客园-POSTMAN专栏
欢迎关注微信公众号:软件测试汪。软件测试交流群:809111560