前言
在软件开发过程中,接口测试是确保软件各组件之间正确交互的关键环节。Postman作为一款强大的API开发工具,不仅支持接口请求的发送与调试,还提供了丰富的自动化测试功能,使得接口自动化测试变得更加高效和便捷。本文将从Postman的基础使用开始,逐步引导你如何利用Postman进行接口自动化测试。
为什么需要自动化测试?
-
可以替代大量的手工机械重复性操作,测试工程师可以把更多的时间花在用例设计和新功能的测试上
-
可以大幅度提升回归测试的效率,非常适合敏捷开发过程
-
可以更好地利用无人值守时间,去更频繁地执行测试
-
可以高效实现某些手工测试无法完成或代价巨大的测试类型,例如:7*24小时持续运行的系统稳定性测试和高并发场景的压力测试
-
可以保证每次执行的操作具有一致性和可重复性,不会受人的感情因素影响。
Postman接口自动化流程
一、安装
1. 安装与启动
-
访问Postman官网下载并安装Postman。
-
启动Postman,你会看到一个简洁的界面,包含请求构建器、响应视图、侧边栏等多个部分。
2. 创建请求
-
在Postman中,你可以通过点击左上角的“New”按钮来创建一个新的请求或集合。
-
在请求构建器中,你可以设置请求的方法(GET、POST等)、URL、Headers、Body等。
-
点击“Send”发送请求,并查看响应结果。
二、构建接口测试集合
为了进行自动化测试,我们需要将相关的接口请求组织在一个集合(Collection)中。
1. 创建集合
-
点击侧边栏的“Collections”选项卡,然后点击“+ New”按钮创建一个新的集合。
-
为你的集合命名,并添加必要的描述。
2. 添加请求到集合
-
在请求构建器中完成请求的设置后,点击“Save”按钮。
-
选择你之前创建的集合,将请求保存到该集合中。
三、编写测试用例
Postman提供了“Tests”标签页,允许你编写JavaScript脚本来对响应进行断言,从而实现测试用例的编写。
1. 编写测试脚本
在请求的“Tests”标签页中,你可以编写JavaScript脚本来对响应的状态码、响应体等进行检查。
例如,检查HTTP状态码是否为200:
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
检查响应体中是否包含特定内容:
pm.test("Body contains content", function () {
pm.expect(pm.response.text()).to.include("expected content");
});
四、运行集合测试
Postman允许你一次性运行集合中的所有请求及其测试脚本。
-
使用Runner运行测试
-
点击集合旁边的“Run”按钮,打开Runner界面。
-
选择你想要运行的集合,设置迭代次数(如果需要的话),然后点击“Run [Collection Name]”开始测试。
-
Runner会依次执行集合中的每个请求,并在界面上展示测试结果。
实践演练
1.新建集合
2.新建接口
3.填写自动化测试脚本
例如,我需要测试几点
http状态码200
返回的json的code码是0
接口返回时间不小于1000毫秒,脚本如下
//查看httpCode码
tests["接口状态码200"] = responseCode.code === 200;
//判断请求时间
tests["返回时间小于1000毫秒"] = responseTime < 1000;
//返回body转json
var data = JSON.parse(responseBody);
//检查json数据
tests['code码必须为0']= data.code==0
4.运行测试结果如下:
5.批量录入所有接口
然后接下我要对所有的接口进行这样的测试,把这些接口都录入,如下
6.执行自动化测试
点击集合的Run按钮
弹出如下界面,可以填写相应的参数,这里我用默认的
点击Run,执行结果如下
可以看到,我们测试了32个接口,其中25个通过,7个失败!
另外Postman还推出了命令行版本Newman,可以配合Jenkins做接口自动化测试和持续集成。
1. 安装Newman
你可以通过npm安装Newman:npm install -g newman
2. 使用Newman运行测试
将Postman集合导出为JSON文件。
在命令行中使用Newman运行该JSON文件:newman run your_collection.json
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。