获取特性树 - ShowFeatureChildren
功能介绍
此接口用于递归查询特性树,同页面 测试 -> 测试用例 -> 左侧特性目录
调用方法
请参见如何调用API。
URI
POST /GT3KServer/v4/features/{feature_uri}/children
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| feature_uri | 是 | String | 参数解释 特性URI,用于唯一标识一个特性节点,获取该特性下的子特性列表 约束限制 不涉及 取值范围 不涉及 默认取值 不涉及 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| owner | 否 | String | 参数解释: 责任人,用于筛选指定责任人下的子特性 约束限制: 不涉及 取值范围: 1-128中英文、数字字符 默认取值: 无 |
| stage | 否 | String | 参数解释: 阶段,用于筛选指定测试阶段下的子特性 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| activity | 否 | String | 参数解释: 活动,用于筛选指定测试活动下的子特性 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| version_uri | 否 | String | 参数解释: 版本URI,用于筛选指定版本下的子特性。获取方式请参见获取版本URI接口 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| task_uri | 否 | String | 参数解释: 任务uri,用于筛选指定测试任务下的子特性。获取方式请参见查询测试任务列表接口 约束限制: 不涉及 取值范围: 字符串类型,长度为11-34位的字母或数字 默认取值: 不涉及 |
| service_type | 否 | String | 参数解释: 用例服务类型 约束限制: 不涉及 取值范围: 默认取值: 不涉及 |
| contain_total | 否 | Boolean | 参数解释: 是否包含用例数 约束限制: 不涉及 取值范围: 默认取值: 不涉及 |
| project_uuid | 是 | String | 参数解释 项目UUID,项目唯一标识,固定长度32位字符(字母和数字)。获取方式请参见获取项目ID 约束限制 不涉及 取值范围 项目uuid应符合如下规则:长度等于32位,包含大小写字母、数字 默认取值 不涉及 |
| sort_type | 否 | String | 参数解释: 排序类型 约束限制: 不涉及 取值范围: 默认取值: 不涉及 |
| page_number | 否 | Integer | 参数解释: 页码,用于指定查询结果的页码 约束限制: 不涉及 取值范围: 大于等于1的正整数 默认取值: 无 |
| page_size | 否 | Integer | 参数解释: 每页数量,用于指定每页返回的子特性数量,单位:条 约束限制: 不涉及 取值范围: 大于等于1的正整数 默认取值: 无 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| value | Array of TestItemVo objects | 参数解释 返回的数据类型 取值范围 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| uri | String | 参数解释: 资源URI 取值范围: 11-34位的字母及数字(字符串) |
| type | String | 参数解释: 资源类型 取值范围: |
| author | String | 参数解释: 创建人 取值范围: 字符串类型,长度小于128个字符 |
| name | String | 参数解释: 名称 取值范围: 字符串类型,长度小于128个字符 |
| rank | Integer | 参数解释: 级别 取值范围: 不涉及 |
| owner | String | 参数解释: 责任人 取值范围: 字符串类型,长度小于128个字符 |
| frequence | String | 参数解释: 执行频率 取值范围: 不涉及 |
| region | String | 参数解释: 区域 取值范围: 不涉及 |
| last_modifier | String | 参数解释: 最后修改人 取值范围: 不涉及 |
| last_modified | String | 参数解释: 最后修改时间 取值范围: 不涉及 |
| last_modified_timestamp | Long | 参数解释: 修改时间时间戳 取值范围: 时间戳格式,单位为毫秒 |
| last_change_time | String | 参数解释: 最后变更时间 取值范围: 时间格式为"yyyy-MM-dd HH:mm:ss" |
| version_uri | String | 参数解释: 版本URI 取值范围: 11-34位字母、数字组成的字符串 |
| origin_uri | String | 参数解释: 源资源URI 取值范围: 11-34位字母、数字组成的字符串 |
| parent_uri | String | 参数解释: 父资源URI 取值范围: 11-34位字母、数字组成的字符串 |
| parent_path | String | 参数解释: 父资源路径 取值范围: 不涉及 |
| creation_version_uri | String | 参数解释: 创建版本URI 取值范围: 11-34位字母、数字组成的字符串 |
| creation_date | String | 参数解释: 创建时间 取值范围: 不涉及 |
| creation_date_timestamp | Long | 参数解释: 创建时间时间戳 取值范围: 不涉及 |
| author_name | String | 参数解释: 创建人名称 取值范围: 不涉及 |
| comment | String | 参数解释: 备注 取值范围: 不涉及 |
| number | String | 参数解释: 编号 取值范围: 不涉及 |
| is_feature | String | 参数解释: 是否特性 取值范围: |
| relate_htsm | String | 参数解释: 是否关联特性 取值范围: |
| aw_unique_id | String | 参数解释: 自动化关键字唯一标识 取值范围: 不涉及 |
| test_mind_id | String | 参数解释: 脑图id 取值范围: 长度小于128个字符的字符串 |
| test_mind_url | String | 参数解释: 脑图url 取值范围: 长度小于128个字符的字符串 |
| project_uuid | String | 参数解释: 项目UUID,项目唯一标识,固定长度32位字符(字母和数字)。获取方式请参见获取项目ID 取值范围: 32位字母和数字组成的字符串 |
| case_total | Integer | 参数解释: 用例总数 取值范围: 大于等于1的正整数,单位:个 |
| execd_total | Integer | 参数解释: 执行总数 取值范围: 大于等于1的正整数,单位:个 |
| is_direct_relation | Boolean | 参数解释: 是否为直接关联 取值范围: |
| has_child | Boolean | 参数解释: 是否有子特性 取值范围: true:是 false:否 |
状态码:400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 接口调用失败错误码 取值范围: 不涉及 |
| error_msg | String | 参数解释: 接口调用失败错误信息 取值范围: 不涉及 |
状态码:401
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 接口调用失败错误码 取值范围: 不涉及 |
| error_msg | String | 参数解释: 接口调用失败错误信息 取值范围: 不涉及 |
状态码:404
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 接口调用失败错误码 取值范围: 不涉及 |
| error_msg | String | 参数解释: 接口调用失败错误信息 取值范围: 不涉及 |
状态码:500
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 接口调用失败错误码 取值范围: 不涉及 |
| error_msg | String | 参数解释: 接口调用失败错误信息 取值范围: 不涉及 |
请求示例
post https://{endpoint}/GT3KServer/v4/features/v90200010aelu5om/children
{
"project_uuid" : "3cb3c18b74f1429783175e6dab05b351"
} 响应示例
状态码:200
{
"value" : [ {
"uri" : "v90200010h980ss9",
"type" : "TestItem",
"author" : "2ce06fffb4634271a377c1cd7c429704",
"name" : "子目录2333",
"region" : "roma-dev-2-arm",
"last_modifier" : "2ce06fffb4634271a377c1cd7c429704",
"last_modified" : "2025-06-05 16:34:06",
"last_modified_timestamp" : 1749112446000,
"last_change_time" : "2025-06-05 16:34:06",
"version_uri" : "v90200010aelu5om",
"parent_uri" : "v90200010aelu5om",
"parent_path" : "/407ac57de7ea44d28e47293a2b9cf15c/v90200010aelu5om/",
"creation_version_uri" : "v90200010aelu5om",
"creation_date" : "2025-06-05 16:34:06",
"creation_date_timestamp" : 1749112446000,
"number" : "11232131231",
"is_feature" : "0",
"relate_htsm" : "0",
"project_uuid" : "407ac57de7ea44d28e47293a2b9cf15c",
"case_total" : 2,
"execd_total" : 0,
"is_direct_relation" : true,
"has_child" : true
}, {
"uri" : "",
"name" : "其他",
"parent_path" : "407ac57de7ea44d28e47293a2b9cf15c",
"is_feature" : "0",
"relate_htsm" : "0",
"project_uuid" : "407ac57de7ea44d28e47293a2b9cf15c",
"case_total" : 7325,
"execd_total" : 0,
"is_direct_relation" : false,
"has_child" : false
} ]
} SDK代码示例
SDK代码示例如下。
Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.cloudtest.v1.region.CloudtestRegion; import com.huaweicloud.sdk.cloudtest.v1.*; import com.huaweicloud.sdk.cloudtest.v1.model.*; public class ShowFeatureChildrenSolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); CloudtestClient client = CloudtestClient.newBuilder() .withCredential(auth) .withRegion(CloudtestRegion.valueOf("<YOUR REGION>")) .build(); ShowFeatureChildrenRequest request = new ShowFeatureChildrenRequest(); QueryTestItemTreeInfo body = new QueryTestItemTreeInfo(); body.withProjectUuid("3cb3c18b74f1429783175e6dab05b351"); request.withBody(body); try { ShowFeatureChildrenResponse response = client.showFeatureChildren(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } } |
Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | # coding: utf-8 import os from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkcloudtest.v1.region.cloudtest_region import CloudtestRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkcloudtest.v1 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] credentials = BasicCredentials(ak, sk) client = CloudtestClient.new_builder() \ .with_credentials(credentials) \ .with_region(CloudtestRegion.value_of("<YOUR REGION>")) \ .build() try: request = ShowFeatureChildrenRequest() request.body = QueryTestItemTreeInfo( project_uuid="3cb3c18b74f1429783175e6dab05b351" ) response = client.show_feature_children(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
Go
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" cloudtest "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cloudtest/v1" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cloudtest/v1/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cloudtest/v1/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") auth, err := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). SafeBuild() if err != nil { fmt.Println(err) return } hcClient, err := cloudtest.CloudtestClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). SafeBuild() if err != nil { fmt.Println(err) return } client := cloudtest.NewCloudtestClient(hcClient) request := &model.ShowFeatureChildrenRequest{} projectUuidQueryTestItemTreeInfo:= "3cb3c18b74f1429783175e6dab05b351" request.Body = &model.QueryTestItemTreeInfo{ ProjectUuid: &projectUuidQueryTestItemTreeInfo, } response, err := client.ShowFeatureChildren(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
更多
更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。
状态码
| 状态码 | 描述 |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 401 | Unauthorized |
| 404 | Not Found |
| 500 | Internal Server Error |
错误码
请参见错误码。