码迷,mamicode.com
首页 > 其他好文 > 详细

Jmeter学习随笔(二)文件下载接口

时间:2019-01-24 15:07:04      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:添加   文件的   java   length   min   beans   Fix   情况下   保存到文件   

本次测试的是文件下载接口,文件是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、如果要判断文件是否下载完整,可以通过添加断言来判断

技术分享图片

 

技术分享图片

技术分享图片

 

Jmeter学习随笔(二)文件下载接口

标签:添加   文件的   java   length   min   beans   Fix   情况下   保存到文件   

原文地址:https://www.cnblogs.com/benben-zhang/p/10314430.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!