本文主要介绍PTS各个接口的参数说明。
Scene实体类的各参数说明
CreatePtsScene的入参Scene:pts-api-entity二方包中Scene类的toJSONString串。
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
sceneId | String | 否 | 87ALSXS | 场景ID,创建场景后系统生成的唯一表示。 |
sceneName | String | 是 | 快速压测 | 场景名称。长度不超过30个字符。 |
createTime | String | 否 | 2020-01-02 12:00:00 | 创建时间。创建场景后系统生成。 |
modifiedTime | String | 否 | 2020-01-02 12:00:00 | 修改时间。每次修改场景后系统生成。 |
status | String | 否 | Draft | 场景状态。创建场景后系统生成。
|
relationList | Array | 是 | [{"apiList":[{"apiName":"链路1的第一个API","body":{"bodyValue":"{\"key1\":\"111\",\"key2\":\"222\"}","contentType":"application/x-www-form-urlencoded"},"checkPointList":[{"checkPoint":"userId","checkType":"EXPORTED_PARAM","expectValue":"111","operator":"ctn"}],"exportList":[{"count":"0","exportName":"userId","exportType":"BODY_JSON"}],"headerList":[{"headerName":"userName","headerValue":"张三"}],"method":"GET","url":"https://www.aliyundoc.com"}],"fileParameterExplainList":[{"baseFile":true,"cycleOnce":false,"fileParamName":"city,name"}],"relationName":"链路1"}] | 场景配置中的链路配置信息。 |
loadConfig | Struct | 是 | {"agentCount":1,"apiloadconfigList":[{"rpsBegin":10,"rpsLimit":100}],"configuration":{"allRpsBegin":10,"allRpsLimit":100},"maxRunningTime":1,"testMode":"tps_mode"} | 施压配置信息。 |
advanceSetting | Struct | 否 | {"connectionTimeoutInSecond":3,"domainBindingList":[{"domain":"www.aliyundoc.com","ips":["1.1.xx.xx","2.2.xx.xx"]}],"logRate":1,"successCode":"429,40"} | 高级设置信息。 |
fileParameterList | Array | 否 | [{"fileName":"city.csv","fileOssAddress":"https://pts-pub.oss-cn-hangzhou.aliyuncs.com/city.csv"}] | 文件参数配置信息。文件首行需要是对应的参数名。 |
globalParameterList | Array | 否 | [{"paramName":"userId","paramValue":"111111"}] | 全局自定义参数配置信息。 |
Relations实体类的各参数说明
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
relationId | String | 否 | 45SFD | 链路ID,创建场景后系统生成。 |
relationName | String | 是 | 下单链路 | 链路名称。长度不超过30个字符。 |
apiList | Array | 是 | [{"apiName":"链路1的第一个API","body":{"bodyValue":"{\"key1\":\"111\",\"key2\":\"222\"}","contentType":"application/x-www-form-urlencoded"},"checkPointList":[{"checkPoint":"userId","checkType":"EXPORTED_PARAM","expectValue":"111","operator":"ctn"}],"exportList":[{"count":"0","exportName":"userId","exportType":"BODY_JSON"}],"headerList":[{"headerName":"userName","headerValue":"张三"}],"method":"GET","url":"https://www.aliyundoc.com"}] | 链路中的API配置信息。 |
fileParameterExplainList | Array | 否 | [{"baseFile":true,"cycleOnce":false,"fileParamName":"city,name"}] | 该链路使用到的文件参数说明信息。 |
FileParameterExplain实体类的各参数说明
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
fileName | String | 否 | 用户名文件.csv | 文件名。长度不超过30个字符。 |
fileParamName | String | 否 | key1,key2 | 文件使用的参数列名。多个参数使用英文逗号(,)隔开。 |
cycleOnce | Boolean | 否 | true | 文件是否轮询一次。默认false,若指定为true,则在使用到该文件的地方都只轮询一次,同时改文件也会作为基准文件。 |
baseFile | Boolean | 否 | true | 是否做为基准文件。默认false。在同一个链路中使用到两个文件A(基准文件)、B(非基准文件),则若文件B行数大于文件A,大于的行数会被截断;若文件B行数小于文件A,则会循环重复到文件A的行数。 |
LoadConfig实体类的各参数说明
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
testMode | String | 是 | concurrency_mode | 压力模式。
目前有两种取值:
|
autoStep | Boolean | 否 | true | 是否自动递增,只有在并发模式下有效,即testMode=concurrency_mode时。 |
increment | Integer | 否 | 30 | 递增百分比,取值范围[10,100],且是整十倍。只有在并发模式且是自动递增模式下有效,即testMode=concurrency_mode且autoStep=true时。 |
keepTime | Integer | 否 | 3 | 单量级持续时长,单位分钟,一定是小于施压时长maxRunningTime。 |
configuration | Struct | 否 | {"allRpsBegin":10,"allRpsLimit":100} | 场景施压并发或RPS配置信息。
|
maxRunningTime | Integer | 是 | 10 | 压测时长,单位分钟。取值范围1~1440。 |
agentCount | Integer | 否 | 20 | 指定使用的机器数。
|
apiLoadConfigList | Array | 否 | [{"rpsBegin":10,"rpsLimit":100}] | 每个API的起始和最大RPS配置信息。
在RPS模式下(testMode=tps_mode),没有配置configuration字段时必须使用。 与ApiList一一对应,即apiLoadConfigList.get(0) 是 ApiList.get(0) 的RPS值限制信息。 |
relationLoadConfigList | Array | 否 | [{"concurrencyBegin":10,"concurrencyLimit":100}] | 每个链路的起始和最大并发配置信息。
在并发模式下(testMode=concurrency_mode),没有配置configuration字段时必须使用。 与relationList一一对应,即 |
Configuration实体类的各参数说明
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
allConcurrencyBegin | Integer | 否 | 10 | 全场景开始并发。
在并发模式下(testMode=concurrency_mode)可设置,设置该值后,可不用再配置relationLoadConfigList ,每个链路起始并发=allConcurrencyBegin/链路数。 |
allConcurrencyLimit | Integer | 否 | 20 | 全场景最大并发。
在并发模式下(testMode=concurrency_mode)可设置,设置该值后,可不用再配置relationLoadConfigList ,每个链路最大并发=allConcurrencyLimit/链路数。 |
allRpsBegin | Integer | 否 | 10 | 全场景起始RPS。
在RPS模式下(testMode=tps_mode)可设置,设置该值后,可不用再配置apiLoadConfigList ,每个API起始RPS值=allRpsBegin/API数。 |
allRpsLimit | Integer | 否 | 20 | 全场景最大RPS。
在RPS模式下(testMode=tps_mode)可设置,设置该值后,可不用再配置apiLoadConfigList ,每个API最大RPS值=allRpsLimit/API数。 |
ApiLoadConfig实体类的各参数说明
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
rpsBegin | Integer | 否 | 10 | API的起始RPS值。在RPS模式下(testMode=tps_mode)可设置。 |
rpsLimit | Integer | 否 | 20 | API的最大RPS值。在RPS模式下(testMode=tps_mode)可设置。 |
RelationLoadConfig实体类的各参数说明
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
concurrencyBegin | Integer | 否 | 10 | 链路的起始并发。在并发模式下(testMode=concurrency_mode)可设置。 |
concurrencyLimit | Integer | 否 | 20 | 链路的最大并发。在并发模式下(testMode=concurrency_mode)可设置。 |
AdvanceSetting实体类的各参数说明
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
logRate | Integer | 否 | 1 | 日志采样率。取值范围:1、10、20、30、40、50。分别表示1%,%10,%20,%30,40%,50%。 |
connectionTimeoutInSecond | Integer | 否 | 5 | 超时时间,单位秒。 |
successCode | String | 否 | 429,403 | 自定义成功状态码。多个状态码用英文逗号(,)隔开。 |
domainBindingList | List<DomainBinding> | 否 | [{"domain":"www.aliyundoc.com","ips":["1.1.xx.xx","2.2.xx.xx"]}] | 域名与IP解析绑定关系。 |
FileParameter实体类的各参数说明
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
fileName | String | 否 | 用户名文件.csv | 文件名。长度不超过30个字符。 |
fileOssAddress | String | 否 | https://www.aliyundoc.com | 文件的OSS地址。必须是公网可访问的。 |
GlobalParameter实体类的各参数说明
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
paramName | String | 否 | userName | 全局参数名。长度不超过30个字符。 |
paramValue | String | 否 | 张三 | 全局自定义参数的值,不可参数化。 |
API实体类的各参数说明
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
apiId | String | 否 | 4FG5F | API的ID。创建场景后系统生成。 |
apiName | String | 是 | 支付接口 | API名称。长度不超过30个字符。 |
url | String | 是 | https://www.aliyundoc.com | 压测的URL。长度不超过2000个字符。 |
method | String | 是 | GET | 请求方法。目前只支持GET、POST、PUT、DELETE。 |
body | Struct | 否 | {"contentType":"application/x-www-form-urlencoded","bodyValue":"{"key1":"value2","key2":"value2"}"} | 请求body。 |
timeoutInSecond | Integer | 否 | 5 | API超时时间,单位秒。默认5s,取值范围1~60。 |
redirectCountLimit | Integer | 否 | 0 | 重定向次数。允许API重定向次数,取值范围:0或10。 |
headerList | Array | 否 | [{"headerName":"userName","headerValue":"张三"}] | Header配置。 |
exportList | Array | 否 | [{"count":"0","exportName":"userId","exportType":"BODY_JSON"}] | 导出参数配置。 |
checkPointList | Array | 否 | [{"checkPoint":"userId","checkType":"EXPORTED_PARAM","expectValue":"111","operator":"ctn"}] | 检查点配置。 |
Body实体类的各参数说明
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
contentType | String | 否 | application/x-www-form-urlencoded | Body类型。 |
bodyValue | String | 否 | {"key1":"value2","key2":"value2"} | Body值。 |
Header实体类的各参数说明
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
headerName | String | 否 | userName | Header字段名。 |
headerValue | String | 否 | 张三 | Header的值。 |
Export实体类的各参数说明
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
exportType | String | 否 | BODY_TEXT | 导出参数类型。
|
exportName | String | 否 | userId | 出参名。 |
exportValue | String | 否 | data.userId | 出参解析表达式。 |
count | String | 否 | 0 | 第几个匹配项。数字或者random。 |
CheckPoint实体类的各参数说明
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
checkPoint | String | 否 | userId | 检查对象。
type=EXPORTED_PARAM ,表示出参名,其余不用填写。 |
checkType | String | 否 | STATUS_CODE | 检查点类型。
取值范围:
|
operator | String | 否 | lte | 检查条件。
取二方包中CheckPointOperator对象的值:
|
expectValue | String | 否 | 200 | 期望值。 |
DomainBinding实体类的各参数说明
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
domain | String | 否 | www.aliyundoc.com | 域名。 |
ips | Array | 否 | ["1.1.xx.xx","2.2.xx.xx",] | 域名对应的IP。 |