本节将通过飞机订票系统的用户注册接口的测试案例,介绍ChatGPT如何与Postman、JMeter、Python的Requests库等主流接口测试工具来自动生成接口测试用例,从而提高测试效率。
5.6.1 ChatGPT与Postman协作完成接口测试
下面笔者通过ChatGPT与Postman协作完成飞机订票系统的用户注册接口的测试工作,具体操作步骤如下。
- 收集接口信息
获取5.5.3小节由ChatGPT生成的用户注册接口的接口文档,如下所示。
ChatGPT****生成的用户注册接口的接口文档
以下是用户注册接口的接口文档:
用户注册接口
接口描述
新用户注册接口,用户可以通过此接口进行注册。注册信息包括用户名、密码、确认密码、名字、姓氏、街道地址和城市邮编等。
请求地址
POST http://127.0.0.1:1080/cgi-bin/login.pl
请求方式
POST
请求体参数
|-----------------|--------|--------|--------|
| 参数名 | 必填 | 类型 | 描述 |
| username | 必填 | 字符串 | 用户名 |
| password | 必填 | 字符串 | 密码 |
| passwordConfirm | 必填 | 字符串 | 确认密码 |
| firstName | 选填 | 字符串 | 名字 |
| lastName | 选填 | 字符串 | 姓氏 |
| address1 | 选填 | 字符串 | 街道地址 |
| address2 | 选填 | 字符串 | 城市邮编 |
| register.x | 选填 | 浮点数 | 注册x坐标 |
| register.y | 选填 | 浮点数 | 注册y坐标 |响应示例
注册成功后,服务器将返回一个HTML格式的页面,显示感谢消息,其中{username}将被替换为实际注册的用户名。
Thank you, <b>{username}</b>
错误响应示例
如果注册过程中发生错误,服务器可能返回相应的错误信息,如用户名已存在、密码不匹配等。
Registration failed. Please check your input and try again.
这是用户注册接口的接口文档,您可以使用这些信息来设计和实现相应的功能。希望这对您有所帮助!
- 提供接口信息
在ChatGPT中输入已收集到的接口信息,并提出生成接口测试用例的需求。如笔者希望测试用例覆盖正常功能和密码不匹配两种情况并输出Postman脚本。因此,笔者输入图5-15所示的提示词。
图5-15 输入的提示词
需要强调以下两点。
- 请务必明确指出输出Postman测试脚本,并且确保其符合Collection v2.1的格式要求。如果不符合这些要求,生成的JSON格式的脚本可能无法成功导入。
- 当编写"要求"部分的内容时,可以一次或多次提及在创建测试用例时需要考虑的用例设计方法或具体要求等。
- 生成接口测试用例
ChatGPT很快输出了符合要求的接口测试用例,也就是符合要求的Collection v2.1格式的Postman测试用例脚本,如图5-16所示。
图5-16 ChatGPT生成的Postman测试用例脚本(部分)