利用postman实现自动化测试

461 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第28天,点击查看活动详情

postman介绍

postman是一款API/接口功能测试工具,可以很方便的请求接口,查看响应,还能设置断言,实现接口自动化测试,在进行前后端开发时,postman很实用。

主页面

image-20220627205147728

详细介绍

1.左侧collections

可以把http请求分组管理,例如一个项目中一个角色可以分为一个collections,或者一个项目为一个collections,collections可以重命名,可以添加子文件,添加子文件夹

image-20220627205606568

我们点击edit,进入编辑如下图,可以设置请求头、前置脚本、断言,我们后续的自动化接口测试就要通过这个来实现。

image-20220627205719725

2.中间主体区

分为上下结构,上面是请求的一些信息,下面是相应回来的信息

  • 在上部结构中设置请求地址、请求方法、传递参数、设置请求头、设置前置脚本
  • 在下部结构中查看响应数据、响应头、断言结果、状态码、响应时间,还可以将响应回来的数据设置为不同的格式
  • 在这里我们可以定义变量,包括全局变量和局部变量,通过{{}}的形式将变量放入双括号中,例如:url地址,我们可以提前设置好全局变量,点击右上角的小眼睛,定义变量url,后续只需要用只需要通过{{url}}即可使用

image-20220627205832985

image-20220627210053095

3.导入和导出功能

在postman中,可以将collection导出为JSON格式(或link连接),如果另一位小伙伴需要进行测试,那么直接将导出的JSON格式文件(link连接)导入到postman中即可。

以下是通过导出link连接

导出json也同理

image-20220627210751701

image.png 我们只需要拿到postman提供的网址即可,点击import进行导入

自动化接口测试

1.测试流程

为什么需要自动化接口测试?

因为有时候接口数量很多,而且有些接口还是有关联的,如果一个一个的测,需要耗费大量时间和精力。通过自动化接口测试,可以利用前置脚本和断言,提前设置好测试顺序,就能迅速的将所以接口测试完,提高了开发效率。

步骤:自动化测试,首先我们需要将所以的接口都添加到同一个collection中,然后编写自动化测试脚本,接着将需要测试的脚本拍好顺序,最后执行即可。

postman中的自动化接口测试可以设置循环次数和之间间隔,很方便。但是它不是并发执行的,区别于(selenium的性能测试,它是并发执行)并发测试,它是按照顺序从上往下,并发是一切执行。

image-20220627211845962

image-20220627211853790

image-20220627211912401

image-20220627211937075

2.脚本语句

使用自动化接口测试前,需要了解postman提供脚本语句,是通过js实现的,对于前端人员很友好。

  • pre-request脚本,是在对API进行请求之前的脚本(前置脚本),一般用于动态生成参数。
  • test脚本,实在完成API访问并得到其response回应之后运行的脚本,一般用于获取response的内容,或用于判断请求是否成功。

流程:pre-request脚本 => request => response => test

image-20220627212520143

image-20220627212530917

常用的脚本语句

// 断言响应事件小于200ms
pm.test("Response time is less than 200ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(200);
});

// 例:需要校验body是否包含"success"
pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("success");
});
pm.test("Content-Type is present", function () {
    pm.response.to.have.header("Content-Type");
});