接口自动化用例(Fitnesse)中批量获取系统链路日志
概述
执行全流程自动化接口用例,如果遇到某个接口执行失败时,经常因为遗忘该接口会经过哪些服务,而增加定位负担。
如果一条执行用例时,每次都可以将每个接口的相关链路日志(多个服务的访问日志)收集并保存,就可以极大的减轻定位负担。
大概原理
如下图:
系统本身已经接入APM,每次请求,在它的链路服务的日志中,都会有一个唯一的traceId。通过traceId,可以在ELK中快速获取到相关日志。
而这个traceId是有parent节点生成的,所以我在系统服务之前加了一个driver,用于充当生成traceId的parent节点。
然后当fitnesse发起接口请求时,driver除了转发请求到系统外,也将生成的traceId,返回给fitnesse。这时fitnesse就可以拿到traceId,并保存。
最后用例执行完成后,就可以收集到每个接口的traceId。
将这些traceId连同执行用例时生成的序列号,一起发送到日志处理服务(自建),由该服务异步处理收集日志的工作。
本文来自博客园,作者:月色深潭,交流群:733423266,转载请注明原文链接:https://www.cnblogs.com/moonpool/p/15414890.html