当前位置: 首页 > 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接口测试用例脚本。

未完待续

http://www.lryc.cn/news/508914.html

相关文章:

  • flask-admin modelview 中重写get_query函数
  • 【python 逆向分析某有道翻译】分析有道翻译公开的密文内容,webpack类型,全程扣代码,最后实现接口调用翻译,仅供学习参考
  • tensorflow_probability与tensorflow版本依赖关系
  • 构建安全的用户认证系统:PHP实现
  • VMD-SSA-BiLSTM、VMD-BiLSTM、BiLSTM时间序列预测对比
  • 天融信网络架构安全实践
  • 腾讯云云开发 Copilot具有以下优势
  • electron-vite【实战系列教程】
  • 【微信小程序】微信小程序中的异步函数是如何实现同步功能的
  • 贪心算法(三)
  • uniApp打包H5发布到服务器(docker)
  • 【AI落地应用实战】篡改检测技术前沿探索——从基于检测分割到大模型
  • 使用 VSCode 学习与实践 LaTeX:从插件安装到排版技巧
  • 使用scrapy框架爬取微博热搜榜
  • 瑞吉外卖项目学习笔记(七)新增菜品、(批量)删除菜品
  • es快速扫描
  • 前端对页面数据进行缓存
  • leetCode322.零钱兑换
  • jsp-servlet开发
  • 从零玩转CanMV-K230(7)-I2C例程
  • n阶Legendre多项式正交性的证明
  • HarmonyOS NEXT - Dialog 和完全自定义弹框
  • 内容与资讯API优质清单
  • 开源 JS PDF 库比较
  • AnaPico信号源在通信测试中的应用案例
  • 《智启新材:人工智能重塑分子结构设计蓝图》
  • 进阶岛-L2G5000
  • 单点登录平台Casdoor搭建与使用,集成gitlab同步创建删除账号
  • PaddlePaddle飞桨Linux系统Docker版安装
  • 一款基于.NET开发的简易高效的文件转换器