接口测试工具大PK:Jmeter与Postman
今天给大家带来的是日常工作中, 大家都有接触过的接口测试工具Jmeter与Postman的比较.
1. Jmeter最大的特点就是组件化
使用Jmeter时, 默认自带一个组件也就是 TestPlan测试计划, 然后在TestPlan下新增Thread group线程组, 再去添加对应协议请求Sampler即可
2.Postman是更容易上手,界面更简洁
主要就是针对HTTP请求,其中Collection组件等价于TestPlan测试计划, 允许添加子文件夹等价于TestSuite测试套件,用于存储所有已编写好的脚本,每个请求都是一个用例脚本。
3.从功能支持来看,明显Jmeter支持的请求更多
同时企业中目前进行性能测试大多数也都基于Jmeter, 一招鲜吃遍天, 同时也支持多种不同的协议类型的接口测试.可以安装拆件, 或自己编写代码实现进行功能扩展
4.Postman更加轻便
大多数开发都会使用, 非常的便捷, 可以用来测试Restful接口
5. 自定义变量
Jmeter中, 通过添加用户定义的变量, CSV data set config组件进行从那束花, 前置、后置处理器等;
Jmeter调用引用变量的方式: ${变量名}
Postman中, 通过Environment环境变量设置进行环境处理, 同时也支持Global Environment全局变量设置, 支持csv/json格式参数化文件;
Postman调用引用变量的方式: {{变量名}}
6. 流程控制
Jmeter工具通过逻辑控制器模块, 可以添加非常多的控制组件适用于不同的场景
Postman则只能在Tests模块通过Javascript脚本代码进行实现.
7. 断言:
postman通过Test模块中编写javascript脚本代码进行断言
常用的断言方式有以下几种:
//断言HTTP协议响应状态码为 200
pm.test("Statuscode is 200", function () {
pm.response.to.have.status(200);
//断言期望的结果与实际响应结果一致
pm.test("断言msg的结果为:success", function () {
pm.expect(msg).to.eql("success");
//断言期望的字符串包含在实际响应文本中
pm.test("断言token字段包含在响应字符串数据中",function () {
pm.expect(pm.response.text()).to.include("token");
//断言预期的字符串数据与响应字符串数据完全一致