postman自动化接口测试使用详解

Posted CC爱测试

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了postman自动化接口测试使用详解相关的知识,希望对你有一定的参考价值。


如果需要达到自动化接口测试的效果,那么我们在基本的模拟请求上还需要做哪些呢?

以下粗略概括为 3 个问题:

如何判断接口是否请求成功
如何进行接口批量、定期测试
如何处理依赖接口问题(比如商品下单的接口必须要求先登录
所以,接下来就主要分为 3 个部分进行介绍,以分别解决这 3 个问题。

1.接口结果判断

首先,既然是自动化测试,那么我们肯定需要工具 (Postman) 或者代码能帮我们直接判断结果是否符合预期。那么在接口测试上,大体就两个思路:

     判断请求返回的 code 是否符合预期;
     判断请求返回的内容中是否包含预期的内容(关键字);

接下来我们看看如何利用 Postman 来解决上述的问题:

功能区(SNIPPETS):

2.集合(批量)测试

想要进行接口的批量测试、管理,那么我们需要将待测试的接口全部都保存到同一个集合(Collections)中,你可以认为就是保存到同一个文件夹中。先看看 Postman 中的操作步骤:

通过以上步骤,我们得到一个待测的接口集合

批量执行
以上准备就绪后,我们就可以开始批量运行接口进行测试了:

点击Run 后,会新打开一个页面:

Environment :用于切换接口运行的环境,这里先不管,后面再讲
Iteration :用于设置接口一共要运行的次数。
Delay : 设置每次运行接口之间的时间间隔,单位为毫秒。
Data File : 上传测试数据文件 (下文单独讲)
变化的参数数据
我们已经了解了,如何让多个接口循环运行多次,但是现在有个问题,按目前这个步骤,每次运行时接口的参数都是一样的,那么就算我们运行个100次、1000次意义也不大。

先看看我们写好的一个登录功能的接口:

使用变量
现在登录的账号和密码参数都是写死的,也就是不过我们执行多少次,都是拿这个账号去测试。 那么如果想要测试账号密码参数使用其它值有没有异常怎么办呢?( 想要每次都手动改的可以跳过这部分 /手动滑稽)这里我们先简单讲一下在 Postman 中使用如何“变量”,如下图:

引用一个变量的语法:变量名, 图中可以看到,我们将账户和密码字段的参数值都设置为变量:username 、password 。修改完直接点击运行 (Send) 当然是不行的,因为目前这两个变量还未被赋值,不过我们可以在 Pre-request Script 面板中进行赋值操作:

Pre-request Script
Pre-request Script 与 Tests 类似,区别在于:Pre-request Script 中的脚本是在执行请求之前运行,而Tests 中的脚本则是在请求完成之后执行。所以,我们可以在 Pre-request Script 功能区中用脚本先个上面两个变量进行赋值,如:

Set a global variable //设置全局变量

但是用 Pre-request Script 进行赋值操作仍然不能解决我们的问题,因为按照这种写法,不论运行多少次其实都还是用固定(写死)的数据进行测试。当然既然是脚本语言,也会有更灵活的用法,这边先不讲。

测试数据集
接下来我们讲讲 Data File , 在运行集合前的这个选项就是用来上传测试数据(文件)以赋值给相应变量的。我们先以 CSV 格式的测试数据为例:

数据格式类似表格,第一行表示对应的变量名,下面 4 行表示 4 组账号密码数据(其中两组为正确数据) ,我们保存一份内容为上述示例数据后缀名为.csv 的文件后,再次开始测试看看效果,我们选择运行次数为 4 (对应 4 组测试数据)、选择对应的 CSV 文件运行后,可以看到我们的结果确实如我们的预期。接口 Request 运行的结果为两次成功两次失败,也就是每一次运行都赋值了不同的账号密码的测试数据 (在最新的桌面客户端版本中可以看到每次具体的请求情况,这边就不再细说了)。

如果使用 Json 文件的话,那么格式如下:

定期任务
Postman 提供了一个 Monitors (监视器)功能,支持我们提交一个测试任务,按照设置的定时器进行运行,如每小时测试一次,具体操作如下:

在我的QQ技术交流群里整理了我这10几年软件测试生涯整理的一些技术资料,包括:电子书,简历模块,各种工作模板,面试宝典,自学项目等。如果在学习或工作中遇到问题,群里也会有大神帮忙解答

以上是关于postman自动化接口测试使用详解的主要内容,如果未能解决你的问题,请参考以下文章

接口调试工具Postman之自动同步Chrome cookies,实现自动登陆验证

自动化接口测试-第02天-接口用例设计思路单接口用例业务场景用例postman

PostMan——安装使用教程(图文详解)

python+requests接口自动化测试框架实例详解

python+requests接口自动化测试框架实例详解教程

使用postman+newman+python做接口自动化测试