Jmeter和LR上传文件和下载

45 篇文章 1 订阅
3 篇文章 0 订阅

背景:

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

 

遇到的问题:

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);


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值