【问题标题】:Is there a way to upload files with Artillery?有没有办法用炮兵上传文件?
【发布时间】:2021-08-21 13:34:09
【问题描述】:

有没有用大炮测试上传文件(表单数据)的好方法? 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();
}

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

【问题讨论】:

    标签: node.js testing upload load artillery


    【解决方案1】:

    根据artillery documentation通过multipart/form-data上传文件,你必须创建一个custom function

    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'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-12
      • 1970-01-01
      • 2020-08-05
      • 1970-01-01
      相关资源
      最近更新 更多