Postman介绍
Postman是一款能模拟http请求的工具软件,支持get/post两种方式,对于程序开发人员来说提供了一种接口测试的工具。Postman能够保留用户的请求历史记录,方便下次请求时直接查找.
接口测试是针对软件对外提供服务的接口的输入输出进行测试,以及接口间相互逻辑的测试,验证接口的功能与接口描述文档的一致性。
接口测试能够对系统测试的更为彻底,更好的保证产品质量,同时越早的发现问题,修改和维护的代价也越小。
接口测试的步骤:根据接口文档设计用例->>调用接口->>验证结果
Postman主界面:
Collections:在Postman中,Collection类似文件夹,可以把同一个项目的请求放在一个Collection里方便管理和分享,Collection里面也可以再建文件夹。如果做API文档的话,可以每个API对应一条请求,如果要把各种输入都测到的话,就需要每条测试一条请求了。
Postman使用方法
测试工具主要包括三部分,在发起请求之前运行的Pre-request,在收到应答之后运行的Test,和一次运行所有请求的Collection Runner。
Pre-request和Test用的语言都是JavaScript,Postman在一个沙盒里执行代码,提供给用户的库和函数可以在这里查看。而常用的功能都可以通过右边的Code Snippets实现,点击就可以插入到代码区域。
Params
请求参数,利用抓包工具获取url时,url中会携带参数,会自动填入Params中,如果需要对参数的值进行改变,可以直接在postman的Params对参数的value进行改变.
Body
当使用的请求方法是post时,需要注意请求头中Content-Type头域,在postman的body中选择相应的Content-Type,填补相应的key和value.
- form-data:文件上传界面
- x-www-form-urlencoded:表单提交
Pre-request
可以看到Pre-request里常用的功能就两种,设置环境变量和设置全局变量。这条请求的pre-request就是在注册之前生成一个字符串作为随机用户名。
postman.setEnvironmentVariable("random_username", ("0000" + (Math.random()*Math.pow(36,4) << 0).toString(36)).slice(-4));
在发起请求之前获取当前的时间戳放在参数里:
postman.setEnvironmentVariable("unixtime_now", Math.round(new Date().getTime()/1000));
总之,在发请求之前需要手动修改的东西,都可以考虑用脚本自动实现。
Tests
接口请求发起后得到反馈信息后会进行的操作。
和Pre-request相比,Test的Snippets就丰富多了,例如检查状态码、检查响应串、验证JSON、检查header、限制应答时间。
如果需要将服务器响应的数据保存下来,用在后面的请求里,也需要在这一步做。
设置了test断言后的响应的结果可以在Test Result中得到结果。
设置环境变量
Globals:设置一个一个的全局变量,可供postman中所有工程使用
Envoronment(Add):添加一套环境,供接口测试时使用
Collection Runner
当编写了很多测试之后,就可以使用Collection Runner来自动运行整个Collection了,入口就在主界面最上面一行的Runner。选好Collection、Environment,如果有需要还可以载入JSON和CSV作为数据源。点击Start Test Run,就可以看到结果了。
利用外部文件导入数据
在excel中每个变量对应一列,输入测试用例的数据,保存为csv格式的文件,利用notepad++将文件的字符编码转为utf-8的格式。
Postman使用步骤
1.创建测试集文件
2.获取接口信息(通过接口文档或抓包的方式获取):在浏览器中输入接口访问地址–》F12切到开发者界面–》NetWork–》在General中可以得到requestURL,获取请求方法填入postman中的url中
3.填写请求参数