前言

自从写从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. MySQL orzdba、dodba、top、iostat、vmstat、perf等

    1 mysq自带的mysqladmin命令 mysqladmin -usystem -p*** -h127.0.0.1 -P3306 -r -i 1 extended-status \ |grep & ...

  2. python__005

    一.字符串格式化 #字符串的拼接#msg='i am a best boy'+'非常帅'print(msg)name=input('name:')hobby=input(('hobby:'))age= ...

  3. 关于DataFram的.values

    DataFram类型的变量a,设a有n个样本,m个特征,当执行语句b = a.values后,b为(n, m)的ndarray矩阵类型,当执行c = b.ravel()后,c为(n*m,)维行向量

  4. 《Python编程从0到1》笔记5——图解递归你肯定看完就能懂!

    本小节的示例比较简单,因为在每次递归过程中原问题仅缩减为单个更小的问题.这样的问题往往能够用简单循环解决.这类递归算法的函数调用图是链状结构.这种递归类型被称为“单重递归”(single recurs ...

  5. Python密码登录程序的思考--学与习

    # 初学者的起步,对于开始的流程图结构还不太熟悉 #   思考: 1,write()与writelines()的区别,前者确定为字符串,后者为序列(列表,字典.元组等),自动为你迭代输入#      ...

  6. vue父子组件相互传值的实例

    当子组件需要向父组件传递数据时,就要用到自定义事件 子组件用 $emit()来触发事件,父组件用$on()来监昕子组件的事件 父组件也可以直接在子组件的自定义标签上使用 v-on 来监昕子组件触发的自 ...

  7. Css设置最优先

    input{ width: 220px !important; } css中 加上 !important 用一些前端框架,源文件修改不便时  可以这样用

  8. 在子类中,若要调用父类中被覆盖的方法,可以使用super关键字

    在子类中,若要调用父类中被覆盖的方法,可以使用super关键字. package text; class Parent {    int x;    public Parent()    {      ...

  9. Spring(六)--Spring配置文件之间的关系

    Spring配置文件之间的关系 1.需要的实体类 2.需要的xml文件 3.测试类 未完待续!!!

  10. Java 创建bat命令文件运行可执行jar包

    在可执行jar包所在文件夹下创建txt文件(必须在同一文件夹目录下),打开创建的txt文件输入如下内容并保存: @echo off java -jar 包名.jar pause 如下图所示: 然后将后 ...