
# 设置CodeArts TestPlan接口脚本的测试用例参数
#### 背景信息
合理的测试设计要求分离测试逻辑和测试数据，实现测试逻辑的最大化复用，增强测试用例的可维护性和投入产出比。例如不同测试环境的URL域名是一种独立于测试逻辑，和测试环境相关的测试数据。测试用例参数可以用来管理这些测试数据。
接口自动化中的测试用例参数分为三类：
- [局部参数]
- [内置参数]
- [响应提取参数]
 
#### 为参数添加敏感信息脱敏配置
敏感参数是指涉及到敏感信息和安全问题的参数，比如典型的敏感数据（口令、银行账户等）、常用的认证凭据（密钥、私钥等）、个人数据，这些需要得到特殊的保护和管理。用户可根据需要将测试接口请求响应参数中涉及敏感信息，添加敏感信息脱敏配置。可参考[敏感参数配置](https://support.huaweicloud.com/usermanual-testman/cloudtest_01_1334.html#cloudtest_01_1334__li94901931135618)。
 #### 局部参数
局部参数使用范围是当前测试用例，如：测试步骤的参数、检查点、变量等都可以引用局部参数。
局部参数引用形式为"${参数名}"，如：参数名为"hostIp"，则可以使用"${hostIp}"来引用该参数。
局部参数主要配置项如下：
 表1参数主要配置项 
| 配置项  | 是否必填 | 描述                                                                                                                                                                                                                                                                              |
|:---|:---|:---|
| 名称   | 是    | 支持中英文、数字、点号、中文短横线、下划线的半角字符，并且长度范围是1\~300。                                                                                                                                                                                                                                       |
| 类型   | 是    | 支持文本、随机字符串、随机整数、时间戳、格式化时间戳、生成UUID、Base64编码、MD5哈希值、密码或认证信息、SHA512编码。 详情介绍请参考[表2]。                                                                                                                     |
| 描述   | 否    | 对参数的简要描述，上限为3000字符。默认为当前参数类型的描述。 单击"文本框"后，用户可以直接输入文本描述。 单击![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001964032333.png)，输入一个json，单击"Json转换"，可以给没有换行的Json添加换行和缩进，单击"回填"添加成功。 |
| 值    | 否    | 用户可以为不同类型的参数赋值，详情请参考[表2]。                                                                                                                                                                                                               |
| 敏感变量 | 否    | 勾选为敏感数据后，测试计划对参数值加密存储，在测试结果日志中使用星号覆盖处理。敏感数据类型适用并不限于个人信息、鉴权信息，例如姓名、地址、用户名等。                                                                                                                                                                                                      |
| 动态变量 | 否    | 动态参数的值可以在用例执行过程中被赋值。动态参数初始值可为空，被赋值之后，此处显示的是最新值。 动态参数赋值方法：在用例测试步骤"响应提取"的"赋值给环境动态参数"中设置后，在测试执行时，响应提取的内容将被赋值给动态参数。                                                                                                                               |
   
 表2参数类型 
| 名称       | 描述                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|
| 文本       | 上限为10000字符，支持设置"敏感参数"、"动态参数" ，默认为否。                                                                                                                                                                                                                                                                                                                                          |
| 随机字符串    | 随机生成指定长度字符串，随机字符串的变量值长度校验范围【1-9999】，不支持设置"敏感参数"及"动态参数"。                                                                                                                                                                                                                                                                                                                      |
| 随机整数     | 随机生成指定范围整数，区间范围校验为【-999999999\~999999999】，不支持设置"敏感参数"及"动态参数" 。 例如：设置【-9999,9999】 ，会获取这个区间内的随机整数。                                                                                                                                                                                                                                           |
| 时间戳      | 无需输入，生成当前整数时间戳，不支持设置"敏感参数"及"动态参数"。                                                                                                                                                                                                                                                                                                                                           |
| 格式化时间戳   | 参数的值默认为当前时间戳，用户可以单击右侧的下拉栏，选择需要的转化后格式。具体参数类型请参考[表1](https://support.huaweicloud.com/usermanual-testman/cloudtest_01_0093.html#cloudtest_01_0093__table51446281368)，不支持设置"敏感参数"及"动态参数"。 例如：1.yyyy-MM-dd HH:mm:ss：33250825252000 , 预期值为3023-09-05 20:20:52。 2.yyyy-MM-dd：33250825252000，预期值为3023-09-05。 |
| 生成UUID   | 无需输入，不支持设置"敏感参数"及"动态参数"。                                                                                                                                                                                                                                                                                                                                                     |
| Base64编码 | 使用Base64方法编码参数，上限为256字符，不支持设置"敏感参数"及"动态参数"。                                                                                                                                                                                                                                                                                                                                  |
| MD5哈希值   | 使用指定参数生成MD5哈希值，上限为256字符，不支持设置"敏感参数"及"动态参数"。                                                                                                                                                                                                                                                                                                                                  |
| 密码或认证信息  | 上限为256字符，不支持设置"敏感参数"及"动态参数"。默认勾选"敏感参数"。                                                                                                                                                                                                                                                                                                                                      |
| SHA512编码 | 上限为256字符，不支持设置"敏感参数"及"动态参数"。默认勾选"敏感参数"。                                                                                                                                                                                                                                                                                                                                      |
| 数组       | 数组的内容是json数组格式，上限为10000字符，不支持设置"敏感参数"及"动态参数"。                                                                                                                                                                                                                                                                                                                                |
   
局部参数配置方法如下：
- **在界面新建变量**
1. 进入接口自动化用例编辑的"脚本"页签，单击图标![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001936913754.png "点击放大")。
2. 单击左上方"新建变量"，输入参数名、类型、值。 
   全部参数设置完毕，单击"保存"。
   
   
- **从本地批量导入变量**
1. 进入接口自动化用例编辑的"脚本"页签，单击图标![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001964152141.png "点击放大")。
2. 单击"导入"。
3. 在弹框中单击"下载模板"。 
   按照模板中的格式要求填写参数信息，返回页面，在弹框中单击![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001964032337.png)，上传编写好的文档，单击"确定"。
   
   
4. 查看导入结果： 
   - 导入成功：列表中将新增参数，新增的参数条数与Excel中编辑的行数相同。
   
   - 导入失败：页面右上角会显示弹框提示失败，单击"详情"可以查看错误原因，修改后请重新导入。
   
   
   
   
 
 #### 内置参数
内置参数是将HTTP/HTTPS响应的对应部分参数化，在检查点、响应提取功能中的"来源"选项中可以选择内置参数。
测试计划服务中的内置参数如下表：
| 内置参数      | 参数说明        | 是否支持多级取值 | 用途                                                                                                                                                                                                                         | 举例                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|:---|
| 响应体（json） | 表示接口返回的响应体。 | 是        | - 检查点的属性字段  - 参数传递的属性字段       | - 检查点：判断响应体中的id等于100。  - 设置方法：设置检查点来源为响应体（JSON），属性为id（前提条件响应体JSON串有id字段），设置比较符为等于（字符串、不区分大小写），设置目标值为100。   |
| 响应头       | 表示接口返回的响应头。 | 是        | - 检查点的属性字段  - 参数传递的属性字段   | - 检查点：判断响应头中的token等于abcd。  - 设置方法：设置来源为响应头，属性为token（前提条件响应头有token），设置比较符为等于（字符串、不区分大小写），设置目标值为abcd。            |
| 响应码       | 表示接口返回的响应码。 | 否        | - 检查点的属性或值字  - 变量的属性字段            | - 检查点：判断响应码等于200。  - 设置方法：设置来源为响应码，设置比较符为等于（数字），设置目标值为200。                                                        |
   
![](https://support.huaweicloud.com/usermanual-testman/public_sys-resources/note_3.0-zh-cn.png)
内置参数支持多级取值，例如
- 响应体为"{"result":{"appId":12}}"时，则取appId的格式为：来源选择响应体，属性为"result.appId"。如果result是数组格式。则属性为"result\[i\].appId"，其中，i为非负整数。
 
 #### 响应提取参数
响应提取参数是从接口的响应体中提取出来的参数，定义及使用方法请参考[设置CodeArts TestPlan接口脚本的响应提取](https://support.huaweicloud.com/usermanual-testman/cloudtest_01_0015.html)。
