使用postman做接口测试实战

一、准备
1、postman工具
2、搭建被测系统服务
3、fiddler抓包工具

说明:本此实战测试是在完成前台界面开发后进行的,接口是通过fiddler抓包获取的。(如果没有完成系统前台开发,以项目组输入的接口为准进行测试也是一样的原理)

二、完成后
先看一下完成后的情况:
①设置环境变量,可区分是线上环境、测试环境、开发环境等不同的环境(可将变化的变量存放在此,如:ip、port、用户信息、token等)。
②新建要测试的接口:请求方式支持get、post、put、delete等
③保存新建的接口,便于下次继续使用,如:切换环境后接口确认及版本升级后回归测试。
在这里插入图片描述

三、具体操作-以登录接口为例
1、设置环境变量
在这里插入图片描述
在这里插入图片描述

2、新建接口请求
在这里插入图片描述

④为当前接口使用到的环境变量
⑤为接口地址,其中{{baseurl}}和{{port}}为④环境变量中设置的key值
①为消息头设置:如果不清楚具体有哪些内容,可以直接把用fiddler抓包到的所有的消息头都拷贝过来(我是拷贝过来后在调试脚本过程中把没有用到的信息又全部都删除了,所以只有1个,而不是下图刚拷贝过来的8个)
在这里插入图片描述
在这里插入图片描述

②为body:body中value也为④环境变量中设置的key值
在这里插入图片描述

③为tests,完成tests编写后操作send发送请求;查看tests结果
在这里插入图片描述

tests内容的目的是判断响应的结果是否准确,具体内容可以按照下面的代码块这样编写

//判断响应结果是否是200
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});


//判断响应结果是否包含
pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("登录成功");
});


pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("xxxx");
});

在这里插入图片描述

上图为登录接口返回的body内容,在编写tests是会用到这个。
4、保存接口:便于下次继续使用
在这里插入图片描述

四、其它使用场景
1、token/cookie传递
涉及到登录后才能进行的操作就需要在请求头中添加上cookie信息,下面以get接口为例实操如何进行传递。

第一步:将返回的内容转化为json格式,并且取到token内容添加到环境变量中。具体做法为,在login的tests中加入下面的代码。(环境变量中的token值就会实时更新,也保证了cookie的时效性)

//将返回的内容转化为json格式,并且取到token内容添加到环境变量中
var data = JSON.parse(responseBody);
postman.setEnvironmentVariable("token", data.token);

第二步:在要使用到cookie的接口的header中加入Cookie:user-jwt-token={{token}}
在这里插入图片描述

使用fiddle抓包到的消息头为:
在这里插入图片描述

2、多接口批量执行
在这里插入图片描述

查看上图最右侧的运行结果,可获得具体失败的接口及是接口中哪个判断或断言失败的信息。
在这里插入图片描述

3、复杂场景跳转
在这里插入图片描述

如:在执行完登录接口后直接跳转到customers接口,在login接口的tests里面就可以加入下面的代码:

//跳转到products接口(使用场景:按照条件跳过不必要的接口)
//setNextRequest() 函数不管在 Tests 脚本中何处被调用,它都只在当前脚本最后才被真正执行
//指定的跳转接口必须属于同一个集合中
//postman.setNextRequest() 只在运行集合测试的时候生效,也就是说我们单独运行 (Send) 接口Request1 时,函数是不起作用的
postman.setNextRequest("customers")
//postman.setNextRequest("login bf")

4、区分环境进行运行
前置条件:存在多套环境
在这里插入图片描述

单个接口运行环境选择见上图,批量运行时运行环境选择见下图:
在这里插入图片描述

5、console调试
打开方式:Alt+Ctrl+C
在这里插入图片描述

打开后页面如下图所示:
在这里插入图片描述

在接口请求的Pre-request Script 中填写

//默认只能发送get请求
pm.sendRequest(“https://postman-echo.com/get”, function (err, response) {
console.log(response.json());
});
1
2
3
4
填写后点击“send”运行,查看运行当前接口在console中展示
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值