11097082 2026-01-20 15:11 采纳率: 100%
浏览 3
已结题

如何利用newman进行数据的驱动进行接口自动化测试,如何实现自动匹配数据、接口?

postman+newman,已经安装相关环境,并有以下结构的文件
project/
├── collections/
│ └── collection.json
├── environments/
│ └── environment.json
├── datas/
│ ├── login.csv
│ ├── listdata.csv
├── reports/
└── run-tests.js

collection.json有两个接口login,listdata
数据 login.csv、listdata.csv与 collection文件的接口名称保持一致。

之前写过一个基于node.js的run-test.js代码,其中有代码:

    // 配置newman选项
    const newmanOptions = {
      collection: config.collection,
      environment: config.environment,
      iterationData: dataFile,
      ......

    // 运行newman
    newman.run(newmanOptions, (err, summary) => {
    .....

发现会使用数据login.csv 都执行两个接口login,listdata;用对应的数据 “listdata.csv”又执行了Login,listdata接口,并不能做到用 login.csv执行login,用“listdata.csv”则只执行listdata接口。

并且貌似,因为listdata接口,需要依赖于login的执行成功之后认证信息,但貌似没有能传递到执行listdata接口,导致失败。

请问:
1、如何实现一个接口匹配一个数据的调用测试?
2、如何保存登录信息,以便后续需要依赖登录之后才能访问的接口进行测试?

  • 写回答

3条回答 默认 最新

  • 11097082 2026-01-21 13:55
    关注

    经过摸索验证,自己解决了:
    1、在POSTMAN中对接口测试用例进行分组,建立不同的FOLDER,为每一个FOLDER建立对应的测试数据,也即一个测试数据对应于一个FOLDER,只驱动FOLDER下面的接口测试。
    2、关于依赖登录之后才能执行的测试,之前一直不成功,是因为之前一个登录的FOLDER,后面又一个其他接口的FOLDER,而不同两个FOLDER的环境参数不能共享,从而导致了失败。处理方式是在需要依赖登录的接口,多做了一个登录的请求(也是一个测试接口吧,只不过所有提交的参数值都固定,不是用CSV的数据),那么先调用这个登录接口后,就在同一个环境中有了登录信息,后面执行的其他接口就没有问题了。
    ===
    3、延伸问题,不知道嵌套的FOLDER如何处理,这个没有验证,请各位大大指导指导。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月29日
  • 已采纳回答 1月21日
  • 创建了问题 1月20日