• JMeter学习笔记(六) 文件下载接口测试


      本次测试的是文件下载接口,文件是PDF文档,步骤如下:

    1、通过jmeter的录制功能,获取了文件下载接口的地址和参数,和其他的HTTP请求一样的配置

    2、执行此接口后,察看结果树,点击下载接口的结果,可以看到响应结果像是乱码,其实这些都是这个文档的内容,并且由于文档较大,察看响应数据时jmeter会短暂卡死

    ---优化:由于jmeter返回的是字节流,当数据量太大时,会发现jmeter完全卡住,为了防止这种情况发生,可以在查看结果树勾选仅日志错误,让其不显示,提高性能

    3、如果下载接口是通的,可以通过把下载接口的响应数据"保存到文件"这种方式来查看文件,这样查询结果时直接到本地查看文件就行

    添加方法:线程组右键添加 -> 监听器 -> 保存响应到文件(或者是Sampler直接添加也行)

    配置字段:

      1)Save Failed Responses only:只保存失败的响应;

      2)Save Successful Responses only:只保存成功的响应;

      3)Don't add number to prefix:不添加数字到文件名前缀;

      4)Don't add suffix:不添加文件后缀,即扩展名(注意:默认情况下,jmeter会根据服务器返回的结果自动生成适合类型的文件。)

      5)Add timestamp:添加时间戳到文件前缀 ;

      6)Minimum Length of sequence number:添加 数字时的最小值,不填默认从1开始。

    注意:在不勾选任何1)和2)时,会将响应成功和响应失败的都保存到文件中。添加在测试计划下时,该监听器默认的会为所有的sampler分别建立一个单独的文件来保存响应结果,如果只想保存某个请求的返回结果时,只要把监听器拖动到某个请求的作用域下,就只会保存这个请求的响应。

    优化:加上时间戳,历史文件就不会被覆盖掉

    4、下载的文件,可以通过添加 后置处理器 BeanShell PostProcessor 保存到本地

    代码(换一个文件地址和名称就行):

    import java.io.*;
    byte[] result = prev.getResponseData(); //这个是获取到请求返回的数据,prev是获取上个请求的返回
    String file_name = "D:/Program Files/apache-jmeter-3.3/bin/result/下载文件/180607144641.pdf"; //代表存放文件的位置和文件名
    File file = new File(file_name);
    FileOutputStream out = new FileOutputStream(file);
    out.write(result);
    out.close();

    5、如果要判断文件是否下载完整,可以通过添加断言来判断

  • 相关阅读:
    centos7.9安装mysql,远程无法连接的问题
    netcore 自定义脚手架
    mongodb查询出某个字段最大值
    解决Docker容器内不能使用vim命令的问题
    git 撤销修改和版本回退
    【转】一文读懂PCA算法的数学原理
    【转】Maximal Information Coefficient (MIC)最大互信息系数详解与实现
    【转】带约束的多目标优化进化算法综述
    论文快报-2021-10-Multi-task optimization and evolutionary multitasking
    【Vegas原创】SQL Server数据库备份、差异备份、日志备份脚本
  • 原文地址:https://www.cnblogs.com/xiaoyu2018/p/10178305.html
Copyright © 2020-2023  润新知