目录

1、接口测试

1.1、接口测试概念:

1.2、组成

1.3、编写接口测试用例

1.4、传统接口测试问题

2、AI赋能接口测试

2.1、AI赋能接口用例的编写

2.2、AI赋能脚本编写

3、cursor赋能接口自动化

4、cursor接口自动化整个项目

4.1、需求分析和用例设计

4.2、搭建项目框架

4.3、生成代码脚本:

4.4、生成测试报告

5、MCP

6、postman-mcp-server的使用

6.1、在postman中添加接口

6.2、在postman中添加监控

6.3、在postman对接口添加断言

7、MCP零代码项目自动化实战


1、接口测试

1.1、接口测试概念:

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系。简而言之,接口测试就是通过测试不同情况下的入参与之相应的出参信息来判断接口是否符合或满足响应的功能性、安全性要求。

补充:接口测试实际相较功能测试更简单一点。因为功能测试是从页面输入值,然后通过点击按钮或者链接等传值给后端,而且功能测试还要测UI、前端交互等功能,但是接口测试没有页面,他是通过接口规范文档上的调用地址、请求参数,拼接报文,然后发送请求,检查返回结果,所以他只需要测入参和出参就行了,相对来说简单了不少呢。

1.2、组成

接口文档应该包含以下内容:接口说明、调用url、请求方法、请求参数、参数类型、请求参数说明、返回参数说明。

由接口文档可知,接口至少应有请求地址、请求方法、请求参数(入参和出参)租车才能够,部分接口有请求头header

header:是服务器以HTTP协议传HTML资料到浏览器前送出的字符串,在标头与HTML文件之间尚需空一行分隔,一般存放cookie、token等信息。

header和入参有什么关系?他们不都是发送到服务器的参数吗?

1.3、编写接口测试用例

基于接口文档设计测试用例、结合业务逻辑来设计测试用例

基于接口文档设计:1、通过性验证--按照接口文档上的参数,正常传入,是否可以返回正确的结果。  2、参数组合---比如当修改商品有很多种不同的选项填写的时候,就使用参数组合,组合出不同的情况进行测试。  3、接口安全测试---绕过价格测试(买家在提交订单的时候是否能对商品的价格进行修改)、身份授权测试(使用普通用户调用修改商品信息接口--提示无权限操作)、参数加密测试(登录接口的用户名和密码是否加密,拦截请求查看数据)、密码复杂度测试(输入不符合密码复杂度要求的密码,调用接口提示不符合安全规则)   4、异常验证:不按照接口文档上的要求输入参数,和文档上的是逆向的进行测试。

结合业务逻辑设计测试用例:把测试点列出来,然后再造数据测试对应的测试点。

1.4、传统接口测试问题

测试用例编写效率低,依赖人工经验。 断言规则编写繁琐且易出错。  接口依赖环境数据、造数困难。

2、AI赋能接口测试

2.1、AI赋能接口用例的编写

通过设计的提示词就可以借助AI理解接口文档定义,自动生成测试用例

提示词设计:

指令:请根据以下的接口信息帮我生成完整的测试用例列表。要求覆盖正常情况、异常情况、边界情况、安全测试场景

背景信息:注册接口请求参数包含用户名、密码、邮箱三个字段,用户名必填、长度3-16,密码必填,至少8位,包含数字和字母,邮箱必填,符合邮箱格式。

输入:接口信息如下-- POST  .......(url)

请求参数:username:string  password:string  email:string

输出:用表格形式展示,包括:用例编号、测试目标、输入参数、预期结果

2.2、AI赋能脚本编写

提示词设计:

测试代码往往涉及多个模块、上下文复杂、需要频繁维护,我们需要更专业的AI编程环境--Cursor

3、cursor赋能接口自动化

直接搜索cursor,如果代码出现问题,【在右侧对话栏】可以直接问ai,ai进行修改之后的结果会直接作用在我们的代码上。也可以选中报错,点击出现的Add to Chat,就可以把错误信息提供给AI对话框中

cursor可以实现------自动补齐代码、代码问题修复、自动生成测试脚本

把提示词给cursor,让他生成测试用例。

生成完测试用例之后,可以继续告诉他,请根据第一条测试用例,在TestLogin类中生成对应的测试脚本。

AI就可以生成第一条用例的脚本。

但是当生成测试脚本之后,我们一定要对代码进行检查,要配合postman的返回值与代码进行对比,不同的要进行修改。

我们可以对断言进行优化,通过postman得到不同情况的返回值,将返回值给ai,让他对断言进行优化。

对断言的优化---增强不同场景下对返回值的校验(我们可以提供不同情况的返回值,然后修改测试脚本的断言规则。

参数化:优化代码,降低冗余(结构相同的代码,可以写一个方法,实现减少测试用例);模拟用户真实的操作行为(用户登陆的时候必然提供多组正确的账户)。

可以借助AI使用参数化来合并用例,一定要注意提示词的表达,准确的提示词会很大的提高代码的正确性。

提示词:

数据依赖--在博客系统中除了登录接口,在其他接口的请求头添加请求头信息,该字段取值为登录接口的返回值data

修改数据依赖:

列表页的测试用例:

根据上面的测试用例给我生成test_list.py文件中的测试脚本

提示词:修改数据依赖

4、cursor接口自动化整个项目

4.1、需求分析和用例设计

将项目的接口整理出一个接口文档(使用Typora软件)和一个测试用例模板文档。文档必须是.md后缀的才能被cursor读取。

我们需要提前整理一份接口文档,里面包含每个接口的相关信息:接口名称、url、请求方法、接口描述、请求头、请求参数等接口的就基本信息,成功返回值示例、失败返回值示例

生成测试用例之后需要对用例结合postman进行检查,进行修改。

4.2、搭建项目框架

提示词:

对生成的框架进行修改,框架生成之后是一个文件。

可以先成项目架构----再生成代码

架构生成提示词:

提示词--@项目架构文件 根据项目架构在当前项目下创建对应的文件和文件夹,不需要生成任何代码。

这样就可以生成整个项目的整体架构-----生成之后要检查。

4.3、生成代码脚本:

生成脚本提示词:测试用例、接口文档  根据已有项目架构、测试用例和接口文档生成自动化脚本和对应的代码实现

【点击对话框的@可以选中文件】

AI生成脚本之后先让AI自行检查代码是否完整。直接告诉AI“检查已经生成的内容,代码是否完整,调用是否完整”   如果AI没有发现问题,就自己去检查,检查出的问题直接告诉他,让他进行修改。

可能出现的问题:(可以检查)

1、yaml文件中没有内容  

2、测试用例的数量不够

3、存在生成的配置或者公共方法没有调用

4、测试脚本中没有jsonschema断言

5、有效的blogid没有从列表页接口返回值中获取

6、测试脚本中存在冗余的代码

4.4、生成测试报告

如果生成的测试报告如果有问题可以告诉AI进行修改。

5、MCP

“大模型和外部世界交流的翻译官”,大模型(像GPT这种)本身只会根据输入文字来回答问题。(我告诉AI帮我们删除文件,AI只会告诉我们如何去删除,不能直接帮我们删除)但是如果我们希望模型去干活:比如查数据库、打开一个网站、运行一个自动化脚本、调用API获取实时数据。这些就需要一种统一的沟通协议,让模型知道:哪些功能能用、怎么调用、结果怎么传回来,这个协议就是MCP(我们要使用jmeter去进行性能测试,我们可以问AI应该怎么做,AI会给出具体教程,那么我们如何让AI直接操作jmeter,这就需要MCP)(fidder--AI直接操作fidder、postman---AI直接操作postman)

1、使用Postman MCP Server,首先要清空postman中的配置,我们要使用提示词:使用postman MCP中的集合、环境、监控等所有内容(在cursor中配置postman的MCP)

2、在postman上添加接口(不是人手动去添加,而是让AI来进行添加)

在cursor上输入提示词:

接口测试:整理接口信息---《接口文档》---所有接口设计测试用例(例如:一个接口给不同的参数)---添加到postman集合中----添加监控自动执行集合中所有接口(就是接口自动化)

这样的接口自动化是不需要代码的---无编码实现自动化操作!

1、安装npm

1、安装Node.js

2、打开cmd运行以下命令

node -v 

npm -v

3、安装pnpm ------  npm install -g pnpm

(如果安装不成功,就使用管理员身份打开cmd,---点击cmd中向下的箭头同时按住ctrl,以管理员身份打开再安装)

4、C:\Users\lenovo>pnpm -v

输入pnpm -v显示pnpm的版本,如果出现了版本号,说明安装成功,如果出现下面报错

'pnpm' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

就是环境变量的问题

【解决办法】:输入npm config list  发现npm混乱

删除错误配置:

npm config delete prefix
npm config delete cache

设置正确配置:

npm config set prefix "C:\Users\lenovo\AppData\Roaming\npm"
npm config set cache "C:\Users\lenovo\AppData\Local\npm-cache"

验证配置是否正确:

npm config list(应该显示两个路径)

重新安装pnpm

npm uninstall -g pnpm
npm install -g pnpm

输入where pnpm出现两个地址就说明正确了

C:\Users\lenovo>where pnpm C:\Users\lenovo\AppData\Roaming\npm\pnpm C:\Users\lenovo\AppData\Roaming\npm\pnpm.cmd

现在输入pnpm -v就可以出现版本号了

5、下载postman-mcp-server源码

打开cmd进入想要将源码放到的文件夹中

输入git clone https://github.com/delano/postman-mcp-server.git

可能会报错,我们先去安装github

然后新建一个存放这个源码的文件夹,同时安装shift和鼠标右键,然后选择open git bash here

输入红色的命令,出现的绿色框的就是ssh key

打开github官网

浏览器打开 GitHub Settings > SSH and GPG keys

点击绿色的add new ssh key

titile随便起一个名字,key是上面绿色框中的直接复制进去

检验是否添加成功

继续拉取源码:

成功下载之后,打开cmd进入这个文件夹(打开git bash的这个文件夹)

6、pnpm install安装依赖

7、pnpm run build构建服务器

2、在cursor中添加MCP配置

我们要使用postman进行自动化接口测试(无代码)

然后随便起一个名字,然后一定要要复制生成的key(建议复制之后用记事本进行保存)

成功之后就会出现一个上面这个

打开cursor

进入之后进行配置

"postman": {

      "command": "node",

      "args": [

      "这个是自己的index.js存放的位置"

      ],

      "env": {

      "这个是刚刚要保存在记事本中的key"

      }

    }

  }

配置完之后ctrl+s保存配置

配置完就会出现这个

环境搭建好之后我们就可以在cursor上使用ai对话,通过mcp使得ai直接来操作postman。

ai是使用postman的api接口来操作postman的而不是模拟人手工的操作来操作postman。

6、postman-mcp-server的使用

6.1、在postman中添加接口

在postman中添加登录接口的提示词:-----使用cursor

使⽤postman MCP执⾏以下操作
接⼝信息:
POST http://8.130.13.242:9090/user/login
form-data:
username=zhangsan
password=123456
返回值
{
"code": "SUCCESS",
"errMsg": "",
"data": "有效JWT"
}

这样cursor就可以帮我们在postman添加请求

在postman中添加列表页接口的提示词:---使用cursor

使⽤postman MCP将以下接⼝添加到博客系统接⼝集合中
接⼝信息:
GET http://8.130.13.242:9090/blog/getList
请求头
user_token_header:有效JWT需要从博客系统接口集合下的用户登录接口返回值data中获取

发送上面这个提示词的时候先不要创建新的对话,以免识别不到登录接口的返回值。

点击下图的run就可以一起运行,以免用户登录接口生成的user_token_header失效

在postman中添加获取用户登录凭证的接口---使用cursor

使⽤postman MCP将getUserInfo接⼝添加到博客系统接⼝集合中
接⼝信息:
GET   http://8.130.13.242:9090/user/getUserInfo

请求头
user_token_header:有效JWT需要从博客系统接口集合下的用户登录接口返回值data中获取

获取列表页的请求头:

获取用户信息的请求头:

这个请求头信息是被保存在这里的:

6.2、在postman中添加监控

我们之前实现接口自动化都是通过代码来实现的,将测试用例转为一个一个的测试脚本,运行脚本就进行了接口自动化。

而现在我们将接口放到postman上,想让他来实现接口自动化,如何实现自动化,就需要添加监控!

监控---定时去运行接口,而不需要人手动去操作

点击监控---点击博客系统接口自动化--点击run--出现上图

我们也可以使用ai添加监控:提示词-----使用cursor

使⽤postman MCP处理以下操作:
添加监控,每天下午14:00执⾏博客系统接⼝集合中的所有接⼝

6.3、在postman对接口添加断言

我们在添加断言前做的工作都是实现了自动化,但是当接口出现问题的时候我们是不知道的,所以并没有自动化测试,我们添加断言是在脚本里面添加断言,我们也可以使用ai去添加断言。

先将postman更新到最新版本,右下角就会出现postbot。使用postbot来帮我们编写脚本(提取接口返回值数据、接口断言操作等)

postbot和postman mcp都可对接口添加断言,postbot是postman上内置的AI工具,操作更便捷且响应更灵敏,适合进行局部改动。

对登录接口添加断言:提示词---使用postman的postbot

/user/login接⼝返回值添加断⾔,
{
"code": "SUCCESS",
"errMsg": "",
"data":"有效JWT"
}
返回值必须包含以上三个字段
code和errMsg必须满⾜以上返回值,data返回值不能为空
状态码必须为200

ai生成之后点击对话框中的按钮,代码就会出现到接口的上面

对获取博客列表接口添加断言:

/blog/getList接⼝返回值添加断⾔,

{

    "code": "SUCCESS",

    "errMsg": "",

    "data": [

        {

            "id": 32213,

            "title": "博客标题",

            "content": "博客内容",

            "userId": 3,

            "deleteFlag": 0,

            "createTime": "2025-03-18 11:41",

            "updateTime": "2025-03-18T03:41:34.000+00:00",

            "loginUser": false

        }

    ]

}
返回值必须包含以上字段
code和errMsg必须满⾜以上返回值,data列表至少有一组博客数据,且校验博客列表中第一组博客数据对应的字段必须存在且数据类型正确
状态码必须为200

接口文档---针对所有接口设计测试用例(使用cursor将接口文档生成测试用例)---将用例转成保存在postman集合中的接口(将传统的测试脚本转为接口无代码)----针对接口添加断言(实现了接口测试)---添加监控(实现了自动化)            就可以实现在postman进行接口自动化测试

7、MCP零代码项目自动化实战

对cursor的提示词:---在postman中生成接口

@博客系统接⼝测试⽤例.md
使⽤postman MCP执⾏以下操作
根据博客系统接⼝测试⽤例.md⽂档中内容,梳理⽂档中所有接⼝以及接⼝对应的测试⽤例(放在每个
接⼝下⾯的表格中),将所有测试⽤例统⼀管理在我的空间下博客系统集合中,必须满⾜以下要求:
1、接⼝名称取⾃接⼝测试⽤例⽂档中定义的名称
2、添加请求参数:根据⽂档中输⼊列对接⼝添加请求头参数,注意请求参数的格式
3、添加接⼝断⾔:完全按照预期结果列中的响应值和响应码
4、根据⽂档中内容,部分接⼝需要添加请求头user_token_header:获取正常登录接⼝返回值data
数据作为其他接⼝的user_token_header的值
5、获取有效的blogId:从列表⻚接⼝返回值data数组中的id获取
6、创建监控“博客系统接⼝⾃动化”,每天12点执⾏
7、每个接⼝必须完全按照⽂档要求不允许遗漏对应的请求头、请求参数和接⼝断⾔

生成结果可能出现遗漏,继续追加提示词:

未添加接口返回值和响应状态码的断言、文档中标注了需要添加请求头的接口未添加请求头、文档中标注了要添加请求参数的接口未添加请求参数等等,有没有添加的内容继续告诉cursor继续生成。

最后,找出出现错误需要也可以使用postbot同时进行修改

注意:我们使用postman mcp的时候一定要将提示词写的更好、更完善,因为postman mcp更擅长做添加操作,而不擅长做更新操作(也就是修改操作),这样容易出错。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐