华为云用户手册

  • 修改导出的工程文件 表1 请求类型为思考时间 参数名称 描述 name 思考时间的名称,可修改。 t 持续时间(ms)。 思考时间是指用户在执行两个连续操作期间的等待时间。例如用户在登录和搜索之间停留的时间。 例如某事务每运行一次响应时间为 0.5 秒。 如果希望每秒执行两次事务请求:则不添加请求信息类型为“思考时间”的事务请求信息。 如果希望每秒只执行一次事务请求:思考时间调整为 1 秒。如果思考时间设置为 1 秒而响应时间大于 1 秒,则思考时间不会生效,按响应时间发送压测请求。 表2 请求类型为报文 参数名称 描述 name 报文的名称,可修改。 http_version 协议类型。 支持HTTP、HTTPS、TCP和UDP。 当请求类型为HTTP和HTTPS时,设置以下参数。 method 支持GET、POST、PATCH、PUT和DELETE。 return_timeout 发送请求,等待服务器响应的超时时间。 如果不设置此参数,默认响应超时时间为5000ms。 URL 发送请求的URL地址,比如“http:// 域名 /路径”,也可以包含参数的部分“http://域名/路径?key1=value1&key2=value2”。 headers 由关键字/值对组成,请求头部通知服务器有关于客户端请求的信息,“头域”的说明请参见头域说明。 报文内容 实体的主体部分包含一个由任意数据组成的数据块,并不是所有的报文都包含实体的主体部分。 如果已设置全局变量或响应提取的局部变量,可在报文内容部分引用变量,执行压测任务过程会将报文内容中的变量值动态替换为指定的值。 当请求类型为TCP时,设置以下参数。 说明: TCP类型的报文暂不支持响应提取功能。 IP 发送请求到被测服务器的IP地址。 port 发送请求到被测服务器的端口号。 connect_timeout 发起连接,服务器无响应的超时时间。 return_timeout 连接建立成功,等待响应返回的超时时间。 连接设置 重复使用连接:请求响应完成后,不断开连接,复用连接发送接收下一次请求响应。 关闭连接:每次完成请求响应完成后,断开连接,下一次重新建立连接。 check_end_type 通过返回结束设置,来判断本次请求的响应内容是否已经接收完成。 返回数据长度:设置返回数据的长度,单位字节。当接收到此长度的响应内容时,数据接收完成。 结束符:设置返回数据的结束标记。当接收到结束符时,数据接收完成 。 说明: 结束符建议设置一个唯一的结束标记,如果设置的结束符在响应内容中存在多个,当接收到第一个结束符时,就认为响应内容已经接收完成,这样接收的响应数据就不完整。 body 实体的主体部分包含一个由任意数据组成的数据块,并不是所有的报文都包含实体的主体部分。 内容格式:请根据被测服务器的业务请求内容,选择“字符串”或“16进制码流”。 说明: 16进制码流的内容取值范围为“0~9”和“a~f”,且总字符个数为双数。 如果已设置全局变量或响应提取的局部变量,可在报文内容部分引用变量,执行压测任务过程会将报文内容中的变量值动态替换为指定的值。 表3 请求类型为响应提取 参数名称 描述 name 变量的名称,命名必须唯一,响应提取的值赋予此变量。 range 响应提取内容的范围。 报文内容 头域 URL 响应码 其中“报文内容”、“头域”、“URL”可通过正则表达式进行内容提取。 regexp 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。 完整的正则表达式由两种字符构成:特殊字符(special characters)称为“元字符”(meta characters);其它为“文字”(literal),或者是普通文本字符(normal text characters,如字母、数字、汉字、下划线)。元字符的说明请参见正则表达式元字符。 说明: “()”表示提取,对于您要提取的内容需要用小括号括起来,每个“()”之间的内容表示一个子表达式。 match_index 在正则表达式已提取的内容中,获取第几个匹配的内容。 取值范围:正整数。 说明: 该参数值不可设置为0。 exp_index 表示解析到的第几个子表达式的值。 取值范围:自然数。 说明: 取值为0表示匹配整个正则表达式。 取值为1表示匹配正则表达式的第一个子表达式即第一个“()”提取的内容。 通过“正则表达式”和“第几个匹配项”提取出内容后,再通过“表达式取值”获得最终的提取内容。 JSON Key Name 请输入需要获取的键名。 例:{key:{"key1":"v1","key2":["v2","v3"]}},如果想取出“v2”,则输入key.key2[0] default 正则匹配失败时,取的值。 表4 请求类型为检查点 参数名称 描述 name 检查点的名称,可修改。 value 响应报文携带的HTTP/HTTPS/TCP/UDP协议响应状态码,通常包括1XX,2XX,3XX,4XX,5XX。 header_checks HTTP/HTTPS/TCP/UDP协议的Header部分。 body_checks HTTP/HTTPS/TCP/UDP/MQTT协议的Body部分,为HTTP/HTTPS/TCP/UDP/MQTT协议请求、响应的负载部分。 表5 新增测试工程 参数名称 描述 name 测试工程的名称。 description 测试工程的相关描述。 表6 新增事务 参数名称 描述 name 事务名称。 contents 请求信息内容。 在该事务下可以添加事务请求信息,您可以根据业务需求添加多个事务请求信息。 表7 新增任务 参数名称 描述 issue_num 并发用户。 并发用户数指在同一时刻内,对系统进行业务操作的用户数量,在性能测试服务中为用户在定义测试任务阶段设置的虚拟用户数。 name 阶段名称。 设置一个符合业务场景的名字,比如首页测试。 time 持续时间(s)。 本阶段压测执行的最长时间。 count 发送总次数。 该事务在一次任务的运行中,将按照运行次数计算,到达设定数值,该任务下此事务的性能测试将终止。 表8 新增全局变量 参数名称 描述 name 全局变量的名称。 variable 全局变量值。 variable_type 说明: 变量的内容,在压测时将以明文传输,请谨慎输入,注意数据安全。 全局变量类型。 变量类型为整数时,输入变量值范围。 压测任务运行时会读取对应全局变量范围内的值,针对每个虚拟用户,依次轮询变量值,即第一个虚拟用户取变量的第一个值,第二个虚拟用户取第二个值,依顺序取值,不够则循环。 您可以根据业务需求添加多个变量值。 压测任务运行时会读取对应全局变量的参数值,针对每个虚拟用户,依次轮询变量值,即第一个虚拟用户取变量的第一个值,第二个虚拟用户取第二个值,依顺序取值,不够则循环。 父主题: 参考知识
  • 操作步骤 登录性能测试服务控制台,在左侧导航栏中选择“PerfTest测试工程”。 在待编辑PerfTest测试工程所在行,单击工程名称进入测试工程详情页面。 选择“测试用例”页签,在左侧“用例列表”下选择待添加请求信息的用例。 在“用例步骤”页签中,选择待添加请求信息的用例,单击“添加请求”。 在“检查点”页签,参照表1设置基本信息。 表1 检查点参数 参数 参数说明 启用结果检查 启用检查点后,通过自定义校验信息来验证服务端的返回内容是否正确。 重试次数 请求失败后,进行重试的次数,直到该请求成功,取值范围为0~100。 说明: 重试的请求在报告中不统计,例如响应时间、RPS、成功率等,报告中仅统计最后一次的数据。 重试间隔 请求失败后,下一次重试请求执行的时间间隔,单位毫秒(ms),取值范围为0~3600000,即最大时间间隔为1小时。 响应码 仅在“报文”页签中“协议类型”为“HTTP”或者“HTTPS”时,需要设置。 响应报文携带的HTTP/HTTPS协议响应状态码,通常包括1XX,2XX,3XX,4XX和5XX。 头域 仅在“报文”页签中“协议类型”为“HTTP”或者“HTTPS”时,需要设置。 HTTP/HTTPS协议的Header部分。 单击“添加头域检查”。 设置“头域名”,详情请参见头域说明。 设置检查条件。 设置内容。 响应内容 HTTP/HTTPS/TCP/UDP/WEBSOCKET/MQTT协议的Body部分,为HTTP/HTTPS/TCP/UDP/WEBSOCKET/MQTT协议请求、响应的负载部分。 单击“添加内容检查”。 设置检查条件。 条件规则 AND:需要全部符合才能检查通过。 OR:只需一条符合即可检查通过。 配置完成后,单击“保存”。
  • 操作步骤 登录性能测试服务控制台,在左侧导航栏中选择“PerfTest测试工程”。 在待编辑PerfTest测试工程所在行,单击编辑事务库。 在“事务库”页签中,单击“创建事务”,配置以下参数。 事务名称:自定义事务名称。 事务类型:常规事务,表示常规场景下的性能测试事务,支持HTTP/HTTPS/TCP/UDP/HLS/RTMP/WEBSOCKET/HTTP-FLV/MQTT协议的接口测试,支持多个事务请求信息串联。 一个常规事务下最多可添加40个请求信息。 单击“确定”。 为事务添加请求信息,添加完成后,单击“确定”。 常规事务可以同时添加报文、思考时间、响应提取、检查点四个请求组成。其中,报文为必选项。 请求组成为“报文”:报文是HTTP应用程序之间发送的数据块。详细步骤请参见添加请求信息(报文)。 请求组成为“思考时间”:设置执行下一个动作之间停留的持续时间。详细步骤请参见添加请求信息(思考时间)。 请求组成为“响应提取”:如果同一事务中存在多个报文,通过正则表达式或JSON提取把前一个报文的输出提取出来,做后一个报文的输入。详细步骤请参见添加请求信息(响应提取)。 请求组成为“检查点”:通过自定义校验信息来验证服务端的返回内容是否正确。详细步骤请参见添加请求信息(检查点)。 (可选)一个事务包含1个或多个请求信息。如果您的事务包含多个请求信息,单击“添加请求”,再执行添加请求的相关操作。
  • 产品功能 性能测试服务提供了HTTP/HTTPS/TCP/UDP/HLS/RTMP/WEBSOCKET/HTTP-FLV/MQTT协议的高并发测试能力,可以支持多协议报文内容、事务、测试任务模型的灵活自定义,可实时、离线查看并发、RPS、响应时延等多个维度的性能统计,同时根据用户对性能测试规模的变化,提供按需的私有测试集群创建、扩缩容等性能测试集群管理能力。 多协议高并发性能测试 标准HTTP/HTTPS/TCP/UDP/HLS/RTMP/WEBSOCKET/HTTP-FLV/MQTT报文内容快捷自定义,简单调整即可给不同的被测试应用发送压测流量。 可以根据被测试应用的实际需求,对HTTP/HTTPS/TCP/UDP/HLS/RTMP/WEBSOCKET/HTTP-FLV/MQTT协议报文的任何字段内容进行自定义,包括HTTP GET/POST/PATCH/PUT/DELETE方法、URL、Header、Body等字段的设置和编辑。 虚拟用户的行为定义,适配不同测试场景。 通过思考时间对同一个用户的请求设置发送间隔或者在一个事务中定义多个请求报文来设置每个用户每秒内发起的请求数。 自定义针对响应结果的校验,使请求成功的检查点更准确。 针对每个用户的请求,支持用户配置检查点,在获取到响应报文后针对响应码、头域及响应body内容做结果检验,只有条件匹配后才认为是正常响应。 测试任务模型自定义,支持复杂场景测试 通过多种用例步骤和压力模型的灵活组合,可以帮助用户测试在多操作场景并发下的应用性能表现。 测试用例可以被多个测试任务复用,针对每个测试用例可以选择不同的压力模型,并定义持续时间、并发用户数、震荡或浪涌次数等参数,模拟流量波峰波谷的复杂场景。 图2 支持复杂场景测试
  • 性能测试灵活快捷,助力应用快速上线 协议灵活自定义:支持HTTP/HTTPS测试,适应基于HTTP/HTTPS协议开发的各类应用和微服务接口性能测试;支持TCP/UDP/WEBSOCKET测试,支持字符串负载与16进制码流两种模式,满足各类非HTTP类协议的数据构造;支持HLS/RTMP/HTTP-FLV/MQTT测试。 多事务元素与测试任务阶段的灵活组合:提供灵活的数据报文、事务定义能力,结合多事务组合,测试任务波峰波谷,可模拟多用户多个操作的组合场景,轻松应对复杂场景的测试;支持针对每个事务指定时间段定义并发用户数,模拟突发业务流量。
  • 基本概念 测试工程:测试工程分为“PerfTest测试工程”和“JMeter测试工程”。PerfTest测试工程指性能测试服务为用户的测试工程提供管理能力,事务、压测任务、测试报告的内容在同一个测试工程内共享复用,您可以为不同的测试项目创建不同的测试工程。JMeter测试工程指用户在性能测试服务中导入JMeter脚本的测试工程。 事务:事务是指用户自定义的操作模型,包括HTTP/HTTPS/TCP/UDP/WEBSOCKET报文、思考时间、响应提取和检查点,以及HLS/RTMP/HTTP-FLV/MQTT报文部分。 报文:报文是HTTP等应用程序之间发送的数据块。这些数据块以一些文本形式的元信息开头,这些信息描述了报文的内容及含义,后面跟着可选的数据部分。这些报文都是在客户端、服务器和代理之间流动。 思考时间:为了更好的模拟用户的行为,需要模拟用户在不同操作之间等待的时间,例如,当用户收到来自服务器的数据时,可能要等待几秒查看数据,然后再做出响应,这种延迟,就称为思考时间 响应提取:如果同一事务中存在多个报文,通过正则表达式或JSON提取把前一个报文的输出提取出来,作后一个报文的输入。 检查点:检查点主要是通过自定义校验信息来验证服务端的返回内容是否正确。 并发用户数:并发用户数指在同一时刻内,对系统进行业务操作的用户数量,在性能测试服务中指用户在定义测试任务阶段设置的虚拟用户数。 响应时间:响应时间指从客户端发一个请求开始计时,到客户端接收到从服务器端返回的响应结果结束所经历的时间。
  • 创建私有资源组 首次创建测试资源,需父账号授权,自动创建委托使性能测试服务可以操作用户CCE。 需要使用性能测试服务的用户,需要CodeArts PerfTest Administrator或CodeArts PerfTest Developer权限(仅能查看自己创建的工程)。 需要管理私有资源组的用户,需要CodeArts PerfTest Administrator或CodeArts PerfTest Developer+CodeArts PerfTest Resource Administrator权限。 需要使用私有资源组的用户,需要CodeArts PerfTest Administrator或CodeArts PerfTest Developer+CodeArts PerfTest Resource Developer权限。 使用性能测试服务依赖的权限及具体使用场景,详见使用性能测试服务需要哪些权限。 登录性能测试服务控制台,在左侧导航栏中选择“测试资源”,单击“创建私有资源组”。 (可选)首次使用时,请根据提示信息,授权性能测试服务创建私有资源组。 进入创建资源组页面后,如果是首次使用没有云容器引擎服务CCE集群,需要先执行4创建集群然后再创建资源组。如果已有可用的云容器引擎服务CCE集群,直接执行5创建资源组。 创建集群。 单击页面上方的“创建集群”,进入购买CCE集群页面。创建集群操作请参考购买CCE集群,设置集群参数。 集群管理规模选择与执行节点个数相关,请根据需要压测的并发用户数,创建对应规格的节点。例如,需要20个执行节点,那么创建集群时集群规模选择50节点即可满足业务需求。 CCE集群的网络模型建议选择“容器隧道网络”,容器网段和服务网段需要与被测对象保持一致。 单击“下一步:插件配置”,默认选择即可。 单击“下一步:规格确认”,确认集群配置信息无误后,勾选已阅读使用说明,单击“提交”等待集群创建,集群创建预计需要6-10分钟。 集群创建成功后,返回集群管理页面,单击“创建节点”,进入创建节点页面。创建节点操作请参考创建节点,设置节点参数。 节点规格至少为vCPU为4核,内存8GB。 操作系统需选择欧拉EulerOS。 创建的节点数量至少需要2台(1台调试节点、1台执行节点),具体数量由压测对象要求规格决定。例如,压测10万并发用户数,vCPU为4核,内存8GB的资源需要21个执行节点(1个调试节点,20个执行节点)。 当CCE集群节点与被测应用不在同一VPC网络时,建议CCE集群节点绑定弹性IP。可使用已有的弹性IP,如果没有弹性IP也可以选择自动创建。自动创建弹性IP时,计费方式推荐按流量计费,带宽设置尽可能选择较大值,否则可能影响压测效果。系统根据您的配置创建弹性IP,并自动为每个节点进行分配。当创建的弹性IP数量小于节点个数时,会将弹性IP随机绑定到节点上。 单击“下一步:规格确认”,确认节点配置信息无误后,勾选已阅读使用说明,单击“提交”等待节点创建。节点创建成功后,返回性能测试服务控制台。 创建资源组。 在左侧导航栏中选择“测试资源”,单击“创建私有资源组”。 参照表1设置基本信息。 表1 创建私有资源组 参数 参数说明 资源组名称 新建私有资源组的名称,例如:Web-test-demo。 节点集群 在下拉框选择已创建的CCE集群。 调试节点 执行压测的调试机。 调试节点在资源组创建成功后不可修改。 执行节点 执行压测的执行机,即在压测过程中能够提供自身性能数据的施压目标机器。 单击“创建”。
  • 一键告警 弹性云服务器运行在物理机上,虽然提供了多种机制来保证系统的可靠性、容错能力和高可用性,但是,服务器的硬件、电源等部件仍有较小概率的损坏。云平台默认提供了自动恢复功能,当弹性云服务器所在的硬件出现故障时,系统会自动将弹性云服务器迁移至正常的物理机,保障您受到的影响最小,该过程会导致云服务器重启。了解更多 您可以在 云监控服务 控制台为弹性云服务器开启“一键告警”功能,以便在HA发生(弹性云服务器所在的物理机出现故障,系统自动迁移弹性云服务器至正常的物理机)时,及时获得通知。配置方法请参见一键告警。
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 名称 最小长度:1 最大长度:42 project_id 是 Integer 工程ID 最小值:0 最大值:2147483647 temps 否 Array of strings 事务信息 数组长度:0 - 1024 operate_mode 否 Integer 压力阶段模式,0:时长模式;1:次数模式;2:混合模式 最小值:0 最大值:2147483647 bench_concurrent 否 Integer 基准并发 最小值:0 最大值:2147483647
  • 响应示例 状态码: 200 success { "code" : "SV CS TG.CPTS.0000000", "message" : "success", "temp_info" : { "id" : 21531, "project_id" : 17543, "name" : "transaction", "description" : "", "variables" : null, "contents" : [ { "content_id" : 21531, "content" : [ { "content_type" : 2, "content" : { "body_type" : 0, "bodys" : [ ], "check_end_length" : null, "check_end_str" : null, "check_end_type" : null, "connect_timeout" : 5000, "connect_type" : 1, "headers" : [ { "key" : "Content-Type", "value" : "application/json" } ], "http_version" : "HTTP/1.1", "method" : "GET", "name" : "Msg-73387", "protocol_type" : 2, "return_timeout" : 5000, "return_timeout_param" : null, "url" : "https://www.domain-example.com" } } ], "index" : -1, "selected_temp_name" : "", "data" : null, "data_type" : 0, "conditions" : null, "is_disabled" : false, "is_continue" : false } ], "temp_type" : 0, "for_loop_params" : [ ], "logic_controller" : { "for_loop_params" : null, "condition" : null }, "enable_pre" : false } }
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 code String 响应码 最小长度:0 最大长度:1024 message String 响应消息 最小长度:0 最大长度:1024 temp_info TempInfo object 事务详情 表3 TempInfo 参数 参数类型 描述 id Integer 事务ID 最小值:0 最大值:2147483647 project_id Integer 工程ID 最小值:0 最大值:2147483647 name String 事务名称 最小长度:0 最大长度:1024 description String 事务描述 最小长度:0 最大长度:1024 variables String 变量 最小长度:0 最大长度:1024 contents Array of objects 事务脚本信息 数组长度:0 - 1024 temp_type Integer 事务类型(弃用) 最小值:0 最大值:2147483647 for_loop_params Array of objects 旧版本逻辑控制器字段,当前已未使用 数组长度:0 - 1024 logic_controller LogicController object 逻辑控制器信息 enable_pre Boolean 是否启用预置事务,当前版本已未使用 表4 LogicController 参数 参数类型 描述 for_loop_params String 旧版本逻辑控制器字段,当前已未使用 最小长度:0 最大长度:1024 condition String 逻辑控制器条件 最小长度:0 最大长度:1024
  • 请求示例 查询事务的详情信息,事务的id是1。 /v1/{project_id}/templates/1 { "code" : "SVCSTG.CPTS.0000000", "message" : "success", "temp_info" : { "id" : 155175, "project_id" : 403931, "name" : "test", "description" : "", "variables" : null, "contents" : [ { "content_id" : 155175, "content" : [ { "content_type" : 2, "content" : { "_adressValue" : "http://1.1.1.1", "body_type" : 0, "bodys" : [ ], "check_end_length" : null, "check_end_str" : null, "check_end_type" : null, "connect_timeout" : 5000, "connect_type" : 1, "headers" : [ { "key" : "Content-Type", "value" : "application/json" } ], "http_version" : "HTTP/1.1", "method" : "GET", "name" : "Msg-8015", "protocol_type" : 1, "return_timeout" : 5000, "return_timeout_param" : null, "url" : "http://1.1.1.1" } } ], "index" : -1, "selected_temp_name" : "", "data" : null, "data_type" : 0, "conditions" : null, "is_disabled" : false, "is_continue" : false } ], "temp_type" : 0, "for_loop_params" : [ ], "logic_controller" : { "for_loop_params" : null, "condition" : null }, "enable_pre" : false } }
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 case_id 否 Integer 用例ID 最小值:0 最大值:2147483647 name 否 String 用例名称 最小长度:0 最大长度:1024 case_type 否 Integer 用例类型(0:常规用例;) 最小值:0 最大值:2147483647 contents 否 Array of Contents objects 用例脚本信息 数组长度:0 - 1024 for_loop_params 否 Array of objects 旧版本逻辑控制器字段,当前已未使用 数组长度:0 - 10240 increase_setting 否 Array of objects 梯度递增 数组长度:0 - 10240 stages 否 Array of TestCaseStage objects 阶段信息 数组长度:0 - 1024 status 否 Integer 状态,0:已删除;1:启用;2:禁用 最小值:0 最大值:2147483647 temp_id 否 Integer 用例ID 最小值:0 最大值:2147483647 sort 否 Integer 排序字段 directory_id 否 Integer 用例所属目录ID(旧版接口可不传) 最小值:0 最大值:2147483647 setup_contents 否 Array of Contents objects 前置步骤 user_replicas 否 Integer 执行器个数 最小值:0 最大值:2147483647 collect_log_policy 否 Integer 日志采集策略(0-请求模式;1-用例模式) 最小值:0 最大值:32 link_app_list 否 Array of integers 关联全链路应用列表 case_info 否 CaseDoc object 文本用例信息 表3 TestCaseStage 参数 是否必选 参数类型 描述 operate_mode 否 Integer 压力阶段模式,0:时长模式;1:次数模式 name 否 String 阶段名称 time 否 Integer 压测时长(单位:秒) start_time 否 Integer 开始时间 end_time 否 Integer 结束时间 issue_num 否 Integer 最大并发数 count 否 Integer 次数模式发送总次数 pressure_mode 否 Integer 压力模式,0:并发模式;1:TPS模式;2:摸高模式;3:浪涌并发模式;4:浪涌TPS模式;5:震荡并发模式;6:震荡TPS模式;7:智能摸高模式 tps_value 否 Integer TPS模式下TPS值 current_user_num 否 Integer 起始并发数 current_tps 否 Integer 起始TPS值 voltage_regulating_mode 否 Integer 调压模式,0:自动调压模式;1:手动调压模式 maximum 否 Integer 浪涌/浪涌模式下最大并发数 minimum 否 Integer 浪涌/浪涌模式下最小并发数 loop_count 否 Integer 震荡/浪涌次数 max_duration 否 Integer 浪涌模式下峰值持续时间 ramp_up 否 Integer 摸高模式下爬坡时长(单位:秒) peak_load_kpis 否 StageKpiItems object 摸高指标 step_duration 否 Integer 智能摸高模式下单步执行时长 step_size 否 Integer 智能摸高模式下递增并发数 表4 StageKpiItems 参数 是否必选 参数类型 描述 average_response_time 否 StageKpiItem object 平均响应时间 success_rate 否 StageKpiItem object 成功率 表5 StageKpiItem 参数 是否必选 参数类型 描述 comparison 否 String 比较符 value 否 Integer 比较值 表6 Contents 参数 是否必选 参数类型 描述 content_id 否 Integer 事务ID,若不为0表示此卡片为事务;为0表示非事务 最小值:0 最大值:2147483647 content 否 Array of Content objects 内容 数组长度:0 - 1000 index 否 Integer 排序索引标识 最小值:0 最大值:2147483647 selected_temp_name 否 String 选择的事务或者用例名称 最小长度:0 最大长度:40960 data 否 Object 数据(循环、条件控制器作用的数据) data_type 否 Integer 数据指令类型(0:默认请求卡片;1:数据指令;201:循环指令;202:条件指令;301:集合点;203:vu百分比控制器;204:吞吐量控制器;302:插件请求) 最小值:0 最大值:2147483647 conditions 否 Object 若类型为202:条件指令,该字段为条件配置 is_disabled 否 Boolean 是否禁用 表7 Content 参数 是否必选 参数类型 描述 content_type 否 Integer 用例卡片类型(1:思考时间;2:报文;3:检查点;4:变量提取) 最小值:0 最大值:2147483647 content 否 ContentInfo object 内容 表8 ContentInfo 参数 是否必选 参数类型 描述 body_type 否 Integer body类型(0:字符串;1:form-data格式;3:x-www-form-urlencoded格式) 最小值:0 最大值:2147483647 bodys 否 Array of objects bodys check_end_length 否 Object TCP/UDP协议返回数据长度 check_end_str 否 Object TCP/UDP协议返回结束符 check_end_type 否 Object TCP/UDP协议返回结束类型,1:返回数据长度;2:结束符 connect_timeout 否 Integer 超时时间 最小值:0 最大值:2147483647 connect_type 否 Integer 连接设置,当前版本已未使用 最小值:0 最大值:2147483647 headers 否 Array of ContentHeader objects 请求头 数组长度:0 - 1024 http_version 否 String HTTP版本 最小长度:0 最大长度:1024 method 否 String HTTP方法 最小长度:0 最大长度:1024 name 否 String 用例名称 最小长度:0 最大长度:1024 protocol_type 否 Integer 协议类型(1:HTTP;2:HTTPS;3:TCP;4:UDP;7:HLS/RTMP;9:WebSocket;10:HTTP-FLV) 最小值:0 最大值:2147483647 return_timeout 否 Integer 响应超时 最小值:0 最大值:2147483647 return_timeout_param 否 String 响应超时参数 最小长度:0 最大长度:40960 url 否 String 请求地址 最小长度:0 最大长度:40960 rtmp_url 否 String rtmp地址 最小长度:0 最大长度:40960 flv_url 否 String flv地址 最小长度:0 最大长度:40960 bitrate_type 否 Integer 分辨率策略 最小值:0 最大值:128 duration 否 Integer 持续时间 最小值:0 最大值:2147483647 retry_delay 否 Integer HLS重试延迟时间 最小值:0 最大值:2147483647 retry_time 否 Integer HLS重试次数 最小值:0 最大值:2147483647 表9 ContentHeader 参数 是否必选 参数类型 描述 key 否 String 键 最小长度:0 最大长度:40960 value 否 String 值 最小长度:0 最大长度:40960 表10 CaseDoc 参数 是否必选 参数类型 描述 description 否 String 用例描述信息 最小长度:0 最大长度:2147483647 label_names 否 Array of strings 标签 preparation 否 String 前置条件 最小长度:0 最大长度:2147483647 rank 否 Integer 用例等级(0-L0;1-L1;2-L2;3-L3;4-L4;) 最小值:0 最大值:64 status_code 否 Integer 状态(0-新建;5-设计中;6-测试中;7-完成;) steps 否 Array of steps objects 测试步骤 表11 steps 参数 是否必选 参数类型 描述 expect_result 否 String 步骤描述 最小长度:0 最大长度:2147483647 test_step 否 String 预期结果 最小长度:0 最大长度:2147483647
  • URI PUT /v1/{project_id}/task-cases/{case_id}/target/{target} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 最小长度:0 最大长度:64 case_id 是 Integer 用例ID 最小值:0 最大值:2147483647 target 是 String 类型 最小长度:0 最大长度:64
  • 响应示例 状态码: 200 success { "code" : "SVCSTG.CPTS.0000000", "message" : "success", "taskInfo" : { "bench_concurrent" : 100, "case_list" : [ { "case_id" : 211751, "case_type" : 0, "contents" : [ { "content_id" : 0, "content" : [ { "content_type" : 2, "content" : { "body_type" : 0, "bodys" : [ ], "check_end_length" : null, "check_end_str" : null, "check_end_type" : null, "connect_timeout" : 5000, "connect_type" : 1, "headers" : [ { "key" : "Content-Type", "value" : "application/json" } ], "http_version" : "HTTP/1.1", "method" : "GET", "name" : "Msg-43147", "protocol_type" : 1, "return_timeout" : 5000, "return_timeout_param" : null, "url" : "https://www.example.com" } } ], "index" : 0, "selected_temp_name" : "", "data" : null, "data_type" : 0, "conditions" : null } ], "for_loop_params" : [ ], "increase_setting" : [ ], "sort" : 1, "stages" : [ ], "status" : 1, "temp_id" : 0, "user_replicas" : 0 }, { "case_id" : 213142, "case_type" : 0, "contents" : null, "for_loop_params" : [ ], "increase_setting" : [ ], "sort" : 2, "stages" : [ ], "status" : 1, "temp_id" : 0, "user_replicas" : 0 } ], "create_time" : "2022-01-18T15:20:50.466972+08:00", "description" : "", "name" : "task", "operate_mode" : 2, "parallel" : false, "project_id" : 122025, "related_temp_running_data" : [ ], "run_status" : 2, "update_time" : "2022-01-20T15:00:44.284053+08:00" } }
  • 请求示例 修改id为1的任务,任务名字修改为taskName。 /v1/{project_id}/tasks/1 { "id" : 1, "name" : "taskName", "description" : "", "project_id" : 1, "run_status" : 2, "run_type" : 0, "task_run_info" : { "id" : 0, "run_type" : 0 }, "case_list" : [ ], "operate_mode" : 2, "bench_concurrent" : 100, "related_temp_running_data" : [ { "task_run_info_id" : 325, "related_temp_running_id" : 350, "temp_id" : 0, "temp_name" : "asdf" } ] }
  • 响应参数 状态码: 200 表16 响应Body参数 参数 参数类型 描述 code String 响应码 最小长度:0 最大长度:1024 message String 响应消息 最小长度:0 最大长度:1024 taskInfo TaskInfo object 任务详情 表17 TaskInfo 参数 参数类型 描述 bench_concurrent Integer 基准并发 最小值:0 最大值:2147483647 case_list Array of CaseInfoDetail objects 用例ID列表 数组长度:0 - 1000 create_time String 创建时间 description String 描述信息 最小长度:0 最大长度:1024 name String 任务名称 最小长度:0 最大长度:1024 operate_mode Integer 任务模式(0:时长模式;1:次数模式;2:混合模式) 最小值:0 最大值:2147483647 project_id Integer 任务所属工程ID 最小值:0 最大值:2147483647 related_temp_running_data Array of RelatedTempRunningData objects 最近一次运行的报告简略信息,包括运行任务ID,即本对象的task_run_info_id。运行用例ID,即本对象的related_temp_running_id。 数组长度:0 - 1024 run_status Integer 任务运行状态(9:等待运行;0:运行中;1:暂停;2:结束; 3:异常中止;4:用户主动终止(完成状态);5:用户主动终止) 最小值:0 最大值:2147483647 update_time String 任务更新时间 最小长度:0 最大长度:1024 parallel Boolean 任务间用例是否并行执行 表18 CaseInfoDetail 参数 参数类型 描述 case_id Integer 用例ID 最小值:0 最大值:2147483647 name String 用例名称 最小长度:0 最大长度:1024 case_type Integer 用例类型(0:常规用例;) 最小值:0 最大值:2147483647 contents Array of Contents objects 用例脚本信息 数组长度:0 - 1024 for_loop_params Array of objects 旧版本逻辑控制器字段,当前已未使用 数组长度:0 - 10240 increase_setting Array of objects 梯度递增 数组长度:0 - 10240 stages Array of TestCaseStage objects 阶段信息 数组长度:0 - 1024 status Integer 状态,0:已删除;1:启用;2:禁用 最小值:0 最大值:2147483647 temp_id Integer 用例ID 最小值:0 最大值:2147483647 sort Integer 排序字段 directory_id Integer 用例所属目录ID(旧版接口可不传) 最小值:0 最大值:2147483647 setup_contents Array of Contents objects 前置步骤 user_replicas Integer 执行器个数 最小值:0 最大值:2147483647 collect_log_policy Integer 日志采集策略(0-请求模式;1-用例模式) 最小值:0 最大值:32 link_app_list Array of integers 关联全链路应用列表 case_info CaseDoc object 文本用例信息 表19 TestCaseStage 参数 参数类型 描述 operate_mode Integer 压力阶段模式,0:时长模式;1:次数模式 name String 阶段名称 time Integer 压测时长(单位:秒) start_time Integer 开始时间 end_time Integer 结束时间 issue_num Integer 最大并发数 count Integer 次数模式发送总次数 pressure_mode Integer 压力模式,0:并发模式;1:TPS模式;2:摸高模式;3:浪涌并发模式;4:浪涌TPS模式;5:震荡并发模式;6:震荡TPS模式;7:智能摸高模式 tps_value Integer TPS模式下TPS值 current_user_num Integer 起始并发数 current_tps Integer 起始TPS值 voltage_regulating_mode Integer 调压模式,0:自动调压模式;1:手动调压模式 maximum Integer 浪涌/浪涌模式下最大并发数 minimum Integer 浪涌/浪涌模式下最小并发数 loop_count Integer 震荡/浪涌次数 max_duration Integer 浪涌模式下峰值持续时间 ramp_up Integer 摸高模式下爬坡时长(单位:秒) peak_load_kpis StageKpiItems object 摸高指标 step_duration Integer 智能摸高模式下单步执行时长 step_size Integer 智能摸高模式下递增并发数 表20 StageKpiItems 参数 参数类型 描述 average_response_time StageKpiItem object 平均响应时间 success_rate StageKpiItem object 成功率 表21 StageKpiItem 参数 参数类型 描述 comparison String 比较符 value Integer 比较值 表22 Contents 参数 参数类型 描述 content_id Integer 事务ID,若不为0表示此卡片为事务;为0表示非事务 最小值:0 最大值:2147483647 content Array of Content objects 内容 数组长度:0 - 1000 index Integer 排序索引标识 最小值:0 最大值:2147483647 selected_temp_name String 选择的事务或者用例名称 最小长度:0 最大长度:40960 data Object 数据(循环、条件控制器作用的数据) data_type Integer 数据指令类型(0:默认请求卡片;1:数据指令;201:循环指令;202:条件指令;301:集合点;203:vu百分比控制器;204:吞吐量控制器;302:插件请求) 最小值:0 最大值:2147483647 conditions Object 若类型为202:条件指令,该字段为条件配置 is_disabled Boolean 是否禁用 表23 Content 参数 参数类型 描述 content_type Integer 用例卡片类型(1:思考时间;2:报文;3:检查点;4:变量提取) 最小值:0 最大值:2147483647 content ContentInfo object 内容 表24 ContentInfo 参数 参数类型 描述 body_type Integer body类型(0:字符串;1:form-data格式;3:x-www-form-urlencoded格式) 最小值:0 最大值:2147483647 bodys Array of objects bodys check_end_length Object TCP/UDP协议返回数据长度 check_end_str Object TCP/UDP协议返回结束符 check_end_type Object TCP/UDP协议返回结束类型,1:返回数据长度;2:结束符 connect_timeout Integer 超时时间 最小值:0 最大值:2147483647 connect_type Integer 连接设置,当前版本已未使用 最小值:0 最大值:2147483647 headers Array of ContentHeader objects 请求头 数组长度:0 - 1024 http_version String HTTP版本 最小长度:0 最大长度:1024 method String HTTP方法 最小长度:0 最大长度:1024 name String 用例名称 最小长度:0 最大长度:1024 protocol_type Integer 协议类型(1:HTTP;2:HTTPS;3:TCP;4:UDP;7:HLS/RTMP;9:WebSocket;10:HTTP-FLV) 最小值:0 最大值:2147483647 return_timeout Integer 响应超时 最小值:0 最大值:2147483647 return_timeout_param String 响应超时参数 最小长度:0 最大长度:40960 url String 请求地址 最小长度:0 最大长度:40960 rtmp_url String rtmp地址 最小长度:0 最大长度:40960 flv_url String flv地址 最小长度:0 最大长度:40960 bitrate_type Integer 分辨率策略 最小值:0 最大值:128 duration Integer 持续时间 最小值:0 最大值:2147483647 retry_delay Integer HLS重试延迟时间 最小值:0 最大值:2147483647 retry_time Integer HLS重试次数 最小值:0 最大值:2147483647 表25 ContentHeader 参数 参数类型 描述 key String 键 最小长度:0 最大长度:40960 value String 值 最小长度:0 最大长度:40960 表26 CaseDoc 参数 参数类型 描述 description String 用例描述信息 最小长度:0 最大长度:2147483647 label_names Array of strings 标签 preparation String 前置条件 最小长度:0 最大长度:2147483647 rank Integer 用例等级(0-L0;1-L1;2-L2;3-L3;4-L4;) 最小值:0 最大值:64 status_code Integer 状态(0-新建;5-设计中;6-测试中;7-完成;) steps Array of steps objects 测试步骤 表27 steps 参数 参数类型 描述 expect_result String 步骤描述 最小长度:0 最大长度:2147483647 test_step String 预期结果 最小长度:0 最大长度:2147483647 表28 RelatedTempRunningData 参数 参数类型 描述 task_run_info_id Integer 运行任务ID,即报告ID。启动任务(更新任务状态或批量启停任务)接口,会返回运行任务ID。 最小值:0 最大值:2147483647 related_temp_running_id Integer 运行用例ID。对应其他(如报告)接口的运行用例ID(case_run_id)。 最小值:0 最大值:2147483647 temp_id Integer 用例ID 最小值:0 最大值:2147483647 temp_name String 用例名称 最小长度:0 最大长度:4096 content_method_url Array of strings 请求信息,包括请求名称、方法、URL信息 related_temp_running_data Array of TempRunningData objects 最近一次运行的报告简略信息 表29 TempRunningData 参数 参数类型 描述 content_method_url Array of strings 请求信息,包括请求名称,方法,url信息 crawler_status Integer 请求运行状态(0:正常返回;1:解析失败; 2:比对失败; 3:响应超时;) related_temp_running_id Integer 运行用例ID。对应其他(如报告)接口的运行用例ID(case_run_id)。 task_run_info_id Integer 运行任务ID,即报告ID。启动任务(更新任务状态或批量启停任务)接口,会返回运行任务ID。 temp_id Integer 用例或者事务ID temp_name String 用例或者事务名称 temp_running_status Integer 运行状态(9:表示等待运行;0:表示运行中;2:表示结束;3:异常中止;4:用户主动终止(完成状态);5:用户主动终止(终止中状态))
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 id 是 Integer 任务ID 最小值:0 最大值:2147483647 name 是 String 任务名称 最小长度:1 最大长度:42 description 否 String 描述 最小长度:0 最大长度:1024 project_id 是 Integer 工程ID 最小值:0 最大值:2147483647 run_status 否 Integer 任务运行状态(9:等待运行;0:运行中;1:暂停;2:结束; 3:异常中止;4:用户主动终止(完成状态);5:用户主动终止) 最小值:0 最大值:2147483647 run_type 否 Integer 任务类型(0:旧版本任务;1:融合版本任务) 最小值:0 最大值:2147483647 task_run_info 否 TaskRunInfo object 任务运行信息 case_list 否 Array of CaseInfoDetail objects 用例信息 数组长度:0 - 1024 operate_mode 否 Integer 压力阶段模式,0:时长模式;1:次数模式 最小值:0 最大值:2147483647 bench_concurrent 否 Integer 基准并发 最小值:0 最大值:2147483647 related_temp_running_data 否 Array of RelatedTempRunningData objects 最近一次运行的报告简略信息 数组长度:0 - 1024 表3 TaskRunInfo 参数 是否必选 参数类型 描述 id 否 Integer 任务ID 最小值:0 最大值:2147483647 run_type 否 Integer 任务类型(0:旧版本任务;1:新版本任务) 最小值:0 最大值:2147483647 表4 CaseInfoDetail 参数 是否必选 参数类型 描述 case_id 否 Integer 用例ID 最小值:0 最大值:2147483647 name 否 String 用例名称 最小长度:0 最大长度:1024 case_type 否 Integer 用例类型(0:常规用例;) 最小值:0 最大值:2147483647 contents 否 Array of Contents objects 用例脚本信息 数组长度:0 - 1024 for_loop_params 否 Array of objects 旧版本逻辑控制器字段,当前已未使用 数组长度:0 - 10240 increase_setting 否 Array of objects 梯度递增 数组长度:0 - 10240 stages 否 Array of TestCaseStage objects 阶段信息 数组长度:0 - 1024 status 否 Integer 状态,0:已删除;1:启用;2:禁用 最小值:0 最大值:2147483647 temp_id 否 Integer 用例ID 最小值:0 最大值:2147483647 sort 否 Integer 排序字段 directory_id 否 Integer 用例所属目录ID(旧版接口可不传) 最小值:0 最大值:2147483647 setup_contents 否 Array of Contents objects 前置步骤 user_replicas 否 Integer 执行器个数 最小值:0 最大值:2147483647 collect_log_policy 否 Integer 日志采集策略(0-请求模式;1-用例模式) 最小值:0 最大值:32 link_app_list 否 Array of integers 关联全链路应用列表 case_info 否 CaseDoc object 文本用例信息 表5 TestCaseStage 参数 是否必选 参数类型 描述 operate_mode 否 Integer 压力阶段模式,0:时长模式;1:次数模式 name 否 String 阶段名称 time 否 Integer 压测时长(单位:秒) start_time 否 Integer 开始时间 end_time 否 Integer 结束时间 issue_num 否 Integer 最大并发数 count 否 Integer 次数模式发送总次数 pressure_mode 否 Integer 压力模式,0:并发模式;1:TPS模式;2:摸高模式;3:浪涌并发模式;4:浪涌TPS模式;5:震荡并发模式;6:震荡TPS模式;7:智能摸高模式 tps_value 否 Integer TPS模式下TPS值 current_user_num 否 Integer 起始并发数 current_tps 否 Integer 起始TPS值 voltage_regulating_mode 否 Integer 调压模式,0:自动调压模式;1:手动调压模式 maximum 否 Integer 浪涌/浪涌模式下最大并发数 minimum 否 Integer 浪涌/浪涌模式下最小并发数 loop_count 否 Integer 震荡/浪涌次数 max_duration 否 Integer 浪涌模式下峰值持续时间 ramp_up 否 Integer 摸高模式下爬坡时长(单位:秒) peak_load_kpis 否 StageKpiItems object 摸高指标 step_duration 否 Integer 智能摸高模式下单步执行时长 step_size 否 Integer 智能摸高模式下递增并发数 表6 StageKpiItems 参数 是否必选 参数类型 描述 average_response_time 否 StageKpiItem object 平均响应时间 success_rate 否 StageKpiItem object 成功率 表7 StageKpiItem 参数 是否必选 参数类型 描述 comparison 否 String 比较符 value 否 Integer 比较值 表8 Contents 参数 是否必选 参数类型 描述 content_id 否 Integer 事务ID,若不为0表示此卡片为事务;为0表示非事务 最小值:0 最大值:2147483647 content 否 Array of Content objects 内容 数组长度:0 - 1000 index 否 Integer 排序索引标识 最小值:0 最大值:2147483647 selected_temp_name 否 String 选择的事务或者用例名称 最小长度:0 最大长度:40960 data 否 Object 数据(循环、条件控制器作用的数据) data_type 否 Integer 数据指令类型(0:默认请求卡片;1:数据指令;201:循环指令;202:条件指令;301:集合点;203:vu百分比控制器;204:吞吐量控制器;302:插件请求) 最小值:0 最大值:2147483647 conditions 否 Object 若类型为202:条件指令,该字段为条件配置 is_disabled 否 Boolean 是否禁用 表9 Content 参数 是否必选 参数类型 描述 content_type 否 Integer 用例卡片类型(1:思考时间;2:报文;3:检查点;4:变量提取) 最小值:0 最大值:2147483647 content 否 ContentInfo object 内容 表10 ContentInfo 参数 是否必选 参数类型 描述 body_type 否 Integer body类型(0:字符串;1:form-data格式;3:x-www-form-urlencoded格式) 最小值:0 最大值:2147483647 bodys 否 Array of objects bodys check_end_length 否 Object TCP/UDP协议返回数据长度 check_end_str 否 Object TCP/UDP协议返回结束符 check_end_type 否 Object TCP/UDP协议返回结束类型,1:返回数据长度;2:结束符 connect_timeout 否 Integer 超时时间 最小值:0 最大值:2147483647 connect_type 否 Integer 连接设置,当前版本已未使用 最小值:0 最大值:2147483647 headers 否 Array of ContentHeader objects 请求头 数组长度:0 - 1024 http_version 否 String HTTP版本 最小长度:0 最大长度:1024 method 否 String HTTP方法 最小长度:0 最大长度:1024 name 否 String 用例名称 最小长度:0 最大长度:1024 protocol_type 否 Integer 协议类型(1:HTTP;2:HTTPS;3:TCP;4:UDP;7:HLS/RTMP;9:WebSocket;10:HTTP-FLV) 最小值:0 最大值:2147483647 return_timeout 否 Integer 响应超时 最小值:0 最大值:2147483647 return_timeout_param 否 String 响应超时参数 最小长度:0 最大长度:40960 url 否 String 请求地址 最小长度:0 最大长度:40960 rtmp_url 否 String rtmp地址 最小长度:0 最大长度:40960 flv_url 否 String flv地址 最小长度:0 最大长度:40960 bitrate_type 否 Integer 分辨率策略 最小值:0 最大值:128 duration 否 Integer 持续时间 最小值:0 最大值:2147483647 retry_delay 否 Integer HLS重试延迟时间 最小值:0 最大值:2147483647 retry_time 否 Integer HLS重试次数 最小值:0 最大值:2147483647 表11 ContentHeader 参数 是否必选 参数类型 描述 key 否 String 键 最小长度:0 最大长度:40960 value 否 String 值 最小长度:0 最大长度:40960 表12 CaseDoc 参数 是否必选 参数类型 描述 description 否 String 用例描述信息 最小长度:0 最大长度:2147483647 label_names 否 Array of strings 标签 preparation 否 String 前置条件 最小长度:0 最大长度:2147483647 rank 否 Integer 用例等级(0-L0;1-L1;2-L2;3-L3;4-L4;) 最小值:0 最大值:64 status_code 否 Integer 状态(0-新建;5-设计中;6-测试中;7-完成;) steps 否 Array of steps objects 测试步骤 表13 steps 参数 是否必选 参数类型 描述 expect_result 否 String 步骤描述 最小长度:0 最大长度:2147483647 test_step 否 String 预期结果 最小长度:0 最大长度:2147483647 表14 RelatedTempRunningData 参数 是否必选 参数类型 描述 task_run_info_id 否 Integer 运行任务ID,即报告ID。启动任务(更新任务状态或批量启停任务)接口,会返回运行任务ID。 最小值:0 最大值:2147483647 related_temp_running_id 否 Integer 运行用例ID。对应其他(如报告)接口的运行用例ID(case_run_id)。 最小值:0 最大值:2147483647 temp_id 否 Integer 用例ID 最小值:0 最大值:2147483647 temp_name 否 String 用例名称 最小长度:0 最大长度:4096 content_method_url 否 Array of strings 请求信息,包括请求名称、方法、URL信息 related_temp_running_data 否 Array of TempRunningData objects 最近一次运行的报告简略信息 表15 TempRunningData 参数 是否必选 参数类型 描述 content_method_url 否 Array of strings 请求信息,包括请求名称,方法,url信息 crawler_status 否 Integer 请求运行状态(0:正常返回;1:解析失败; 2:比对失败; 3:响应超时;) related_temp_running_id 否 Integer 运行用例ID。对应其他(如报告)接口的运行用例ID(case_run_id)。 task_run_info_id 否 Integer 运行任务ID,即报告ID。启动任务(更新任务状态或批量启停任务)接口,会返回运行任务ID。 temp_id 否 Integer 用例或者事务ID temp_name 否 String 用例或者事务名称 temp_running_status 否 Integer 运行状态(9:表示等待运行;0:表示运行中;2:表示结束;3:异常中止;4:用户主动终止(完成状态);5:用户主动终止(终止中状态))
  • URI GET /v1/{project_id}/variables/{variable_type}/test-suites/{test_suite_id} 表1 路径参数 参数 是否必选 参数类型 描述 variable_type 是 Integer 变量类型 最小值:0 最大值:2147483647 project_id 是 String 项目ID,获取方式请参见获取项目ID。 最小长度:0 最大长度:64 test_suite_id 是 Integer 测试工程ID 最小值:0 最大值:2147483647
  • 请求示例 查询PerfTest工程的变量列表。 /v1/{project_id}/variables/{variable_type}/test-suites/1 { "code" : "SVCSTG.CPTS.0000000", "message" : "success", "variable_list" : [ { "file_size" : 0, "id" : 156769, "is_quoted" : false, "is_sensitive" : false, "name" : "var1", "share_mode" : 0, "variable" : [ "test" ], "variable_mode" : 0, "variable_type" : 2 } ] }
  • 响应示例 状态码: 200 success { "code" : "SVCSTG.CPTS.0000000", "message" : "success", "variable_list" : [ { "file_size" : 0, "id" : 37615, "is_quoted" : false, "name" : "var1", "share_mode" : 0, "variable" : [ 1, 20 ], "variable_mode" : 0, "variable_type" : 1 }, { "file_size" : 0, "id" : 36306, "is_quoted" : true, "name" : "var2", "share_mode" : 0, "variable" : [ "domain-example.com" ], "variable_mode" : 0, "variable_type" : 2 } ] }
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 code String 响应吗 最小长度:0 最大长度:1024 message String 响应消息 最小长度:0 最大长度:1024 variable_list Array of VariableDetail objects 变量列表 数组长度:0 - 1024 表3 VariableDetail 参数 参数类型 描述 file_size Integer 文件大小 最小值:0 最大值:2147483647 id Integer 变量ID 最小值:0 最大值:2147483647 is_quoted Boolean 是否被引用 name String 变量名称 最小长度:0 最大长度:1024 variable Array of objects 变量值 数组长度:0 - 40960 variable_type Integer 变量类型(1:整数;2:枚举;3:文件;5:文本) 最小值:0 最大值:2147483647 variable_mode Integer 变量读取模式,0:顺序模式;1:随机模式 share_mode Integer 变量共享模式,0:用例模式;1:并发模式
  • URI GET /v1/{project_id}/test-suites/{test_suit_id}/tasks/{task_id}/test-cases 表1 路径参数 参数 是否必选 参数类型 描述 test_suit_id 是 Integer 工程ID 最小值:0 最大值:2147483647 project_id 是 String 项目ID,获取方式请参见获取项目ID。 最小长度:0 最大长度:64 task_id 是 Integer 任务ID 最小值:0 最大值:2147483647
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 code String 响应码 最小长度:0 最大长度:1024 message String 响应消息 最小长度:0 最大长度:10240 test_cases Array of TestCaseBriefInfo objects 用例列表 表3 TestCaseBriefInfo 参数 参数类型 描述 id Integer 用例ID name String 用例名称 status Integer 状态(0-已删除;1-启用;2-停用;) 最小值:0 最大值:2 create_time String 创建时间 update_time String 更新时间 parent_id Integer 所属目录ID 最小值:1 最大值:2147483647 type Integer 类型(1-目录;2-用例;) 最小值:1 最大值:2
  • 请求示例 修改一个任务,任务ID是1,任务名修改为task,任务关联的用例ID集合为16674,16675。 /v3/{project_id}/tasks/1 { "name" : "task", "parallel" : false, "project_id" : 17543, "operate_mode" : 2, "case_id_list" : [ 16674, 16675 ] }
  • 响应示例 状态码: 200 success { "code" : "SVCSTG.CPTS.0000000", "message" : "success", "taskInfo" : { "bench_concurrent" : 100, "case_list" : [ { "case_id" : 211751, "case_type" : 0, "contents" : [ { "content_id" : 0, "content" : [ { "content_type" : 2, "content" : { "body_type" : 0, "bodys" : [ ], "check_end_length" : null, "check_end_str" : null, "check_end_type" : null, "connect_timeout" : 5000, "connect_type" : 1, "headers" : [ { "key" : "Content-Type", "value" : "application/json" } ], "http_version" : "HTTP/1.1", "method" : "GET", "name" : "Msg-43147", "protocol_type" : 1, "return_timeout" : 5000, "return_timeout_param" : null, "url" : "https://www.example.com" } } ], "index" : 0, "selected_temp_name" : "", "data" : null, "data_type" : 0, "conditions" : null } ], "for_loop_params" : [ ], "increase_setting" : [ ], "sort" : 1, "stages" : [ ], "status" : 1, "temp_id" : 0, "user_replicas" : 0 }, { "case_id" : 213142, "case_type" : 0, "contents" : null, "for_loop_params" : [ ], "increase_setting" : [ ], "sort" : 2, "stages" : [ ], "status" : 1, "temp_id" : 0, "user_replicas" : 0 } ], "create_time" : "2022-01-18T15:20:50.466972+08:00", "description" : "", "name" : "task", "operate_mode" : 2, "parallel" : false, "project_id" : 122025, "related_temp_running_data" : [ ], "run_status" : 2, "update_time" : "2022-01-20T15:00:44.284053+08:00" } }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 code String 响应码 最小长度:0 最大长度:1024 message String 响应消息 最小长度:0 最大长度:1024 taskInfo TaskInfo object 任务详情 表4 TaskInfo 参数 参数类型 描述 bench_concurrent Integer 基准并发 最小值:0 最大值:2147483647 case_list Array of CaseInfoDetail objects 用例ID列表 数组长度:0 - 1000 create_time String 创建时间 description String 描述信息 最小长度:0 最大长度:1024 name String 任务名称 最小长度:0 最大长度:1024 operate_mode Integer 任务模式(0:时长模式;1:次数模式;2:混合模式) 最小值:0 最大值:2147483647 project_id Integer 任务所属工程ID 最小值:0 最大值:2147483647 related_temp_running_data Array of RelatedTempRunningData objects 最近一次运行的报告简略信息,包括运行任务ID,即本对象的task_run_info_id。运行用例ID,即本对象的related_temp_running_id。 数组长度:0 - 1024 run_status Integer 任务运行状态(9:等待运行;0:运行中;1:暂停;2:结束; 3:异常中止;4:用户主动终止(完成状态);5:用户主动终止) 最小值:0 最大值:2147483647 update_time String 任务更新时间 最小长度:0 最大长度:1024 parallel Boolean 任务间用例是否并行执行 表5 CaseInfoDetail 参数 参数类型 描述 case_id Integer 用例ID 最小值:0 最大值:2147483647 name String 用例名称 最小长度:0 最大长度:1024 case_type Integer 用例类型(0:常规用例;) 最小值:0 最大值:2147483647 contents Array of Contents objects 用例脚本信息 数组长度:0 - 1024 for_loop_params Array of objects 旧版本逻辑控制器字段,当前已未使用 数组长度:0 - 10240 increase_setting Array of objects 梯度递增 数组长度:0 - 10240 stages Array of TestCaseStage objects 阶段信息 数组长度:0 - 1024 status Integer 状态,0:已删除;1:启用;2:禁用 最小值:0 最大值:2147483647 temp_id Integer 用例ID 最小值:0 最大值:2147483647 sort Integer 排序字段 directory_id Integer 用例所属目录ID(旧版接口可不传) 最小值:0 最大值:2147483647 setup_contents Array of Contents objects 前置步骤 user_replicas Integer 执行器个数 最小值:0 最大值:2147483647 collect_log_policy Integer 日志采集策略(0-请求模式;1-用例模式) 最小值:0 最大值:32 link_app_list Array of integers 关联全链路应用列表 case_info CaseDoc object 文本用例信息 表6 TestCaseStage 参数 参数类型 描述 operate_mode Integer 压力阶段模式,0:时长模式;1:次数模式 name String 阶段名称 time Integer 压测时长(单位:秒) start_time Integer 开始时间 end_time Integer 结束时间 issue_num Integer 最大并发数 count Integer 次数模式发送总次数 pressure_mode Integer 压力模式,0:并发模式;1:TPS模式;2:摸高模式;3:浪涌并发模式;4:浪涌TPS模式;5:震荡并发模式;6:震荡TPS模式;7:智能摸高模式 tps_value Integer TPS模式下TPS值 current_user_num Integer 起始并发数 current_tps Integer 起始TPS值 voltage_regulating_mode Integer 调压模式,0:自动调压模式;1:手动调压模式 maximum Integer 浪涌/浪涌模式下最大并发数 minimum Integer 浪涌/浪涌模式下最小并发数 loop_count Integer 震荡/浪涌次数 max_duration Integer 浪涌模式下峰值持续时间 ramp_up Integer 摸高模式下爬坡时长(单位:秒) peak_load_kpis StageKpiItems object 摸高指标 step_duration Integer 智能摸高模式下单步执行时长 step_size Integer 智能摸高模式下递增并发数 表7 StageKpiItems 参数 参数类型 描述 average_response_time StageKpiItem object 平均响应时间 success_rate StageKpiItem object 成功率 表8 StageKpiItem 参数 参数类型 描述 comparison String 比较符 value Integer 比较值 表9 Contents 参数 参数类型 描述 content_id Integer 事务ID,若不为0表示此卡片为事务;为0表示非事务 最小值:0 最大值:2147483647 content Array of Content objects 内容 数组长度:0 - 1000 index Integer 排序索引标识 最小值:0 最大值:2147483647 selected_temp_name String 选择的事务或者用例名称 最小长度:0 最大长度:40960 data Object 数据(循环、条件控制器作用的数据) data_type Integer 数据指令类型(0:默认请求卡片;1:数据指令;201:循环指令;202:条件指令;301:集合点;203:vu百分比控制器;204:吞吐量控制器;302:插件请求) 最小值:0 最大值:2147483647 conditions Object 若类型为202:条件指令,该字段为条件配置 is_disabled Boolean 是否禁用 表10 Content 参数 参数类型 描述 content_type Integer 用例卡片类型(1:思考时间;2:报文;3:检查点;4:变量提取) 最小值:0 最大值:2147483647 content ContentInfo object 内容 表11 ContentInfo 参数 参数类型 描述 body_type Integer body类型(0:字符串;1:form-data格式;3:x-www-form-urlencoded格式) 最小值:0 最大值:2147483647 bodys Array of objects bodys check_end_length Object TCP/UDP协议返回数据长度 check_end_str Object TCP/UDP协议返回结束符 check_end_type Object TCP/UDP协议返回结束类型,1:返回数据长度;2:结束符 connect_timeout Integer 超时时间 最小值:0 最大值:2147483647 connect_type Integer 连接设置,当前版本已未使用 最小值:0 最大值:2147483647 headers Array of ContentHeader objects 请求头 数组长度:0 - 1024 http_version String HTTP版本 最小长度:0 最大长度:1024 method String HTTP方法 最小长度:0 最大长度:1024 name String 用例名称 最小长度:0 最大长度:1024 protocol_type Integer 协议类型(1:HTTP;2:HTTPS;3:TCP;4:UDP;7:HLS/RTMP;9:WebSocket;10:HTTP-FLV) 最小值:0 最大值:2147483647 return_timeout Integer 响应超时 最小值:0 最大值:2147483647 return_timeout_param String 响应超时参数 最小长度:0 最大长度:40960 url String 请求地址 最小长度:0 最大长度:40960 rtmp_url String rtmp地址 最小长度:0 最大长度:40960 flv_url String flv地址 最小长度:0 最大长度:40960 bitrate_type Integer 分辨率策略 最小值:0 最大值:128 duration Integer 持续时间 最小值:0 最大值:2147483647 retry_delay Integer HLS重试延迟时间 最小值:0 最大值:2147483647 retry_time Integer HLS重试次数 最小值:0 最大值:2147483647 表12 ContentHeader 参数 参数类型 描述 key String 键 最小长度:0 最大长度:40960 value String 值 最小长度:0 最大长度:40960 表13 CaseDoc 参数 参数类型 描述 description String 用例描述信息 最小长度:0 最大长度:2147483647 label_names Array of strings 标签 preparation String 前置条件 最小长度:0 最大长度:2147483647 rank Integer 用例等级(0-L0;1-L1;2-L2;3-L3;4-L4;) 最小值:0 最大值:64 status_code Integer 状态(0-新建;5-设计中;6-测试中;7-完成;) steps Array of steps objects 测试步骤 表14 steps 参数 参数类型 描述 expect_result String 步骤描述 最小长度:0 最大长度:2147483647 test_step String 预期结果 最小长度:0 最大长度:2147483647 表15 RelatedTempRunningData 参数 参数类型 描述 task_run_info_id Integer 运行任务ID,即报告ID。启动任务(更新任务状态或批量启停任务)接口,会返回运行任务ID。 最小值:0 最大值:2147483647 related_temp_running_id Integer 运行用例ID。对应其他(如报告)接口的运行用例ID(case_run_id)。 最小值:0 最大值:2147483647 temp_id Integer 用例ID 最小值:0 最大值:2147483647 temp_name String 用例名称 最小长度:0 最大长度:4096 content_method_url Array of strings 请求信息,包括请求名称、方法、URL信息 related_temp_running_data Array of TempRunningData objects 最近一次运行的报告简略信息 表16 TempRunningData 参数 参数类型 描述 content_method_url Array of strings 请求信息,包括请求名称,方法,url信息 crawler_status Integer 请求运行状态(0:正常返回;1:解析失败; 2:比对失败; 3:响应超时;) related_temp_running_id Integer 运行用例ID。对应其他(如报告)接口的运行用例ID(case_run_id)。 task_run_info_id Integer 运行任务ID,即报告ID。启动任务(更新任务状态或批量启停任务)接口,会返回运行任务ID。 temp_id Integer 用例或者事务ID temp_name String 用例或者事务名称 temp_running_status Integer 运行状态(9:表示等待运行;0:表示运行中;2:表示结束;3:异常中止;4:用户主动终止(完成状态);5:用户主动终止(终止中状态))
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 名称 parallel 是 Boolean 并行状态(表示任务执行时用例是否并行执行;true:并行执行,false:串行执行) project_id 是 Integer 工程ID operate_mode 是 Integer 任务模式(兼容旧版接口保留字段,0:时长模式,1:次数模式,2:混合模式;此处请传固定值:2) case_id_list 是 Array of integers 关联的用例ID集合
  • 基本概念 账号 用户注册云平台时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用他们进行日常管理工作。 用户 由账号在 IAM 中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 云平台的区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。查看项目ID,请参考获取项目ID。 图1 项目隔离模型 企业项目 企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。 父主题: 使用前必读
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DELETE:请求服务器删除指定资源,如删除对象等。 HEAD:请求服务器资源头部。 PATCH:请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://iam.xxx.com/v3/auth/tokens
共100000条