bat 判断文件名字含有某些字段_一篇文章,学会jmeter模拟文件上传、下载操作

最近很多同学都在问jmeter上传,下载文件的脚本怎么做?

正巧这阵子忙完有时间,就来“折腾”一番,哈哈

现整理出来和大家分享

到底该怎么做?

一、准备工作:

上传接口一个(自行开发解决了)

下载接口

ps:没有困难创造困难也要上

jmeter4.0版本

上传接口源码

/**      * 文件上传      */     @RequestMapping(value = "/fileUpload", method = RequestMethod.POST)     @ApiOperation(value = "上传文件", httpMethod = "POST")     @ResponseBody     public String fileUpload(@RequestParam(value = "file", required = false) MultipartFile file) {         if (Objects.isNull(file)) {             return getMessage("90110", "上传文件不能为空!");         }         String fileName = file.getOriginalFilename();         String path = "F:/upload";         File dest = new File(path + "/" + fileName);         if (!dest.getParentFile().exists()) { //判断文件父目录是否存在             dest.getParentFile().mkdir();         }         try {             //保存文件             file.transferTo(dest);             return getMessage("90000", "上传文件成功!");         } catch (IllegalStateException e) {             // TODO Auto-generated catch block             return getMessage("90555", "上传文件失败!");         } catch (IOException e) {             return getMessage("90555", "上传文件失败!");         }     }

二、jmeter做上传的脚本

2.1、编写脚本流程

首先添加一个线程组,然后在线程组里面添加一个http请求,因为是发送数据,所有是post请求,写好上传的地址,然后写好文件路径

1、添加线程组:右键测试计划,添加-Threads(Users)-线程组;

2、添加一个http请求:右键线程组,添加-Sampler-HTTP请求;

3、写好http请求中的url和路径,以及要上传的文件

4、添加一个查看结果树,查看接口调用结果。右键线程组,添加-监听器-查看结果树;

2.2、脚本实例

协议:http

服务器名称:127.0.0.1

端口号:8888

请求类型:post

路径:/fileUpload

body:要选files_upload这个tab页,写文件路径,和参数名

下面是脚本截图:

f2c0f6297ce56dc2edfc94250bf48d80.png

2.3、运行脚本,查看结果

看下面的图,运行结果,接口返回成功,再去我本地F盘(接口里写死的)下是否有文件,看一下,到底有没有成功。

0be377763cff07747165063691e1a18b.png

看下面的图,对应目录下已经有咱们刚才上传的文件了,及时间也对得上

e227aa397e1c89c99926d186966b4a02.png

可能遇到的坑:

ps:此处为代码开发部分,感兴趣的同学可以了解下及解决方案参考

问题一:关于报错:

Request”,”exception”:”org.springframework.web.multipart.support.MissingServletRequestPartException”,”message”:”Required request part ‘file’ is not present”,”path”:”/excel/import/upload”} 我错误的原因和解决方法: 主要是由于前台传递mutipartFile,表单的名字是file,但是再feign调用的时候我使用的是requestPart(“file”). 因此无法传递。修改前端表单的文件名为file  

问题二:关于报错

400 bad request: Required request part ‘file’ is not present 猜测通过@RequestParam(value = “file”, required = false)这种方式来取参的话,file字段就是可选的了。 这个错误大概是说没有file这个字段,而这个字段又是必须的,即使用了注释,如下面 @RequestParam("file") MultipartFile file 那么就需要我们去检查下前端页面是否存在这个字段了

问题三:关于报错

org.apache.tomcat.util.http.fileupload.FileUploadException: the request was rejected because no multipart boundary was found 不手动添加content-type后就行了:此时访问成功,去掉消息头多余的添加

三、jmeter下载文件

3.1、准备工作:

图片的url:

http://a.hiphotos.baidu.com/image/pic/item/4b90f603738da977b1e8c6c7ba51f8198718e313.jpg

3.2、编写脚本流程

首先添加一个线程组,然后在线程组里面添加一个http请求,因为是获取数据,所有是get请求,写好下载的地址

1、添加线程组:右键测试计划,添加-Threads(Users)-线程组;2、添加一个http请求:右键线程组,添加-Sampler-HTTP请求;3、写好http请求中的url和路径;4、添加beanshell,获取到返回的文件内容,保存到一个文件里面。右键线程组,添加-Sampler-BeanShellSampler

beanshell代码如下:

importjava.io.*; byte[]result=prev.getResponseData();//这个是获取到请求返回的数据,prev是获取上个请求的返回 Stringfile_name="F:BaiDu.jpg";//代表存放文件的位置和文件名 Filefile=newFile(file_name); FileOutputStreamout=newFileOutputStream(file); out.write(result); out.close();

5、添加一个查看结果树,查看接口调用结果。右键线程组,添加-监听器-查看结果树;

3.3、脚本实例

协议:http服务器名称:a.hiphotos.baidu.com端口号:80 (提示,端口号默认是就是80,可以不用写哦)请求类型:get

路径:

/image/pic/item/4b90f603738da977b1e8c6c7ba51f8198718e313.jpg脚本截图如下:

63b910e2447fa9ac46592d67a0e7a7aa.png

下面这个是beanshell里面的内容,也就是咱们保存文件的操作。

a90047203b5b3dd35a975f0ee470ce18.png

3.4、运行脚本,查看结果

看下面的图,运行结果,已经可以看到刚才这张图片了,而且请求都是成功的。

c4ba3a5d6c6d2bee1f9179b91a2c9989.png

咱们再去F盘根目录下看,文件已经存在F盘根目录下了

f96981bb6eab4a0bc273c340e2861c49.png

以上就是利用jmeter实现上传下载操作啦,感兴趣的同学可以自己动动手练习下!(1079636098)软件测试学习群里一起讨论交流从此不再孤单。

- End -

如果对python自动化测试、web自动化、接口自动化、移动端自动化、面试经验交流等等感兴趣的测试人,可以关注我。加入我们免费获取更多软件测试进阶资料!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值