Jmeter和LR上传文件和下载

背景:

  在某个申请业务中,需要上传附件文件,然后才能提交该申请

  遇到的问题:

  1,  在使用Jmeter或者LR进行录制时,无法录制到上传文件的请求,只能通过Fiddler能查看到该请求

  2,  因为录制不下来,只能手工构造,但网上相关的材料太少。

  所以在这里整理备忘

  Fiddler录制得到的请求的Header和Body如下面的两个截屏

  body

  截图如上,注意Header截图【Content-Type:multipart/form-data;boundary=----------cH2GI3Ef1gL6Ij5cH2gL6Ij5ei4gL6】和Body截图

  每一个“-----------------------------”为分隔符,代表一个表单域;

  最后一个“----------cH2GI3Ef1gL6Ij5cH2gL6Ij5ei4gL6--”(以“--”结尾)分隔符为表单域结束边界。

  由此可以看到我得到的这个请求,POST data中共有四个表单域,最后一个即包含了name=”Filedate”(这个name的值可以自己定),filename=”ff.txt”,下图中红框为ff.txt实际上传的文件内容


 Server端的代码如下

  一,Jmeter

  需要注意

  1,请求类型为Post

  2,要勾选 Use multipart/form-data for POST,否则request中将不包含上传的文件

  3,  MIME类型为application/octet-stream


二,LoadRunner

lr_start_transaction("upload");

web_reg_save_param("attachmentId1",

"LB/IC=attachmentId\":\"",

"RB/IC=\"",

"Ord=1",

"Search=ALL",

LAST);

web_submit_data("upload.text",

"Action=http://192.168.0.1:8000/fileUpload/upload.text",

"Method=POST",

"EncType=multipart/form-data",

"RecContentType=text/plain",

"Referer=",

"Snapshot=t230.inf",

"Mode=HTTP",

ITEMDATA,

"Name=Filename","Value=Attachment.doc", ENDITEM,

"Name=attachmentType","Value=合同正本", ENDITEM,

"Name=Filedata","Value=Attachment.doc", "File=Yes", ENDITEM,

"Name=Upload","Value=Submit Query", ENDITEM,

LAST);

lr_end_transaction("upload",LR_AUTO);

  LoadRunner的下载

lr_start_transaction("downloadApproval");

web_reg_save_param("FileName",

"LB=filename=",

"RB=.pdf",

"Ord=1",

LAST);

web_url("generateApproval.html",

"URL=http:// 192.168.0.1:8000/xx/generateApproval.html?id={PersionId}",

"Resource=1",

"RecContentType=application/x-msdownload",

"Referer=http:// 192.168.0.1:8000/xx/viewWorkflow.html?id={PersionId}",

"Snapshot=t60.inf",

LAST);

lr_message("!!filename is%s.xml",lr_eval_string("{FileName}"));

//获取二进制文件类型的文件大小

flen =web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);

lr_message("Size:%d",flen);

lr_end_transaction("downloadApproval",LR_AUTO);

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-20 03:39:06

Jmeter和LR上传文件和下载的相关文章

解决IE下AjaxSubmit上传文件提示下载文件问题

springmvc后端: @RequestMapping(value="scoreFileUpload",produces = "text/html; charset=utf-8") @ResponseBody public String upload(HttpSession session,@RequestParam("file1") MultipartFile file,@RequestParam("paperId") S

java 上传文件和下载文件 工具类

上传下载类如下    代码如下 复制代码 public static void downloadFile(String fileName, String downloadName, HttpServletResponse response){ try { response.setContentType("octets/stream"); response.addHeader("Content-Type", "text/html; charset=utf-8

asp.net 2.0中如何实现上传文件与下载文件求具体的代码

问题描述 多多指教 解决方案 解决方案二:2.文件上传<asp:FileUploadID="FileUpload1"runat="server"/> if(FileUpload1.HasFile){FileUpload1.SaveAs(MapPath("~/UserFileHere/Image/"+FileUpload1.FileName));} 解决方案三:这个太普通的一功能解决方案四:这儿有一个,你照做,然后看看代码就可以了.解决

IE中使用ajaxSubmit上传文件弹出下载提示框

使用jQuery的ajaxSubmit 上传文件时,在IE中会弹出下载提示框:  页面代码: Js代码   var options = {                  url: "<%=path%>/upload/upload",                  type: "POST",                  dataType:'html',                  success:function(json) {    

重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件

原文:重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件 [源码下载] 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件 作者:webabcd 介绍重新想象 Windows 8.1 Store Apps 之通信的新特性 下载数据(显示下载进度,将下载数据保存到本地) 上传数据(显示上传进度) 上传文件 示例HTTP 服务端WebServer/HttpDemo.

jsp上传文件之后,针对上传文件自动生成超链接供下载,具体代码。谢谢。

问题描述 jsp上传文件之后,针对上传文件自动生成超链接供下载,具体代码.谢谢. jsp上传文件之后,针对上传文件自动生成超链接供下载,整个过程的具体代码.谢谢. 解决方案 这个代码很长,你自己做到哪一步了.上传文件后会返回一个地址,使用servlet访问路径和那个地址拼接出url放在a标签的href就行了 解决方案二: http://www.cnblogs.com/xdp-gacl/p/4200090.html 解决方案三: JSP上传文件代码

HDFS设计思路,HDFS使用,查看集群状态,HDFS,HDFS上传文件,HDFS下载文件,yarn web管理界面信息查看,运行一个mapreduce程序,mapreduce的demo

26 集群使用初步 HDFS的设计思路 l 设计思想   分而治之:将大文件.大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析:   l 在大数据系统中作用: 为各类分布式运算框架(如:mapreduce,spark,tez,--)提供数据存储服务   l 重点概念:文件切块,副本存放,元数据 26.1 HDFS使用 1.查看集群状态 命令:   hdfs  dfsadmin –report 可以看出,集群共有3个datanode可用 也可打开web控制台查看

ASP 下载时重命名已上传文件的新下载文件名的实现代码

问题:我想上传文件时后改名,下载时又将名改回来. 如:我上传一张"我的照片.jpg"上传后改为系统数名"20040302001.jpg"下载时又改回"我的照片.jpg" 其中的保存新旧文件名都用数据库(已做) 就是下载时的改名做不出来. 代码: 复制代码 代码如下: <% function dl(f,n) on error resume next Set S=CreateObject( "Adodb.Stream ")

thinkphp-ThinkPHP框架使用upload上传文件后如何下载?

问题描述 ThinkPHP框架使用upload上传文件后如何下载? 如题 public function upload(){ $upload = new ThinkUpload();// 实例化上传类 $upload->maxSize = 0 ;// 设置附件上传大小 $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型 $upload->rootPath = './Uploads/'; // 设置附件上传根目录 $