1  背景

接口用例已经在项目中的yml文件中编写,但是yml文件不能做为交付文档用,本文对工作中从接口输出日志中提取用例信息,并导入到excel文件中做了总些

2  工具

idea,notepad++,excel

3  提取用例

总体思路是代码中将要提取的数据打印到日志中,对日志信息进行处理,然后以文本导入向导的方式导入到excel中

3.1 日志输出

为了便于从日志中提取用例所需要的信息(用例名称,入参,出参),所以代码中要将这几个全部打印到日志中,并加入部分分隔符方便后续处理,如:

MerchantDisplayInfoRequest merchantDisplayInfoRequest = (MerchantDisplayInfoRequest)dataMap.get("MerchantDisplayInfoRequest");
logger.info(caseId + "-" + "请求参数:" + JSON.toJSONString(merchantDisplayInfoRequest));
Result merchantDisplayInfoResult = merchantClient.getMerchantDisplayInfo(merchantDisplayInfoRequest);
logger.info(caseId + "-" + dataMap.get("caseDesc") + "==>" + JSON.toJSONString(merchantDisplayInfoResult));

3.2  notepad++编辑日志

3.2.1 删除无用日志

用idea批量运行用例,将所有日志输出复制到notepad++中,并将日志中与用例执行代码无关的日志删除

删除无用日志后,剩下都是有规律的日志信息

3.2.2       
日志信息替换

  1. 从日志中提取用例名称,入参,出参,日志格式无用需要替换为空:

    ^2019.+INFO.* - \d{3}-

  1. 每行行尾插入#中,做为导入excel文件的分隔符:\}$ 
     ==>  }#

    

  1. 将请求返回日志==>替换为 #,做为导入excel文件的分隔符:

    

  1. 所有行合并为一行:\r\n  替为空(目前没有想到两行合为一行的方法,所以先合并为一行,再分割)

  1. 将整行按请求参数分割:#请求参数 替换为#\r\n请求参数(这样便实现之前的两行要合为一行的目的)

    

  1. 复制所有文本,粘贴到excel中,然后选择使用文本导入向导...

    

  

  

  

从输出日志中提取接口的入参和返回做为用例导入到excel中的更多相关文章

  1. JMeter使用JSON Extractor插件实现将一个接口的JSON返回值作为下一个接口的入参

    ##补充## 接口响应数据,一般为JSON,HTML格式的数据. 对于HTML的响应结果提取,可以使用正则表达式,也可以通过XPath来提取:对于JSON格式的数据,可以用正则表达式,JSON Ext ...

  2. postman 上一个接口的返回值作为下一个接口的入参

    在使用postman做接口测试的时候,在多个接口的测试中,如果需要上一个接口的返回值作为下一个接口的入参,其基本思路是: 1.获取上一个接口的返回值 2.将返回值设置成环境变量或者全局变量 3.设置下 ...

  3. [转] JAVA中读取网络中的图片资源导入到EXCEL中

    需求 导出人员的信息并且加上人员的照片至EXCEL中 完整的代码 //创建一个表格 HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb ...

  4. 如何使用免费控件将Word表格中的数据导入到Excel中

    我通常使用MS Excel来存储和处理大量数据,但有时候经常会碰到一个问题—我需要的数据存储在word表格中,而不是在Excel中,这样处理起来非常麻烦,尤其是在数据比较庞大的时候, 这时我迫切地需要 ...

  5. Java利用POI导入导出Excel中的数据

         首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地 ...

  6. phpexcel的写操作将数据库中的数据导入到excel中

    这个版本据说是可以支持excel2007,但是我使用2007编辑的xlsx是无法获得该库的支持.于是乎我就将它转化为2003.感觉支持地很好. 下面介绍一下具体的使用: require_once('. ...

  7. jdbcTemplate 调用存储过程。 入参 array 返回 cursor

    注:本文来源<   jdbcTemplate 调用存储过程. 入参 array 返回 cursor   > 需求: java传入一个list object.从数据库找到相关的数据并返回. ...

  8. C#中的函数(二) 有参有返回值的函数

    接上一篇 C#中的函数(-) 无参无返回值的函数 http://www.cnblogs.com/fzxiaoyi/p/8502613.html 这次研究下C#中的函数(二) 有参有返回值的函数 依然写 ...

  9. 将网页上指定的表单的数据导入到excel中

    很多时候,我们想要将网页上显示的信息,导入到Excel中,但是很多时候无法下手.可是,这个时候,下面这个例子会帮你大忙了. 将html表单指定内容导出到EXCEL中. <!DOCTYPE HTM ...

随机推荐

  1. FPGA高速ADC接口实战——250MSPS采样率ADC9481

    一.前言 最近忙于硕士毕业设计和论文,没有太多时间编写博客,现总结下之前在某个项目中用到的一个高速ADC接口设计部分.ADC这一器件经常用于无线通信.传感.测试测量等领域.目前数字系统对高速数据采集的 ...

  2. 第八周LINUX学习笔记

    vsftpd丶NFS丶SAMBA nfs基于rpcsamba基于cifs(smb)  DRBD: ftp:File Transfer protocol 文件传输协议 两个连接:       tcp:命 ...

  3. asp.net core 2.0的认证和授权

    在asp.net core中,微软提供了基于认证(Authentication)和授权(Authorization)的方式,来实现权限管理的,本篇博文,介绍基于固定角色的权限管理和自定义角色权限管理, ...

  4. TTL 和 DNS TTL 的区别

    TTL TTL是 Time To Live 的缩写,该字段指定IP包被路由器丢弃之前允许通过的最大网段数量.TTL是IPv4包头的一个8 bit字段.在IPv4包头中TTL是一个8 bit字段,它位于 ...

  5. Dapeng框架-开源高性能分布式微服务框架

    我们公司性质是新零售,公司也有专门的框架组.这群大牛自己开发了一整套分布式微服务框架.我们也在使用这套框架,有很多心得体会. 该框架既Dapeng也!开源github地址:https://github ...

  6. IDEA mybatis mapper类跳转到xml文件

    安装插件 free mybatis plugin,安装完成后重启,ctrl+单击即可跳转.

  7. Java数据结构和算法 - 堆

    堆的介绍 Q: 什么是堆? A: 这里的“堆”是指一种特殊的二叉树,不要和Java.C/C++等编程语言里的“堆”混淆,后者指的是程序员用new能得到的计算机内存的可用部分 A: 堆是有如下特点的二叉 ...

  8. 一些关于IO流的问题

    一:知识点 二:代码 1.阅读下面程序段: BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream(&quo ...

  9. Python的魔法函数系列 __getattrbute__和__getattr__

      #!/usr/bin/env python # -*- coding: utf-8 -*- import sys __metaclass__ = type """ _ ...

  10. 学习ASP.NET Core Razor 编程系列十五——文件上传功能(三)

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...