前言

自从写从0构建自动化测试平台(一)之技术选型开始,在工作中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();
      }
   }}

JMeter 功能挖掘之 WEB 文件导出的更多相关文章

  1. C#进行Visio二次开发之文件导出及另存Web页面

    在我前面很多关于Visio的开发过程中,介绍了各种Visio的C#开发应用场景,包括对Visio的文档.模具文档.形状.属性数据.各种事件等相关的基础处理,以及Visio本身的整体项目应用,虽然时间过 ...

  2. WEB文件上传下载功能

    WEB文件上传下载在日常工作中经常用到的功能 这里用到JS库 http://files.cnblogs.com/meilibao/ajaxupload.3.5.js 上传代码段(HTML) <% ...

  3. asp.net导出excel-一行代码实现excel、xml、pdf、word、html、csv等7种格式文件导出功能而且美观-SNF快速开发平台

    分享: 腾讯微博  新浪微博   搜狐微博   网易微博  腾讯朋友  百度贴吧  豆瓣   QQ好友  人人网 作者:王春天  原文地址:http://www.cnblogs.com/spring_ ...

  4. 64位系统web项目导出excel问题分析及解决方法汇总

    最近在web项目中做了一个导出Excel功能.在导出的时候报错:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败. 一 ...

  5. Jmeter_实现Excel文件导出到本地

    一般而言,对于页面的“导出”操作,主要经历如下两个操作:①根据数据库的内容,将文件导出到应用服务器上:②将服务器上的文件下载到本地电脑: Jmeter同LoadRunner类似,只能记录服务端与客户端 ...

  6. C#中的文件导出大全

    s 得到 radiobuttonlist和CheckBoxList 选中值 得到radiobuttonlist 选中值:var CheckBoxList=document.all.optButtonL ...

  7. loadrunner实现excel文件导出操作

    项目中需要对“商品信息”进行查询及导出,但是loadrunner并不能录制到“保存”这一操作. 项目介绍:flex+Http协议: 不能录制的原因: 在我们点击了“导出”按钮后,服务端已经生成一份我们 ...

  8. windows环境下svn同步web文件[转]

    windows环境下svn同步web文件 SVN在团队开发中使用非常普遍,是一个很方便的版本控制系统. 如果要是能将SVN服务器上的数据自动发布到Web服务器,那将是整个项目开发.测试更加便捷.利用S ...

  9. Web文件(图片)上传方法

    在开放Web应用程序的时候经常会遇到图片或者是文件上传的模块,这里就是该模块的实现的后台方法 上传图片方法 /// <summary> /// 功能:上传图片方法 /// </sum ...

随机推荐

  1. slideToggle()---单击隐藏/浮现--jQuery--click() 方法

    click() 方法 模块隐藏/浮现 <html> <head> <script type="text/javascript" src="/ ...

  2. Cocos2d-X多线程(1) 在cocos2d-x中使用多线程

    教科书上说:进程是资源分配的最小单位,线程是CPU调度的最小单位. 进程是程序在计算机上的一次执行活动.直观的讲就是会产生一个pid. int main() {     //业务逻辑代码     re ...

  3. python_面试题_DB相关问题

    1.mysql部分 问题 问题1:mysql的存储引擎 问题2:mysql的索引机制 问题3:mysql的事务以及事务隔离级别 问题4:mvcc/GAP lock是做什么的 问题5:mysql的悲观锁 ...

  4. springboot基于方法级别注解事务的多数据源切换问题

    springBoot多数据源配置 配置读数据源 @Component @ConfigurationProperties(prefix = "jdbc.read") @Propert ...

  5. NFC读写器调试总结20191203

    以下为NFC读写器调试经验总结: 1.读写器部分,从TX1/TX2输出的13.56MHZ信号主要由L0/C0构成低通滤波器,用于滤除13.56MHZ的高次谐波,取值L0=1UH,C0=47PF时候,谐 ...

  6. cell_phone_network(树形dp求最小支配集)

    Cell Phone Network Farmer John has decided to give each of his cows a cell phone in hopes to encoura ...

  7. Luogu P2501 [HAOI2006]数字序列

    题目 首先把\(a\)改成严格单调上升等于把\(a_i-i\)改成单调不降. 那么第一问可以直接做LIS,答案就是\(n-\)LIS的长度. 同时我们记录一下序列中每个位置结尾的LIS长度. 第二问我 ...

  8. Largest Beautiful Number CodeForces - 946E (贪心)

    大意: 定义一个好数为位数为偶数, 且各位数字重排后可以为回文, 对于每个询问, 求小于$x$的最大好数. 假设$x$有$n$位, 若$n$为奇数, 答案显然为$n-1$个9. 若为偶数, 我们想让答 ...

  9. redis为什么使用单线程 ,还那么快,单线程是怎么实现的

    单线程使用队列 为什么使用单线程 https://baijiahao.baidu.com/s?id=1628498089535886382&wfr=spider&for=pc http ...

  10. 编写python爬虫采集彩票网站数据,将数据写入mongodb数据库

    1.准备工作: 1.1安装requests: cmd >> pip install requests 1.2 安装lxml: cmd >>  pip install lxml ...