1

有没有用火炮测试上传文件(表单数据)的好方法?http-file-uploads 插件仅适用于 Artillery Pro。我尝试了在此线程中给出的解决方案https://github.com/artilleryio/artillery/issues/320编写了一个 beforeRequest Js 方法,但没有成功。

  const formData = {
    fileOCR: fs.createReadStream(__dirname + '/files/ocr.png'),
  };

  requestParams.formData = Object.assign({}, requestParams.formData, formData);

  return next();
}

我在文件的表单数据中的字段称为“文件”

4

1 回答 1

1

根据炮兵文件上传文件,multipart/form-data你必须创建一个自定义函数

const fs = require('fs');
const FormData = require('form-data');

function addMultipartFormData(requestParams, context, ee, next) {
    const form = new FormData();
    form.append('files', fs.createReadStream(__dirname + '/resources/someFile.pdf'));
    requestParams.body = form;
    return next(); 
}

beforeRequest然后你可以在你的测试定义文件的钩子中执行这个函数。

- post:
   url: "http://server/file/upload"
   beforeRequest: 'addMultipartFormData'
于 2021-10-18T13:41:05.933 回答