在实际压测场景中,经常同时使用出参和检查点功能来从业务维度判断请求是否成功。本文介绍出参和检查点的含义,以及如何提取出参和配置检查点。
出参
出参是从当前请求的Response中截取需要的内容,在后续的请求中作为参数使用。在一个压测请求API中可以定义多个出参。

出参的配置项说明如下。
配置项 | 说明 |
---|---|
出参名 | 只能包含英文字母、数字和下划线。 |
来源 | 标记Response的解析方式,可选择以下类型:
|
解析表达式 | 从Response截取需要的内容,对应到当前变量。 |
第几个匹配项 | 仅用于来源为Body:TEXT时。若上一步定义的解析表达式在Response中有多个匹配时,指定第几个字符串作为出参。从0开始,-n表示倒数第n个,取值区间为 [-99,99]。如果想要取随机匹配项,请填写random。 |
若您不能判断解析表达式是否正确时,可以在场景调试中测试解析表达式并设置出参,具体操作请参见测试出参正则表达式。
Body:TEXT类型
TEXT格式解析支持任意文本格式且可使用正则表达式提取。当一个正则表达式有多个匹配项时,可指定第几个匹配项,默认用0表示匹配第一个。
API的Response示例如下:
<input name="id" value="34729XXXX">
<input name="token" value="acdfo4dfopasdf44dXXXX">
...
<script>
var planId=4587;
var planId=5689;
var planId=8906;
</script>
出参的值 | 解析表达式 | 匹配数字 |
---|---|---|
获取name为ID的value | <input name="id" value="([0-9]*)"> |
0 |
获取name为Token的value | name="token" value="([A-Za-z0-9]*)" |
0 |
获取第三个PlanID的值 | var planId=([0-9]*); |
2 |
随机PlanID的值 | var planId=([0-9]*); |
random |
格式规范:
-
顺序匹配原则:按照顺序匹配出参信息。一旦匹配到之后即赋予该出参变量值,不会再匹配后续的信息,故需保证解析表达式的唯一性(除非多个中选第一个即可)。
-
被匹配的文本内容不能包含大括号({})、小括号(())等特殊字符。
-
使用正则表达式提取JSON类型的Response时,无需在K/V间隔的冒号后面加空格(JSON格式化展现中加入空格是为了展现优化)。可查看Response原文信息,参考下图:
Body:JSON类型
JSON格式解析支持两种类型的返回信息:application/json和text/json。
API的Response Body示例如下:
{
"info": "success",
"message": "处理成功",
"data": {
"id":13509, "code":0,
"items": [
{"name": "name1", "value": "1234"},
{"name": "name2", "value": "8448"},
{"name": "name3", "value": "1298"},
{"name": "name4", "value": "3049"},
{"name": "name5", "value": "7648"}
]
}
}
期望获取出参的位置 | 解析表达式 |
---|---|
获取info的值 | info |
获取data的ID的值 | data.id |
获取items第一个对象(支持相对位置)的value的值 | data.items[0].value |
获取items倒数第二个对象(支持相对位置)的value的值 | data.items[-2].value |
获取items整个数组 | data.items[] |
获取items数组中随机一个对象 | data.items[random] |
Cookie : K/V和Header : K/V类型
Cookie : K/V和Header : K/V分别用于提取Cookie字段和Header字段,解析表达式中直接写需要提取的Key即可。例如,Cookie信息为 “token=1234;path=/”,需要提取token的值,则解析表达式直接填写 “token” 即可。
响应状态码类型
响应状态码支持提取请求的状态码,一般情况下用于检查点或者条件跳转(不同状态码返回不同页面信息)。
出参示例
在理财业务中,需要根据用户的消费能力,推荐适当产品。则需要在前置接口中提取出消费能力等级作为出参,在当前的产品推荐接口中,使用该出参。
操作步骤如下:
- 在创建压测页面,添加消费能力(含出参)和产品推荐 API,并填写对应的URL。
- 在消费能力(含出参) API中,基于请求的响应详情,提取消费能力信息作为出参。填写出参名(如output)和具体的解析表达式(如
data.items[0].value
)。 - 单击创建压测页面左下角的参数列表,可查看已创建的出参。单击出参参数名称或
图标,系统将自动复制参数内容。
- 在产品推荐 API的Body中带入已提取的出参,在Body定义编辑框内,粘贴参数内容。
此外,您也可以对Body内容进行编辑,如组合字符串、参数或函数等。
检查点
配置检查点可以从从业务维度判断请求是否成功。检查点可分为响应状态码、响应Header、响应Body和出参4种类型。配置检查点后,在压测实时报表和压测报告中都会展现业务成功或失败的信息,为判断是否继续压测提供参考。

检查点参数说明:
- 多个检查点之间是“与”的关系。
- 当Value为字符串(非纯数字)时,支持“等于”、“不等于”、“包含”、“不包含”、“属于”、“不属于”和“正则匹配”等检查条件。
- 当Value为数字时,支持“大于”、“大于等于”、“等于”、“小于等于”、“小于”、“属于”、“不属于”和“正则匹配”等检查条件。
- “存在”、“不存在”所有类型数据均可使用,仅判断检查对象是否存在。
- “属于”、“不属于”支持正负整数、0、字符串。
- 数值:请按照标准的数学表达式规范填写。示例如下:
- 表示闭区间:[-20,20]
- 表示集合:{[-200,200],-1,2}
说明 当数值集合中不包括负整数时,旧表达式仍然生效,但不推荐使用。例如,[200~300,1],可表示包括1、200至300闭区间的整数的集合。 - 字符串示例:{“abc”,”bcd”,”200”,”-200”,”已报名”,”报名成功”}
- 数值:请按照标准的数学表达式规范填写。示例如下:
检查点示例
对某业务压测时,压测请求同时满足以下两个条件则代表业务正常:
- export_cookie符合预期,如export_cookie包含sandbox。
- 响应状态码在200~399范围内。
在此场景中需要同时使用出参和检查点,分别配置如下:
- 在对应API的出参定义页签进行配置,如下图所示。
- 在对应API的检查点(断言)页签进行配置,如下图所示。
在文档使用中是否遇到以下问题
更多建议
匿名提交