node.js 结合 axios 进行接口测试

虽然一般情况下,postman 已经可以满足需求了,特别是 runner,结合 Pre-request Script 可以玩出很多花样。但是 node.js + axios 自由度更高,适用场景更广泛。虽然目前来说,我只是想尝试一下。先上代码。

// test.js
const axios = require('axios')
let req = () => axios.post('http://www.test.com/xxxx', {
    tenantId: 'xxx',
    userId: 'xxxx'
}, {
    headers: {
        'access_token': 'xxx'
    },
    proxy: {
        host: '127.0.0.1',
        port: 8888
    }
})

let s = Date.now()

let arr = []
Promise.all([req(), req(), req(), req(), req(), req()])
    .then(res => {
        res.map(item => {
            arr.push(item.data)
        })
        console.log(arr, Date.now() - s)
    })
    .catch(e => {
        console.log(e)
    })

// 命令行执行
// node test.js

问题:

  1. 为什么需要配置代理
    答:为了让 fiddler 可以检测到请求,方便后续的分析