• Jmeter骚操作—文件上传、下载


    最近很多同学都在问jmeter上传、下载文件的脚本怎么做,要压测上传、下载文件的功能,脚本怎么做,网上查了都说的很含糊,这次呢,咱们就好好的把jmeter的上传下载文件好好缕缕,都整明白了,怎么个过程,怎么做。

    一、上传/下载的过程。

           上传的过程就是你把你本地的文件,扔到服务器上的这么一个过程。

           下载呢,就是把服务器上的文件拿过来,然后存到你本地的这么一个过程。

           总结一下呢,上传就是你给服务器一文件,下载呢就是你从服务器上拿一文件。


    二、jmeter做上传的脚本。

         咱们先把这个过程了解了之后就开始做脚本,上面说了,上传是一个像服务器发送数据的,一般发送数据用post请求。

        这里用的jmeter是3.2的版本。

       2.1  准备工作

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

         

     

                打码的是我们公司接口的域名,我这里在本地启动的,ip是127.0.0.1 端口号是 8888    

                有了这个上传文件的接口,也知道他的参数了,咱们就可以做脚本了。

     

       2.2 编写脚本流程

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

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

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

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

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

                 

       2.3 脚本实例

           协议:http
           服务器名称:127.0.0.1

           端口号:8888
           请求类型:post

           路径:/file/upload

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

          下面是脚本截图:

         

         

        

           2.4 运行脚本,查看结果

              看下面的图,运行结果,接口返回成功,再去服务端上传的目录下,看一下,到底有没有成功。

              

                

        看下面的图,服务端的files目录下已经有咱们刚才上传的文件了。

       

        jmeter上传文件就是这么简单啦,快试试吧。

     

    三、jmeter下载文件。

         3.1 准备工作:

          下载文件呢,其实更简单,就是把一个文件保存到本地就可以,我现在在百度上找了一个图片的url,咱们下载到本地。

          图片的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和路径;

            不过这个是下载脚本,下载的话,有一步是要把文件保存到咱们本地的,这个jmeter没有现成的东西可以用,就得咱们自己写beanshell来实现,把文件保存到本地。

            当然你如果要写beanshell的话,你得会它的语法,它就是java写的。不过也不用愁不会写java咋整,这个保存文件的是死格式就这么写,记住就行了,需要下载的时候复制过去就行。

                  4、添加beanshell,获取到返回的文件内容,保存到一个文件里面。右键线程组,添加-Sampler-BeanShell Sampler,beanshell代码如下:


    import java.io.*;
     
    byte[] result = prev.getResponseData();  //这个是获取到请求返回的数据,prev是获取上个请求的返回
     
    String file_name = "C:\Users\bjniuhanyang\Desktop\BaiDu.jpg"; //代表存放文件的位置和文件名
     
    File file = new File(file_name);
     
    FileOutputStream out = new FileOutputStream(file);
     
    out.write(result);
     
    out.close();

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


       3.3 脚本实例

           协议:http
           服务器名称:a.hiphotos.baidu.com

           端口号:80 (提示,端口号默认是就是80,可以不用写哦)
           请求类型:get

           路径:/image/pic/item/4b90f603738da977b1e8c6c7ba51f8198718e313.jpg

         脚本截图如下:

     

          下面这个是http请求里面的,也就是咱们获取图片的

          

     

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

         

          2.4 运行脚本,查看结果

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

     

      咱们再去桌面上看,文件已经存在桌面上了。

      

     

    上传文件和下载文件就是操作就是如此的简单,动动小手快去试试吧。

  • 相关阅读:
    HDU 5360 Hiking(优先队列)2015 Multi-University Training Contest 6
    多区域显示(6)-版面布局
    静态变量和成员变量的区别 && 成员变量和局部变量的区别
    java基础学习_面向对象(上)02_day07总结
    java基础学习_面向对象(上)01_day07总结
    面向对象的概述
    面向对象思想的引入
    Failed to create the Java Virtual Machine(zt)
    eclipse web开发Server配置
    javamail接收邮件(zt)
  • 原文地址:https://www.cnblogs.com/sriba/p/8043294.html
Copyright © 2020-2023  润新知