1、Postman 接口测试参数化可能大家都非常的熟悉,但是很多人很难处理参数化后如何断言的问题,特别是当参数中出现中文时,很容易导致在 Runner 页面引入外部文件时导致中文乱码的问题,今天这篇文章就来为大家解决这困扰。。。
2、Postman 接口自动化思路,将接口每个场景的参数和预期结果放入到文件中存储,接口中的参数和预期结果值设置成变量形式(注意:变量名称和参数化文件中的参数名称必须一致),再通过 Postman 的参数化实现循环读取文件内容执行用例
3、在 Postman 前后置处理器(Pre-request Script / Tests)中调用文件中参数化数据方法有两种如下:
- 通过 data["参数名称"] 调用
pm.test("Body is correct", function () { pm.response.to.have.body(data["except"]); }); // 或者使用如下 tests["assert ok"] = responseBody === data["except"];
- 通过 data.参数名称 调用
pm.test("Body is correct", function () { pm.response.to.have.body(data.except); }); // 或者使用如下 tests["assert ok"] = responseBody === data.except
4、实例一:使用 csv 文件作为数据文件
- 首先先在 notepad++ 工具中准备数据
- 接下来直接将文件内容另存为后缀为 csv 的文件,且检查 csv 文件内容是否正确,如下图(特别注意下 json 中的键值对的引号是否丢失)
- 此时区 Runner 中引入此文件还是会报错:Failed running the collection: Error while parsing data file: Invalid Closing Quote: found non trimable byte after quote at line 2
- 接下来用 notepad++ 打开此 csv 文件,且选择"转为 UTF-8 编码" 保存文件即可解决此问题
- 在 Postman 接口中参数设置成变量,在 Runner中引入参数化文件实现接口自动化测试
5、实例二:使用 json 文件作为数据文件
- 首先先在 notepad++ 工具中准备 json 格式数据,可以借助 json 格式化工具美化下
- 接下来直接将文件内容另存为后缀为 json 的文件
- 在 Postman 接口中参数设置成变量,在 Runner中引入参数化文件实现接口自动化测试