
# CodeArts TestPlan
CodeArts Testplan连接器用于对接华为云CodeArts Testplan服务。
测试计划（CodeArts Testplan）面向软件开发者提供一站式云端测试平台，覆盖功能测试、接口测试，融入DevOps敏捷测试理念，帮助您高效管理测试活动，保障产品高质量交付。
#### 前提条件
使用CodeArts TestPlan前，需要开通CodeArts TestPlan服务。
#### 创建CodeArts TestPlan连接
1. 登录[CodeArts Link控制台](https://console.huaweicloud.com/codearts-link/)。
2. 在左侧导航栏选择"连接器"，在连接器页面单击"新建连接"。
3. 选择"CodeArts TestPlan"连接器。
4. 在弹窗中配置连接器信息，完成后单击"确定"。 
   
   | 参数                | 说明                                                                                                                                                         |
   |:---|:---|
   | 连接名称              | 新建连接的名称，用于标识当前连接。                                                                                                                                          |
   | 描述                | 新建连接的描述信息。                                                                                                                                                 |
   | Access Key        | 当前账号的AK（Access Key ID）。请参考[访问密钥](https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html)获取AK，如果已生成过AK/SK，找到原来已下载的AK/SK文件，文件名一般为：credentials.csv。    |
   | Secret Access Key | 当前账号的SK（Secret Access Key）。请参考[访问密钥](https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html)获取SK，如果已生成过AK/SK，找到原来已下载的AK/SK文件，文件名一般为credentials.csv。 |
      
   
   
 
#### 支持的动作
- 实时计算单个自定义报表
- 查询某个测试计划下的需求树
- 查询某测试计划下的操作历史
- 获取环境参数分组列表
- 通过导入仓库中的文件生成接口测试套
- 计划中批量添加测试用例
- 项目下查询测试计划列表v2
- 项目下创建计划
- 项目下查询测试计划列表
- 通过用例编号获取测试用例详情
- 批量更新测试用例结果
- 批量执行测试用例
- 更新自定义测试服务类型用例
- 获取测试用例详情
- 批量删除自定义测试服务类型用例
- 创建自定义测试服务类型用例
- 删除已注册服务
- 更新已注册服务
- 新测试类型服务注册
- 用户获取自己当前已经注册的服务
 
#### 配置参数
表1实时计算单个自定义报表 
| 参数                 | 说明                      |
|:---|:---|
| project_id         | 项目ID                    |
| plan_id            | 分支/计划ID                 |
| region_id          | 区域ID                    |
| name               | 报表名称                    |
| workpiece_type     | 工件类型（用例：case，测试套：suite） |
| analysis_dim_row   | 分析维度                    |
| compare_dim_column | 对比维度                    |
| creatorIds         | 创建人                     |
| ownerIds           | 所属人                     |
| ranks              | 级别                      |
| releaseIds         | releaseId               |
| status             | 状态                      |
| moduleIds          | 级别                      |
| results            | 结果                      |
| labelIds           | 标签                      |
| startTime          | 开始时间                    |
| endTime            | 结束时间                    |
| isAssociateIssue   | 是否关联需求                  |
   
表2查询某个测试计划下的需求树 
| 参数         | 说明                |
|:---|:---|
| project_id | 项目ID              |
| plan_id    | 测试计划ID            |
| region_id  | 区域ID              |
| offset     | 起始偏移量             |
| limit      | 每页显示条目数量，最大支持200条 |
   
表3查询某测试计划下的操作历史 
| 参数         | 说明                 |
|:---|:---|
| project_id | 项目ID               |
| plan_id    | 测试计划ID             |
| region_id  | 区域ID               |
| offset     | 起始偏移量              |
| limit      | 每页显示的条目数量，最大支持200条 |
   
表4获取环境参数分组列表 
| 参数         | 说明                 |
|:---|:---|
| project_id | 项目ID               |
| region_id  | 区域ID               |
| offset     | 起始偏移量              |
| limit      | 每页显示的条目数量，最大支持200条 |
   
表5通过导入仓库中的文件生成接口测试套 
| 参数                | 说明                                               |
|:---|:---|
| project_id        | 项目ID                                             |
| region_id         | 区域ID                                             |
| testsuite_name    | 要生成的测试套名称                                        |
| repository_id     | 仓库ID                                             |
| repository_branch | 仓库分支                                             |
| file_path         | 仓库中yaml或json文件的相对路径，仅支持swagger 2.0版本的yaml和json文件 |
   
表6计划中批量添加测试用例 
| 参数               | 说明                              |
|:---|:---|
| project_id       | 项目ID                            |
| plan_id          | 计划ID                            |
| region_id        | 区域ID                            |
| service_id       | 注册测试类型服务接口返回的服务ID               |
| testcase_id_list | 计划下包含的用例个数，数组长度小于50个，只能包含一种测试类型 |
   
表7项目下查询测试计划列表v2 
| 参数            | 说明                                     |
|:---|:---|
| project_id    | 项目ID                                   |
| region_id     | 区域ID                                   |
| offset        | 起始偏移量                                  |
| limit         | 每页显示的条目数量，最大支持200条                     |
| name          | 针对测试计划名称模糊查询                           |
| current_stage | 在测试计划处截断（create，design，execute，report） |
   
表8项目下创建计划 
| 参数              | 说明                            |
|:---|:---|
| project_id      | 项目ID                          |
| region_id       | 区域ID                          |
| name            | 计划名称                          |
| assigned_id     | 处理者ID                         |
| service_id_list | 计划下包含的用例类型，数组长度小于10           |
| start_date      | 计划开始时间，要求用UTC时间表示，如2020-03-04 |
| end_date        | 计划结束时间，要求用UTC时间表示，如2020-03-04 |
   
表9项目下查询测试计划列表 
| 参数            | 说明                                     |
|:---|:---|
| project_id    | 项目ID                                   |
| region_id     | 区域ID                                   |
| name          | 针对测试计划名称模糊查询使用                         |
| current_stage | 在测试计划处截断（create，design，execute，report） |
| offset        | 页号，取值范围1-20000                         |
| limit         | 每页显示条目数量，取值范围1-200                     |
   
表10通过用例编号获取测试用例详情 
| 参数              | 说明   |
|:---|:---|
| project_id      | 项目ID |
| region_id       | 区域ID |
| testcase_number | 用例编号 |
   
表11批量更新测试用例结果 
| 参数          | 说明                            |
|:---|:---|
| project_id  | 项目ID                          |
| region_id   | 区域ID                          |
| service_id  | 注册测试类型服务接口返回的服务ID             |
| testcase_id | 测试用例ID                        |
| execute_id  | 注册服务执行ID                      |
| result_id   | 测试用例结果，（0-成功，1-失败，5-执行中，6-停止） |
| end_time    | 用例结束执行的时间戳，在执行结束时该字段必填        |
| duration    | 执行用例持续时长ms，更新状态时该字段必传         |
| description | 用于记录该次结果执行的备注信息               |
   
表12批量执行测试用例 
| 参数          | 说明                           |
|:---|:---|
| project_id  | 项目ID                         |
| region_id   | 区域ID                         |
| service_id  | 注册测试类型服务接口返回的服务ID            |
| plan_id     | 测试计划ID                       |
| testcase_id | 测试用例ID                       |
| execute_id  | 注册服务执行ID                     |
| result_id   | 测试用例结果（0-成功，1-失败，5-执行中，6-停止） |
| start_time  | 用例开始执行的时间戳，在执行开始时该字段必填       |
   
表13更新自定义测试服务类型用例 
| 参数              | 说明                              |
|:---|:---|
| project_id      | 项目ID                            |
| testcase_id     | 测试用例ID                          |
| region_id       | 区域ID                            |
| name            | 页面上显示的用例名称                      |
| service_id      | 注册测试类型服务接口返回的服务ID               |
| rank_id         | 测试用例等级，可选值为\[0，1，2，3，4\]，不填默认为2 |
| testcase_number | 用例编号，不填时自动生成                    |
| description     | 测试用例描述信息                        |
| preparation     | 执行该测试用例时需要满足的前置条件               |
| expect_result   | 测试用例预期结果信息                      |
| test_step       | 测试步骤描述信息                        |
| label_list      | 标签名称列表                          |
| module_id       | 模块号                             |
| test_version_id | 测试版本号                           |
| fix_version_id  | 迭代号                             |
| assigned_id     | 处理者ID信息                         |
| issue_id        | 用例关联的需求ID信息                     |
| status_id       | 测试用例状态信息（0-新建，5-设计中，6-测试中，7-完成） |
| defect_id_list  | 缺陷ID信息                          |
   
表14获取测试用例详情 
| 参数          | 说明     |
|:---|:---|
| project_id  | 项目ID   |
| testcase_id | 测试用例ID |
| region_id   | 区域ID   |
   
表15批量删除自定义测试服务类型用例 
| 参数                | 说明                |
|:---|:---|
| project_id        | 项目ID              |
| region_id         | 区域ID              |
| service_id        | 注册测试类型服务接口返回的服务ID |
| test_case_id_list | 测试用例ID            |
   
表16创建自定义测试服务类型用例 
| 参数              | 说明                              |
|:---|:---|
| project_id      | 项目ID                            |
| region_id       | 区域ID                            |
| name            | 页面上显示的用例名称                      |
| service_id      | 该值由注册接口返回                       |
| rank_id         | 测试用例等级，可选值为\[0，1，2，3，4\]，不填默认为2 |
| testcase_number | 用例编号，不填时自动生成                    |
| description     | 测试用例描述信息                        |
| preparation     | 执行该测试用例时需要满足的前置条件               |
| expect_result   | 测试用例预期结果信息                      |
| test_step       | 测试步骤描述信息                        |
| label_list      | 标签名称列表                          |
| module_id       | 模块号                             |
| test_version_id | 测试版本号                           |
| fix_version_id  | 迭代号                             |
| assigned_id     | 处理者ID信息                         |
| issue_id        | 用例关联的需求ID信息                     |
   
表17删除已注册服务 
| 参数         | 说明               |
|:---|:---|
| service_id | 注册服务ID，该值由注册接口返回 |
| region_id  | 区域ID             |
   
表18更新已注册服务 
| 参数           | 说明                                                                                |
|:---|:---|
| service_id   | 注册服务ID，该值由注册接口返回                                                                  |
| region_id    | 区域ID                                                                              |
| service_name | 测试类型名称，用于界面显示，不能使用当前保留名                                                           |
| server_host  | 域名，服务会通过此域名进行接口调用，以https/http开头，长度小于等于128位字符。TestHub将会通过此域名下的接口，保证服务数据与客户系统数据的一致性 |
   
表19新测试类型服务注册 
| 参数           | 说明                                                                                |
|:---|:---|
| region_id    | 区域ID                                                                              |
| service_name | 测试类型名称，用于界面显示，不能使用当前保留名                                                           |
| server_host  | 域名，服务会通过此域名进行接口调用，以https/http开头，长度小于等于128位字符。TestHub将会通过此域名下的接口，保证服务数据与客户系统数据的一致性 |
   
表20用户获取自己当前已经注册的服务 
| 参数        | 说明   |
|:---|:---|
| region_id | 区域ID |
   
