学习笔记-Jmeter进行文件上传、下载

一、Jmeter请求上传文件接口

      例如,有个上传文件的接口,接口文档如下图:

然后编写脚本,按照前面文章中写的Http接口测试流程,添加一个线程组,在线程组里面添加一个http请求,请求方式、请求路径、再选择需要上传的文件,具体步骤如下:

1、添加线程组 (右击 测试计划-添加-Threads(Users)-线程组)               

2、添加一个http请求(右击 线程组-添加-Sampler-HTTP请求)           

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

4、添加一个察看结果树(右击 线程组-添加-监听器-察看结果树),查看接口调用结果

二、Jmeter利用beanshell实现文件下载 

下载文件,就是把某个文件保存到本地。所以在百度上找了一个图片的url :https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1521452329967&di=9072d7127e431f505bdabfabed39d730&imgtype=0&src=http%3A%2F%2Fimg1.ph.126.net%2FfHIKUCeB4M8HKg0VskWh9A%3D%3D%2F6597936181820465731.jpg

然后编写脚本,按照前面文章中写的Http接口测试流程,添加一个线程组,在线程组里面添加一个http请求,请求方式(因为是获取数据,所以是get请求)、写好下载的地址,由于要把文件保存到咱们本地的,jmeter没有现成的东西可以用,需要写beanshell来实现,把文件保存到本地,具体步骤如下:

1、添加线程组 (右击 测试计划-添加-Threads(Users)-线程组)               

2、添加一个http请求(右击 线程组-添加-Sampler-HTTP请求)           

3、填写Http请求中的url和路径

4、添加BeanShell Sampler(右击 线程组-添加-Sampler-BeanShell Sampler)  

5、编写BeanShell Sample 代码如下:

import java.io.*;
 
byte[] result = prev.getResponseData();  //这个是获取到请求返回的数据,prev是获取上个请求的返回
 
String file_name = "E:\\PIC\\baidu.jpg"; //代表存放文件的位置和文件名, 相对路径的话会保存到bin 目录下,且保存的文件名的后缀与原图一致
 
File file = new File(file_name);
 
FileOutputStream out = new FileOutputStream(file);
 
out.write(result);
 
out.close();

6、添加一个察看结果树(右击 线程组-添加-监听器-察看结果树),查看接口调用结果

 再在电脑上打开 BeanShell中写的存放文件的路径,查看下载的图片,与找的原图(上面察看结果数HTTP请求响应数据里的图片)一致

 

posted on 2018-03-19 15:06  fengyelan2233  阅读(276)  评论(0编辑  收藏  举报

导航