ChatGPT与Postman协作完成接口测试(二)

ChatGPT生成的Postman接口测试用例脚本如下所示。
ChatGPT生成的Postman接口测试用例脚本
以下是符合Collection v2.1格式要求的 Postman 测试用例脚本,覆盖了正常注册和密码不匹配两种情况的测试:
{
"info": {
"_postman_id": "09e63d0d-9a62-4c3b-8a2d-76f352a12312",
"name": "用户注册接口测试",
"description": "测试用户注册接口的正常和异常情况",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "正常注册",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "urlencoded",
"urlencoded": [
{
"key": "username",
"value": "testuser",
"type": "text"
},
{
"key": "password",
"value": "testpassword",
"type": "text"
},
{
"key": "passwordConfirm",
"value": "testpassword",
"type": "text"
},
{
"key": "firstName",
"value": "John",
"type": "text"
},
{
"key": "lastName",
"value": "Doe",
"type": "text"
},
{
"key": "address1",
"value": "123 Main St",
"type": "text"
},
{
"key": "address2",
"value": "98765",
"type": "text"
},
{
"key": "register.x",
"value": "1.23",
"type": "text"
},
{
"key": "register.y",
"value": "4.56",
"type": "text"
}
]
},
"url": {
"raw": "http://127.0.0.1:1080/cgi-bin/login.pl",
"protocol": "http",
"host": [
"127",
"0",
"0",
"1"
],
"port": "1080",
"path": [
"cgi-bin",
"login.pl"
]
}
},
"response": []
},
{
"name": "密码不匹配",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "urlencoded",
"urlencoded": [
{
"key": "username",
"value": "testuser",
"type": "text"
},
{
"key": "password",
"value": "testpassword",
"type": "text"
},
{
"key": "passwordConfirm",
"value": "mismatchedpassword",
"type": "text"
}
]
},
"url": {
"raw": "http://127.0.0.1:1080/cgi-bin/login.pl",
"protocol": "http",
"host": [
"127",
"0",
"0",
"1"
],
"port": "1080",
"path": [
"cgi-bin",
"login.pl"
]
}
},
"response": []
}
]
}
您可以将此 Postman 测试用例脚本导入到 Postman 应用程序中,然后执行这些测试用例以验证用户注册接口的正常和异常情况。希望这对您有所帮助!
从ChatGPT生成的Postman测试用例脚本中,可以看到其覆盖了正常注册和密码不匹配异常注册这两种情况。这符合笔者的预期,所以复制生成的代码,并将其存储到D:\AIBOOK\S_PM_WebTours.json文件中。
- 接口测试用例评审
通常情况下,接口测试用例也需要进行测试团队的内部评审,关于评审过程的内容在此不赘述。对已生成的Postman测试用例脚本进行评审,鉴于笔者只想考察正常注册和密码不匹配异常注册这两种情况下接口是否可以正常处理,而生成的Postman测试用例脚本完全满足需求,所以不需要扩展更多的内容。在实际工作中,需酌情处理,先评审ChatGPT生成的Postman测试用例脚本是否达到了预期目标,而后进行处理。
S_PM_WebTours.json文件的内容如下。
S_PM_WebTours.json文件的内容
{
"info": {
"_postman_id": "09e63d0d-9a62-4c3b-8a2d-76f352a12312",
"name": "用户注册接口测试",
"description": "测试用户注册接口的正常和异常情况",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "正常注册",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "urlencoded",
"urlencoded": [
{
"key": "username",
"value": "testuser",
"type": "text"
},
{
"key": "password",
"value": "testpassword",
"type": "text"
},
{
"key": "passwordConfirm",
"value": "testpassword",
"type": "text"
},
{
"key": "firstName",
"value": "John",
"type": "text"
},
{
"key": "lastName",
"value": "Doe",
"type": "text"
},
{
"key": "address1",
"value": "123 Main St",
"type": "text"
},
{
"key": "address2",
"value": "98765",
"type": "text"
},
{
"key": "register.x",
"value": "1.23",
"type": "text"
},
{
"key": "register.y",
"value": "4.56",
"type": "text"
}
]
},
"url": {
"raw": "http://127.0.0.1:1080/cgi-bin/login.pl",
"protocol": "http",
"host": [
"127",
"0",
"0",
"1"
],
"port": "1080",
"path": [
"cgi-bin",
"login.pl"
]
}
},
"response": []
},
{
"name": "密码不匹配",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "urlencoded",
"urlencoded": [
{
"key": "username",
"value": "testuser",
"type": "text"
},
{
"key": "password",
"value": "testpassword",
"type": "text"
},
{
"key": "passwordConfirm",
"value": "mismatchedpassword",
"type": "text"
}
]
},
"url": {
"raw": "http://127.0.0.1:1080/cgi-bin/login.pl",
"protocol": "http",
"host": [
"127",
"0",
"0",
"1"
],
"port": "1080",
"path": [
"cgi-bin",
"login.pl"
]
}
},
"response": []
}
]
}
- 接口测试用例迭代与完善
如果想要完善接口测试用例,可以依据笔者前面使用的方法,让ChatGPT继续完善测试用例,如关键字过长、特殊字符等接口测试用例。限于篇幅,这里不考虑这些内容。S_PM_WebTours.json文件就是最终的Postman接口测试用例脚本。
未完待续
相关文章:
ChatGPT与Postman协作完成接口测试(二)
ChatGPT生成的Postman接口测试用例脚本如下所示。 ChatGPT生成的Postman接口测试用例脚本 以下是符合Collection v2.1格式要求的 Postman 测试用例脚本,覆盖了正常注册和密码不匹配两种情况的测试: { "info": { "_postman_id": &qu…...
flask-admin modelview 中重写get_query函数
背景: flask-admin框架中提供的模型视图默认是显示表实体中的所有列表数据,如果想通过某种条件限制初始列表数据,那么久需要重写一些方法才能实现。 材料: 略 制作: 视图源码: def get_query(self):re…...
【python 逆向分析某有道翻译】分析有道翻译公开的密文内容,webpack类型,全程扣代码,最后实现接口调用翻译,仅供学习参考
文章日期:2024.12.24 使用工具:Python,Node.js 逆向类型:webpack类型 本章知识:sign模拟生成,密文的解密(webpack),全程扣代码,仅供学习参考 文章难度:低等(没…...
tensorflow_probability与tensorflow版本依赖关系
参考:Tensorflow Probability 与 TensorFlow 的版本依赖关系_tensorflow与tensorflow-probability对应版本的网址-CSDN博客 tensorflow2.10对应tensorflow_probability0.18.0,安装命令:pip install tensorflow_probability0.18.0 版本对应关…...
构建安全的用户认证系统:PHP实现
构建安全的用户认证系统:PHP实现 用户认证是任何Web应用的重要组成部分,确保只有授权用户才能访问特定资源。构建一个安全的用户认证系统需要考虑多种因素,包括密码存储、会话管理和防止常见gongji。本文将介绍如何使用PHP实现一个安全的用户…...
VMD-SSA-BiLSTM、VMD-BiLSTM、BiLSTM时间序列预测对比
VMD-SSA-BiLSTM、VMD-BiLSTM、BiLSTM时间序列预测对比 目录 VMD-SSA-BiLSTM、VMD-BiLSTM、BiLSTM时间序列预测对比预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.MATLAB实现VMD-SSA-BiLSTM、VMD-BiLSTM、BiLSTM时间序列预测对比; 2.单变量时间序列预测 就是先vmd把变…...
天融信网络架构安全实践
1、医院客户想通过等保2.0三级,推荐哪几款网络安全产品?(至少6个) TopSAg(运维安全审计系统) TopNAC(网络准入系统) TopEDR(终端威胁防御系统) TDSM-SBU(存储备份一体机…...
腾讯云云开发 Copilot具有以下优势
与其他代码生成工具相比,腾讯云云开发 Copilot具有以下优势: 功能特性方面 自然语言处理能力更强:许多代码生成工具仅能实现简单的代码补全或根据特定模板生成代码,而云开发 Copilot可直接通过自然语言生成完整的小程序/web全栈…...
electron-vite【实战系列教程】
创建项目 安装必要的插件 UI 库 element-plus npm install element-plus --save 安装 element-plus 图标 npm install element-plus/icons-vue 安装插件 – 自动注册组件 vs 自动导入框架方法 npm install -D unplugin-vue-components unplugin-auto-import electron.vite.conf…...
【微信小程序】微信小程序中的异步函数是如何实现同步功能的
在微信小程序中,虽然很多 API 都是异步的,但可以通过一些方法来实现类似同步的功能。以下是几种常见的方法: 1. 使用 async/await async/await 是 ES2017 引入的语法糖,它基于 Promise 来实现异步操作的同步化写法。 示例代码 …...
贪心算法(三)
目录 一、k次取反后最大化的数组和 二、优势洗牌 三、最长回文串 四、增减字符串匹配 一、k次取反后最大化的数组和 k次取反后最大化的数组和 贪心策略: 解题代码: class Solution { public:int largestSumAfterKNegations(vector<int>&am…...
uniApp打包H5发布到服务器(docker)
使用docker部署uniApp打包后的H5项目记录,好像和VUE项目打包没什么区别... 用HX打开项目,首先调整manifest.json文件 开始用HX打包 填服务器域名和端口号~ 打包完成后可以看到控制台信息 我们可以在web文件夹下拿到下面打包好的静态文件 用FinalShell或…...
【AI落地应用实战】篡改检测技术前沿探索——从基于检测分割到大模型
在数字化洪流席卷全球的当下,视觉内容已成为信息交流与传播的核心媒介,然而,随着PS技术和AIGC技术的飞速发展,图像篡改给视觉内容安全带来了前所未有的挑战。 本文将探讨篡改检测技术的现实挑战,分享篡改检测技术前沿…...
使用 VSCode 学习与实践 LaTeX:从插件安装到排版技巧
文章目录 背景介绍编辑器编译文件指定输出文件夹 usepackagelatex 语法列表插入图片添加参考文献 背景介绍 最近在写文章,更喜欢latex的论文引用。然后开始学习 latex。 编辑器 本文选择vscode作为编辑器,当然大家也可以尝试overleaf。 overleaf 有网…...
使用scrapy框架爬取微博热搜榜
注:在使用爬虫抓取网站数据之前,非常重要的一点是确保遵守相关的法律、法规以及目标网站的使用条款。 (最底下附下载链接) 准备工作: 安装依赖: 确保已经安装了Python环境。 使用pip安装scrapyÿ…...
瑞吉外卖项目学习笔记(七)新增菜品、(批量)删除菜品
瑞吉外卖项目学习笔记(一)准备工作、员工登录功能实现 瑞吉外卖项目学习笔记(二)Swagger、logback、表单校验和参数打印功能的实现 瑞吉外卖项目学习笔记(三)过滤器实现登录校验、添加员工、分页查询员工信息 瑞吉外卖项目学习笔记(四)TableField(fill FieldFill.INSERT)公共字…...
es快速扫描
介绍 Elasticsearch简称es,一款开源的分布式全文检索引擎 可组建一套上百台的服务器集群,处理PB级别数据 可满足近实时的存储和检索 倒排索引 跟正排索引相对,正排索引是根据id进行索引,所以查询效率非常高,但是模糊…...
前端对页面数据进行缓存
页面录入信息,退出且未提交状态下,前端对页面数据进行存储 前端做缓存,一般放在local、session和cookies里面,但是都有大小限制,如果页面东西多,比如有上传的图片、视频,浏览器会抛出一个Quota…...
leetCode322.零钱兑换
题目: 给你一个整数数组coins,表示不同面额的硬币;以及一个整数amount,表示总金额。 计算并返回可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。 你可以认为每种硬币的数量是无限的。 示例1࿱…...
jsp-servlet开发
STS中开发步骤 建普通jsp项目过程 1.建项目(非Maven项目) new----project----other----Web----Dynamic Web Project 2.下载包放到LIB目录中,如果是Maven项目可以自动导包(pom.xml中设置好) 3.设置工作空间,网页…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制
目录 节点的功能承载层(GATT/Adv)局限性: 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration …...
