zoukankan      html  css  js  c++  java
  • 从输出日志中提取接口的入参和返回做为用例导入到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        日志信息替换

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

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

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

         

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

         

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

     

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

         

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

         

      

      

      

  • 相关阅读:
    Sysbench对Mysql进行基准测试
    yum安装软件时报错libmysqlclient.so.18()(64bit)
    redis启动报错Could not connect to Redis at 127.0.0.1:6379: 由于目标计算机积极拒绝,无法连接。
    cmd 中连接mysql时报'mysql'不是内部或外部命令,也不是可运行的程序或批处理文件
    Mysql远程连接权限
    Git基础教程
    电脑adb命令给智能电视安装APK
    python基础之类
    python基础之函数
    前端之CSS第二部分属性相关
  • 原文地址:https://www.cnblogs.com/pandaly/p/10338653.html
Copyright © 2011-2022 走看看