阅读 115

jmeter--文件上传和下载

文件下载

    文件下载的method一般是get。本例中导出excel文件。

    下载文件如果要求下载到本地,需要另写脚本。采用jsr223或者beashell PostProcessor都可以。

    代码如下:

byte[] result = prev.getResponseData();  //这个是获取到请求返回的数据,getResponseData()返回类型是数组
 
String file_name = "E:\\jmeter脚本\\apitest\\BaiDu1.xlsx"; //代表存放文件的位置和文件名。文件名称后缀注意,跟下载文件一致
 
File file = new File(file_name);
 
FileOutputStream out = new FileOutputStream(file);
 
out.write(result);
 
out.close();

注意,导出请求的responsedata如下:

 

 

文件上传

   请求内容的url中如果含有特殊字符或者动态元素或者字符需要编码,需要将Implementation换成Java的方式。这是因为,默认的HTTPClinet在POST时会自动将特殊字符转义,然而Java在发送过程中却未处理。

 

 

顺便说下高级中的Implementation:

 

  • Java:使用的http是使用的JAVA JVM提供的方法,有相关的限制【官方文件写的是1)连接如何重用在请求中没有控制;2)当jmeter释放了一个请求后,在同样的进程中可能不会再使用了;3)只使用于单进程模式;4)HTTPS代理请求有两个bug没存在;5)不支持虚拟主机;6)不支持相关的方法;7)不支持存储证书的请求】。
  • HttpClient4.1:使用Apache HttpClient 4.1部件
  • 空白:使用HTTP默认请求中的配置或jmeter.properties中jmeter.httpsample中的配置

 

本例中,formdata如下:

 

 要勾选multipart/form-data,否则request中不会有包含上传文件。Browser-compatibleheaders:浏览器兼容模式,如果使用了Use multipart/form-data for POST,建议勾选此项。

 

 文件地址根据上传文件地址填写。但MIME-Type一般情况下Excel文件的Content-Type为:application/vnd.openxmlformatsofficedocunment,spreadsheetml.sheet;图片Content-Type为: image/jpeg,app包Content-Type为:application/octet-stream。以formdata信息为准。

 

原文:https://www.cnblogs.com/sweetyy/p/14790614.html

文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐