Help Center/ CodeArts TestPlan/ API Reference/ APIs/ Test Plan Management/ Adding Test Cases In Batches to a Plan
Updated on 2025-09-04 GMT+08:00

Adding Test Cases In Batches to a Plan

Function

This API is used to add test cases in batches to a test plan.

Calling Method

For details, see Calling APIs.

URI

POST /v1/projects/{project_id}/plans/{plan_id}/testcases/batch-add

Table 1 Path parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Definition

Project UUID, which uniquely identifies a project. For details about how to obtain the project UUID, see Obtaining a Project ID.

Constraints

32 characters (letters and digits).

Range

N/A.

Default Value

N/A.

plan_id

Yes

String

Definition

Unique identifier of a plan.

Constraints

N/A.

Range

11 to 34 characters.

Default Value

N/A.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Definition

User token. It can be obtained by calling the corresponding IAM API. The value of X-Subject-Token in the response header is the user token.

Constraints

N/A.

Range

1 to 100,000 characters.

Default Value

N/A.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

service_id

Yes

Integer

Definition

Service ID returned by the API for registering a test service.

Constraints

N/A.

Range

N/A.

Default Value

N/A.

testcase_id_list

Yes

Array of strings

Definition

Number of cases in a plan.

Constraints

It must involve only one test type.

Range

Fewer than 50 elements.

Default Value

N/A.

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

status

String

success or error

error

ApiError object

Error message.

request_id

String

Input by the API caller. Use a UUID to ensure that the request is unique.

server_address

String

Service address that receives the request.

result

String

If status is failed, this field stores one ApiError object which only contains the reason field.

Table 5 ApiError

Parameter

Type

Description

code

String

Definition

Error code.

Range

N/A.

reason

String

Definition

Service failure message.

Range

N/A.

Status code: 400

Table 6 Response body parameters

Parameter

Type

Description

status

String

Definition

Processing status of the request.

Range

success or error

result

ResultValueString object

Definition

Request result.

Range

Optional

error

ApiError object

Definition

Error message

Range

Optional

request_id

String

Definition

Unique ID of a request.

Range

Optional

address

String

Definition

Service address that receives the request.

Range

Optional

Table 7 ResultValueString

Parameter

Type

Description

value

String

Definition

resultObject

Range

N/A.

Table 8 ApiError

Parameter

Type

Description

code

String

Definition

Error code.

Range

N/A.

reason

String

Definition

Service failure message.

Range

N/A.

Status code: 401

Table 9 Response body parameters

Parameter

Type

Description

error_code

String

Definition

Error code displayed after the API fails to be called.

Range

N/A.

error_msg

String

Definition

Error message displayed after the API fails to be called.

Range

N/A.

Status code: 404

Table 10 Response body parameters

Parameter

Type

Description

error_code

String

Definition

Error code displayed after the API fails to be called.

Range

N/A.

error_msg

String

Definition

Error message displayed after the API fails to be called.

Range

N/A.

Status code: 500

Table 11 Response body parameters

Parameter

Type

Description

error_code

String

Definition

Error code displayed after the API fails to be called.

Range

N/A.

error_msg

String

Definition

Error message displayed after the API fails to be called.

Range

N/A.

error_detail

ErrorDetailInfo object

Details about batch operation failure. This field does not display when all operations fail.

Table 12 ErrorDetailInfo

Parameter

Type

Description

failed

Array of ErrorCaseInfoBean objects

Details about the resources that fail to be operated in batches.

Table 13 ErrorCaseInfoBean

Parameter

Type

Description

error_code

String

Definition

Error code.

Range

N/A.

error_msg

String

Definition

Error message.

Range

N/A.

testcase_id

String

Definition

Failed resource information.

Range

N/A.

Example Requests

Add test cases in batches to a plan.

post https://{endpoint}/v1/projects/efdb403066474ab08836b9eeaaa23bca/plans/9b26f58ec29943f681804a6628779a23/testcases/batch-add

{
  "service_id" : 13,
  "testcase_id_list" : [ "97b82412f1ca4628803b918c27ed09de", "97b82412f1ca4628803b918c27ed09de", "97b82412f1ca4628803b918c27ed09de" ]
}

Example Responses

Status code: 200

OK

{
  "status" : "success",
  "result" : {
    "value" : "success"
  }
}

Status code: 500

Internal server error

{
  "error_code" : "CLOUDTEST.00000001",
  "error_msg" : "error message displayed after an API fails to be called"
}

SDK Sample Code

The sample code is as follows.

Java

Add test cases in batches to a plan.

 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
52
53
54
55
56
57
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.*;

import java.util.List;
import java.util.ArrayList;

public class CreateTestCaseInPlanSolution {

    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();
        CreateTestCaseInPlanRequest request = new CreateTestCaseInPlanRequest();
        request.withProjectId("{project_id}");
        request.withPlanId("{plan_id}");
        CreateTestCaseInPlanRequestBody body = new CreateTestCaseInPlanRequestBody();
        List<String> listbodyTestcaseIdList = new ArrayList<>();
        listbodyTestcaseIdList.add("97b82412f1ca4628803b918c27ed09de");
        listbodyTestcaseIdList.add("97b82412f1ca4628803b918c27ed09de");
        listbodyTestcaseIdList.add("97b82412f1ca4628803b918c27ed09de");
        body.withTestcaseIdList(listbodyTestcaseIdList);
        body.withServiceId(13);
        request.withBody(body);
        try {
            CreateTestCaseInPlanResponse response = client.createTestCaseInPlan(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

Add test cases in batches to a plan.

 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
# 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 = CreateTestCaseInPlanRequest()
        request.project_id = "{project_id}"
        request.plan_id = "{plan_id}"
        listTestcaseIdListbody = [
            "97b82412f1ca4628803b918c27ed09de",
            "97b82412f1ca4628803b918c27ed09de",
            "97b82412f1ca4628803b918c27ed09de"
        ]
        request.body = CreateTestCaseInPlanRequestBody(
            testcase_id_list=listTestcaseIdListbody,
            service_id=13
        )
        response = client.create_test_case_in_plan(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

Add test cases in batches to a plan.

 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
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 := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        Build()

    client := cloudtest.NewCloudtestClient(
        cloudtest.CloudtestClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.CreateTestCaseInPlanRequest{}
	request.ProjectId = "{project_id}"
	request.PlanId = "{plan_id}"
	var listTestcaseIdListbody = []string{
        "97b82412f1ca4628803b918c27ed09de",
	    "97b82412f1ca4628803b918c27ed09de",
	    "97b82412f1ca4628803b918c27ed09de",
    }
	request.Body = &model.CreateTestCaseInPlanRequestBody{
		TestcaseIdList: listTestcaseIdListbody,
		ServiceId: int32(13),
	}
	response, err := client.CreateTestCaseInPlan(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

More SDK Sample Code

For SDK code examples in more programming languages, visit API Explorer and click the Sample Code tab.

Status Codes

Status Code

Description

200

OK

400

Bad request

401

Unauthorized

404

Not found

500

Internal server error

Error Codes

See Error Codes.