PostMan newman測試介面遷移

littlexiaoshuishui 發表於 2021-09-05

介面遷移後,需要對比遷移前後的介面返回資料是否一致,可以使用postman編寫測試用例,並且批量匯出response資料。

1.從postman匯出測試介面

ethx-test.postman_collection.json

2.編寫測試用例(變數)

ethx.csv

3.newman run跑測試用例
newman run ethx-test.postman_collection.json -d ethx.csv --env-var "a=http://eth-chain-dev.api.btc.com" -r cli,json

newman run ethx-test.postman_collection.json -d ethx.csv --env-var "a=https://eth-chain-old.api.btc.com" -r cli,json
4.測試報告

在cli 命令中新增 -r cli,json
內建的形式有cli,json,junit,progressandemojitrain,預設命令列顯示的是cli模式,直接在命令列顯示

使用js指令碼,自定義處理

const newman = require('newman'),
      fs = require('fs');

newman.run({
    collection: require('../ethx-test.postman_collection.json'),
    reporters: 'cli',
    iterationData: "/home/csx/postman/ethx.csv",
    globalVar: [{ key:"a", value:"http://eth-chain-dev.api.btc.com"}],
}).on('request', function (error, args) {
    if (error) {
        console.error(error);
    } else {
        fs.appendFile('response.json', args.request.url+"\n", function (error) {
            if (error) { 
                console.error(error); 
            }
        });  
        fs.appendFile('response.json', args.response.stream+"\n\n", function (error) {
            if (error) { 
                console.error(error); 
            }
        });        
    }
});

newman安裝
github.com/postmanlabs/newman#newm...

本作品採用《CC 協議》,轉載必須註明作者和本文連結
用過哪些工具?為啥用這個工具(速度快,支援高併發...)?底層如何實現的?