当前位置: 首页 > news >正文

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次取反后最大化的数组和 贪心策略&#xff1a; 解题代码&#xff1a; class Solution { public:int largestSumAfterKNegations(vector<int>&am…...

uniApp打包H5发布到服务器(docker)

使用docker部署uniApp打包后的H5项目记录&#xff0c;好像和VUE项目打包没什么区别... 用HX打开项目&#xff0c;首先调整manifest.json文件 开始用HX打包 填服务器域名和端口号~ 打包完成后可以看到控制台信息 我们可以在web文件夹下拿到下面打包好的静态文件 用FinalShell或…...

【AI落地应用实战】篡改检测技术前沿探索——从基于检测分割到大模型

在数字化洪流席卷全球的当下&#xff0c;视觉内容已成为信息交流与传播的核心媒介&#xff0c;然而&#xff0c;随着PS技术和AIGC技术的飞速发展&#xff0c;图像篡改给视觉内容安全带来了前所未有的挑战。 本文将探讨篡改检测技术的现实挑战&#xff0c;分享篡改检测技术前沿…...

使用 VSCode 学习与实践 LaTeX:从插件安装到排版技巧

文章目录 背景介绍编辑器编译文件指定输出文件夹 usepackagelatex 语法列表插入图片添加参考文献 背景介绍 最近在写文章&#xff0c;更喜欢latex的论文引用。然后开始学习 latex。 编辑器 本文选择vscode作为编辑器&#xff0c;当然大家也可以尝试overleaf。 overleaf 有网…...

使用scrapy框架爬取微博热搜榜

注&#xff1a;在使用爬虫抓取网站数据之前&#xff0c;非常重要的一点是确保遵守相关的法律、法规以及目标网站的使用条款。 &#xff08;最底下附下载链接&#xff09; 准备工作&#xff1a; 安装依赖&#xff1a; 确保已经安装了Python环境。 使用pip安装scrapy&#xff…...

瑞吉外卖项目学习笔记(七)新增菜品、(批量)删除菜品

瑞吉外卖项目学习笔记(一)准备工作、员工登录功能实现 瑞吉外卖项目学习笔记(二)Swagger、logback、表单校验和参数打印功能的实现 瑞吉外卖项目学习笔记(三)过滤器实现登录校验、添加员工、分页查询员工信息 瑞吉外卖项目学习笔记(四)TableField(fill FieldFill.INSERT)公共字…...

es快速扫描

介绍 Elasticsearch简称es&#xff0c;一款开源的分布式全文检索引擎 可组建一套上百台的服务器集群&#xff0c;处理PB级别数据 可满足近实时的存储和检索 倒排索引 跟正排索引相对&#xff0c;正排索引是根据id进行索引&#xff0c;所以查询效率非常高&#xff0c;但是模糊…...

前端对页面数据进行缓存

页面录入信息&#xff0c;退出且未提交状态下&#xff0c;前端对页面数据进行存储 前端做缓存&#xff0c;一般放在local、session和cookies里面&#xff0c;但是都有大小限制&#xff0c;如果页面东西多&#xff0c;比如有上传的图片、视频&#xff0c;浏览器会抛出一个Quota…...

leetCode322.零钱兑换

题目&#xff1a; 给你一个整数数组coins,表示不同面额的硬币&#xff1b;以及一个整数amount,表示总金额。 计算并返回可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额&#xff0c;返回-1。 你可以认为每种硬币的数量是无限的。 示例1&#xff1…...

jsp-servlet开发

STS中开发步骤 建普通jsp项目过程 1.建项目&#xff08;非Maven项目&#xff09; new----project----other----Web----Dynamic Web Project 2.下载包放到LIB目录中,如果是Maven项目可以自动导包&#xff08;pom.xml中设置好&#xff09; 3.设置工作空间&#xff0c;网页…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版&#xff0c;柱状图PPT模版&#xff0c;线状图PPT模版&#xff0c;折线图PPT模版&#xff0c;饼状图PPT模版&#xff0c;雷达图PPT模版&#xff0c;树状图PPT模版 图表类系列各种样式PPT模版分享&#xff1a;图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...