从输出日志中提取接口的入参和返回做为用例导入到excel中
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
日志信息替换
- 从日志中提取用例名称,入参,出参,日志格式无用需要替换为空:
^2019.+INFO.* - \d{3}-
- 每行行尾插入#中,做为导入excel文件的分隔符:\}$
==> }#

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

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


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

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




从输出日志中提取接口的入参和返回做为用例导入到excel中的更多相关文章
- JMeter使用JSON Extractor插件实现将一个接口的JSON返回值作为下一个接口的入参
##补充## 接口响应数据,一般为JSON,HTML格式的数据. 对于HTML的响应结果提取,可以使用正则表达式,也可以通过XPath来提取:对于JSON格式的数据,可以用正则表达式,JSON Ext ...
- postman 上一个接口的返回值作为下一个接口的入参
在使用postman做接口测试的时候,在多个接口的测试中,如果需要上一个接口的返回值作为下一个接口的入参,其基本思路是: 1.获取上一个接口的返回值 2.将返回值设置成环境变量或者全局变量 3.设置下 ...
- [转] JAVA中读取网络中的图片资源导入到EXCEL中
需求 导出人员的信息并且加上人员的照片至EXCEL中 完整的代码 //创建一个表格 HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb ...
- 如何使用免费控件将Word表格中的数据导入到Excel中
我通常使用MS Excel来存储和处理大量数据,但有时候经常会碰到一个问题—我需要的数据存储在word表格中,而不是在Excel中,这样处理起来非常麻烦,尤其是在数据比较庞大的时候, 这时我迫切地需要 ...
- Java利用POI导入导出Excel中的数据
首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地 ...
- phpexcel的写操作将数据库中的数据导入到excel中
这个版本据说是可以支持excel2007,但是我使用2007编辑的xlsx是无法获得该库的支持.于是乎我就将它转化为2003.感觉支持地很好. 下面介绍一下具体的使用: require_once('. ...
- jdbcTemplate 调用存储过程。 入参 array 返回 cursor
注:本文来源< jdbcTemplate 调用存储过程. 入参 array 返回 cursor > 需求: java传入一个list object.从数据库找到相关的数据并返回. ...
- C#中的函数(二) 有参有返回值的函数
接上一篇 C#中的函数(-) 无参无返回值的函数 http://www.cnblogs.com/fzxiaoyi/p/8502613.html 这次研究下C#中的函数(二) 有参有返回值的函数 依然写 ...
- 将网页上指定的表单的数据导入到excel中
很多时候,我们想要将网页上显示的信息,导入到Excel中,但是很多时候无法下手.可是,这个时候,下面这个例子会帮你大忙了. 将html表单指定内容导出到EXCEL中. <!DOCTYPE HTM ...
随机推荐
- Ginger的第一篇博客
怀着无感的心情,没有技术的身体,写下第一篇博客作为标记. 目前应该会搞清楚数据结构上相关的操作.算法,然后用c语言实现后记录在博客. 我是有目标的咸鱼! 2019/4/19
- 【Python实践-3】汉诺塔问题递归求解(打印移动步骤及计算移动步数)
# -*- coding: utf-8 -*- #汉诺塔移动问题 # 定义move(n,a,b,c)函数,接受参数n,表示3个柱子A.B.C中第1个柱子A的盘子数量 # 然后打印出把所有盘子从A借助B ...
- select下拉框的探索(<option></option>标签中能嵌套使用其它标签吗)
select标签大家应该经常用到,有个问题可能没怎么注意过, select标签里面的option标签可以嵌套其它标签吗,比如i,span标签等? 经本人测试,答案是:可以嵌套其它标签,但审查元素会 ...
- mysql的学习笔记(八)
1.存储引擎(表类型) mysql将数据以不同的技术存储在文件(内存)中,这种技术称为存储引擎.每一种存储引擎使用不同的存储机制,索引技巧,锁定水平,提供广泛且不同的功能. mysql支持的存储引擎 ...
- ES 07 - Elasticsearch查询文档的六种方法
目录 1 Query String Search(查询串检索) 2 Query DSL(ES特定语法检索) 3 Query Filter(过滤检索) 4 Full Text Search(全文检索) ...
- WebApiClient的JsonPatch局部更新
1. 文章目的 随着WebApiClient的不断完善,越来越多开发者选择WebApiClient替换原生的HttpClient,本文将介绍使用WebApiClient来完成JsonPatch提交的新 ...
- Java基础系列-Stream
原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/10748817.html 一.概述 Stream操作简称流操作,这里的流与IO流毫无关系, ...
- Writing a Simple Service and Client (C++)
此前说的publisher/subscriber都是广播式的,subscriber被动地接收消息,二者没有request/response这种交互. Service Node Client Node ...
- maven的安装和环境配置
一.下载maven Apache Maven下载地址:http://maven.apache.org/download.cgi 二.maven的安装 将下载好的安装文件解压到d盘根目录下即可(当然,这 ...
- 使用go, gin, gorm编写一个简单的curd的api接口
go 是一门非常灵活的语言,既具有静态语言的高性能,又有动态语言的开发速度快的优点,语法也比较简单,下面是通过简单的代码实现了一个简单的增删改查 api 接口 hello world 常规版 新建 d ...