开源测试工具 [jvm-sandbox-repeater 学习笔记][入门使用篇] 3 现有接口说明

ELes for PPmoney · October 18, 2019 · 413 hits

系列文章导航:
[jvm-sandbox-repeater 学习笔记][入门使用篇] 1 安装与启动
[jvm-sandbox-repeater 学习笔记][入门使用篇] 2 配置说明
[jvm-sandbox-repeater 学习笔记][入门使用篇] 3 现有接口说明(本文)
[jvm-sandbox-repeater 学习笔记][入门使用篇] 4 录制、回放与调试

这里梳理了repeater、repeater-console的现有的接口,是记录在yapi中导出为markdown的。

repeater

推送回放任务

基本信息

Path: /sandbox/default/module/http/repeater/repeat

Method: POST

接口描述:

repeater供repeater-console调用的推送回放任务接口

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/x-www-form-urlencoded

Body

参数名称 参数类型 是否必须 示例 备注
_data text RepeatMeta对象序列化后的字符串

返回数据

submit success

更新配置接口

基本信息

Path: /sandbox/default/module/http/repeater/pushConfig

Method: POST

接口描述:

repeater供repeater-console调用的更新配置接口
由于repeater的更新配置功能未完善,所以该接口状态为未完成

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/x-www-form-urlencoded

Body

参数名称 参数类型 是否必须 示例 备注
_data text RepeaterConfig对象序列化后的字符串

返回数据

名称 类型 是否必须 默认值 备注 其他信息
code number 非必须 成功则200
body string 非必须 成功则config push success
message null 非必须 成功则null
success boolean 非必须 成功则true

repeater-console——供repeater调用的接口

保存回放结果

基本信息

Path: /facade/api/repeat/save

Method: POST

接口描述:

该接口为供repeater保存回放结果调用,

传入RepeatModel序列化后的字符串

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json

Body

直接在body写入序列化后的字符串即可

返回数据

名称 类型 是否必须 默认值 备注 其他信息
success boolean 非必须 true
data string 非必须 -/-
message string 非必须 operate success

保存录制记录

基本信息

Path: /facade/api/record/save

Method: POST

接口描述:

该接口为供repeater保存录制记录调用,

传入RecordWrapper序列化后的字符串

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json

Body

直接在body写入序列化后的字符串即可

返回数据

名称 类型 是否必须 默认值 备注 其他信息
success boolean 非必须 true
data string 非必须 -/-
message string 非必须 operate success

获取录制回放配置

基本信息

Path: /facade/api/config/{appName}/{env}

Method: GET

接口描述:

供repeater调用的接口,repeater以非standalone模式启动时会调用该接口获取录制回放配置,获取失败可能导致repeater启动失败。
虽然接口有传入参数,但是由于接口没有实现根据appName以及env来区分不同的配置,传任何参数都会指向一个配置

请求参数

路径参数

参数名称 示例 备注
appName 应用名称
env 环境名称

返回数据

名称 类型 是否必须 默认值 备注 其他信息
success boolean 必须 请求是否成功
message string 必须 请求返回信息
data object 必须 配置数据,以下字段为data中返回的信息
pluginsPath string 必须 插件路径,默认填null即可
exceptionThreshold number 必须 异常发生阈值;默认1000当ExceptionAware感知到异常次数超过阈值后,会降级模块。默认填写1000即可
pluginIdentities string [] 必须 录制所使用的插件列表,配置了相应的插件名称,才能启用对应类别插件类别的录制 item 类型: string
repeatIdentities string [] 必须 回放所使用的插件列表,配置了对应的插件,才能进行对应类别的回放 item 类型: string
httpEntrancePatterns string [] 必须 需要录制和回放的http接口
需要同时在pluginIdedentities和repeatIdentities中都配置了http这个配置才生效
item 类型: string
sampleRate number 必须 采样率;最小粒度万分之一,默认为10000
javaEntranceBehaviors object [] 必须 需要录制和回放的java方法的入口
需要同时在pluginIdedentities配置了java-entrance以及repeatIdentities配置了java这个配置才生效
item 类型: object
javaSubInvokeBehaviors object [] 必须 需要录制和mock的java方法的配置
需要pluginIdedentities配置了java-subInvoke这个配置才生效
item 类型: object
useTtl boolean 必须 是否开启线程跟踪,默认true即可
degrade boolean 必须 是否降级,开启降级之后,不进行录制,只处理回放请求。默认取false即可。

获取录制记录

基本信息

Path: /facade/api/record/{appName}/{traceId}

Method: GET

接口描述:

该接口主要是供repeater在执行回放结果的时候,获取需要回放的记录用的。
返回结果为序列化后的录制记录,并不可读。

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json

路径参数

参数名称 示例 备注
appName 录制记录的appName
traceId 录制记录的traceId

返回数据

名称 类型 是否必须 默认值 备注 其他信息
success boolean 非必须 是否获取成功
data string 非必须 序列化的录制记录
message string 非必须 都会返回operate success

repeater-console——供用户调用

获取回放结果

基本信息

Path: /facade/api/repeat/callback/{repeatId}
Method: GET

接口描述:

获取单个记录的回放结果,详情见返回结果说明

请求参数

路径参数

参数名称 示例 备注
repeatId 回放结果的repeatId

返回数据

名称 类型 是否必须 默认值 备注 其他信息
success boolean 必须 请求是否成功
message string 必须 operate success
data object 必须 回放结果数据,后面的字段全为data中的数据
repeatId string 必须 回放结果的repeatId
finish boolean 必须 是否已回放完成
response string 必须 本次回放返回的结果
originResponse string 必须 录制记录中这个入口调用返回的结果
diff null 必须 null 回放结果与录制记录中的结果差异(由于官方没有实现该功能,所以默认返回null)
cost number 必须 回放耗时
traceId string 必须 回放记录的traceId
starTime string 必须 回放开始时间
endTime string 必须 回放结束时间
mockInvocations object [] 必须 回放过程中被mock的步骤的执行结果,后面的字段全为1个mockInvocation对象的字段 item 类型: object
index number 必须 mock步骤的序号
traceId string 必须 回放记录的traceId
repeatId string 必须 回放结果的repeatId
success boolean 必须 这个mock步骤是否执行成功
skip boolean 必须 这个mock步骤是否被跳过
cost number 必须 这个mock步骤的耗时
originUri string 必须 这个mock步骤的录制时的标识url
currentUri string 必须 这个mock步骤回放时标识url
originArgs object [] 必须 这个mock步骤的录制时的入参 item 类型: object
currentArgs object [] 必须 这个mock步骤回放时入参 item 类型: object

触发回放

基本信息

Path: /facade/api/repeat/{appName}/{traceId}

Method: GET

接口描述:

读取repeat.repeat.url所配置的url,触发相应的repeater执行回放的接口,供用户调用。
能够触发单个录制记录的回放,需要提供被回放记录的traceId以及appName。
任务下发成功,则返回回放记录的repeatId,用以查询回放结果。
如果任务下发失败则返回异常信息。

请求参数

路径参数

参数名称 示例 备注
appName 需要回放的记录的应用名
traceId 需要回放的记录的traceId

返回数据

名称 类型 是否必须 默认值 备注 其他信息
success boolean 非必须 是否回放成功
data string 非必须 成功则返回repeatId,失败则返回异常信息
message string 非必须 成功则返回operate success,失败则返回异常信息

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up