博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JMeter 功能挖掘之 WEB 文件导出
阅读量:7101 次
发布时间:2019-06-28

本文共 1311 字,大约阅读时间需要 4 分钟。

前言

自从写开始,在工作中Get新技能就非常想郑重的记录下来,方便自己查阅;相信很多人都有这种感触:平时问题解决后,没有及时记录,下次遇到类似问题,需要花同等的成本(各种搜索)去解决;与其后面劳心劳力,不如现在趁着这股热乎劲记录下来。

使用场景:

 

 

如上图,是WEB页面上有一个导出按钮,需要每周五导出本周的产品BUG,对其进行数据分析,及时发现产品中存在的问题,针对问题能够及时提出解决方案,每周一次频率不算很高,但是想用自动化方法实现自动导出,有2个可选方案:JMeter实现,Python实现。由于Python实现也是要先抓包,干脆就先用JMeter先进行抓包并实现文件保存功能。

一句话描述需求:

JMeter实现WEB端文件导出功能

实现思路:

  1. 登录系统;

  2. 跳转到对应的页面,点击导出excel按钮;

  3. 保存响应的内容;

详细实现:

  • 线程组添加录制控制器和HTTP Cookie管理器

     

  • JMeter添加并启动代理服务器

     

     

     

  • 浏览器设置代理

     

  • 根据以上思路登录系统,访问到对应的页面,执行导出excel动作

    在JMeter的录制控制器中我们可以查看到对应录制的内容,我们只保留登录和导出excel对应的请求

     

  • 上面的导出excel请求是关键内容,我们需要将请求的内容进行保存,这里我们在这个请求中添加一个BeanShell的后置处理器:

     

  • 后置处理器中要实现的功能:获取请求的响应内容,保存到本地的excel文件,对应实现代码如下:

byte[] responseData = prev.getResponseData();private String filePath = "/tmp/new-version.xls";BufferedOutputStream bos = null;FileOutputStream fos = null;File file = null;try {   File file = new File(filePath);   fos = new FileOutputStream(file);//不添加参数true,以非追加的方式添加内容   bos = new BufferedOutputStream(fos);   bos.write(responseData);} catch (Exception e) {   e.printStackTrace();} finally {   if (bos != null) {      try {         bos.close();      } catch (IOException e1) {         e1.printStackTrace();      }   }   if (fos != null) {      try {         fos.close();      } catch (IOException e1) {         e1.printStackTrace();      }   }}

转载于:https://www.cnblogs.com/wushujun/p/7650984.html

你可能感兴趣的文章
部署Azure Pack -安装Tenant Public API
查看>>
常用开源站点整理
查看>>
Linux服务器性能评估与优化
查看>>
从一个页面请求开始(三)
查看>>
从一个页面请求开始(一)
查看>>
关于nginx限制IP或IP段
查看>>
Linux新手之路 - ls mkdir rmdir rm cp mv 命令
查看>>
Samba服务器笔记
查看>>
单例模式
查看>>
linux网络相关配置
查看>>
他们如何利用微信赚钱
查看>>
安装配置cacti
查看>>
oracle linux6操作系统oracle11.2.0.4数据库从一台主机A(ora11g)到另一台主机B(ora02)的迁移过程...
查看>>
分享21个超棒的单页面网站设计
查看>>
HTML5发展历史信息图 - 帮助你更形象化的了解HTML5历史
查看>>
我的思科之路
查看>>
Android Design
查看>>
使用pure-ftpd搭建ftp服务
查看>>
交换机相关
查看>>
RSA的数学及算法实现
查看>>