助力产业智慧升级,云服务器首年88元起,更有千元代金券礼包免费领!

搜搜吧

查看: 246|回复: 0

[Web开发] 转:Jmeter文件上传、下载

[复制链接]
  • TA的每日心情
    奋斗
    2019-8-15 17:06
  • 签到天数: 77 天

    [LV.6]常住居民II

    超级VIP贵宾会员

    2022

    主题

    2102

    帖子

    6987

    积分

    Rank: 1

    UID
    21335
    威望
    -102
    贡献
    2397
    在线时间
    58 小时
    注册时间
    2018-12-6
    发表于 2019-7-19 15:41:14 | 显示全部楼层 |阅读模式
    推广者专属福利,新客户无门槛领取总价值高达2775元代金券,每种代金券限量500张,先到先得。

    一、上传/下载的过程。

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

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

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

    20171201095507_78935.jpg

    二、jmeter做上传的脚本。

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

        这里用的jmeter是3.2的版本。

       2.1  准备工作

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

          20171208082105_90083.jpg


                打码的是我们公司接口的域名,我这里在本地启动的,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页,写文件路径,和参数名

          下面是脚本截图:

          20171208085912_21579.jpg




           2.4 运行脚本,查看结果

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

              20171208090504_10967.jpg



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

        20171208090855_11030.jpg

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


    三、jmeter下载文件。

         3.1 准备工作:

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

          图片的url是: 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请求里面的,也就是咱们获取图片的

           20171208094439_41087.jpg



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

          20171208094525_87755.jpg


          2.4 运行脚本,查看结果

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


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

       20171208094734_41970.jpg


    楼主热帖排行榜
    搜搜吧社区温馨提示:
    搜搜吧(www.sosoba.org)十分重视网络版权及其他知识产权的保护,针对网络侵权采取如下版权政策:
    1、本站有理由相信网友侵犯任何人的版权或作品,(图文,文字,下载,视频,非法传播),本站有权不事先通知即删除涉嫌侵权的作品和内容
    2、本站将采取必要的网络技术手段,确认为侵权作品或内容的用户有权进行警告、屏蔽、删除的行为,尽可能的防止侵权行为的发生
    3、搜搜吧影视资源均收集自互联网,没有提供影片资源存储,也未参与录制上传,若本站收录的资源涉及您的版权或知识产权或其他利益,我们会立即删除
    4、搜搜吧,删帖,投诉,举报,侵权,若本站侵犯您的权益,附上身份及权利证明,请直接发送邮件到 kefu-sosoba@qq.com 我们将在一个工作日内删除
    soso搜搜吧社区是聚合百度搜索,搜狗搜索,360搜索,新闻,教育,站长,广告,娱乐,影视,微信,网盘,营销,手机,汽车,游戏,论坛综合为一体的大型门户社区www.sosoba.org
    关闭

    搜搜吧社区公告上一条 /1 下一条

    Powered by www.sosoba.org X3.4© 2013-2019 搜搜吧社区 小黑屋|手机版|Archiver|地图|关于我们|腾讯云代金券|帮助中心|soso吧社区
    广告服务/项目合作: kefu-sosoba@qq.com  侵权举报邮箱: kefu-sosoba@qq.com  搜搜吧建站时间:创建于2013年07月23日
    免责声明:本站所有的内容均来自互联网以及第三方作者自由发布,版权归原作者版权所有,搜搜吧不承担任何的法律责任,若有侵权请来信告知,我们立即删除!
    本站热搜:搜搜吧,搜搜,搜搜网,搜一下,搜吧,soso,sousou,快搜,soso搜搜,好搜,搜索,soso问问,搜搜问问,搜搜小说,搜搜图片,搜狗搜索,微信搜索,图片搜索,百度搜索,手机搜索,网盘搜索

    GMT+8, 2019-10-18 21:19 , Processed in 1.125000 second(s), 12 queries , Gzip On, MemCache On.

    快速回复 返回顶部 返回列表