设置CodeArts TestPlan接口脚本的测试用例参数
背景信息
合理的测试设计要求分离测试逻辑和测试数据,实现测试逻辑的最大化复用,增强测试用例的可维护性和投入产出比。例如不同测试环境的URL域名是一种独立于测试逻辑,和测试环境相关的测试数据。测试用例参数可以用来管理这些测试数据。
接口自动化中的测试用例参数分为三类:
局部参数
局部参数使用范围是当前测试用例,如:测试步骤的参数、检查点、变量等都可以引用局部参数。
局部参数引用形式为“${参数名}”,如:参数名为“hostIp”,则可以使用“${hostIp}”来引用该参数。
局部参数主要配置项如下:
配置项 |
是否必填 |
描述 |
---|---|---|
名称 |
是 |
支持中英文、数字、点号、中文短横线、下划线的半角字符,并且长度范围是1~300。 |
类型 |
是 |
支持文本、随机字符串、随机整数、时间戳、格式化时间戳、生成UUID、Base64编码、MD5哈希值、密码或认证信息、SHA512编码。 详情介绍请参考表2。 |
描述 |
否 |
对参数的简要描述,上限为3000字符。默认为当前参数类型的描述。 单击“文本框”后,用户可以直接输入文本描述。 单击,输入一个json,单击“Json转换”,可以给没有换行的Json添加换行和缩进,单击“回填”添加成功。 |
值 |
否 |
用户可以为不同类型的参数赋值,详情请参考表2。 |
敏感变量 |
否 |
勾选为敏感数据后,测试计划对参数值加密存储,在测试结果日志中使用星号覆盖处理。敏感数据类型适用并不限于个人信息、鉴权信息,例如姓名、地址、用户名等。 |
动态变量 |
否 |
动态参数的值可以在用例执行过程中被赋值。动态参数初始值可为空,被赋值之后,此处显示的是最新值。 动态参数赋值方法:在用例测试步骤“响应提取”的“赋值给环境动态参数”中设置后,在测试执行时,响应提取的内容将被赋值给动态参数。 |
名称 |
描述 |
---|---|
文本 |
上限为10000字符,支持设置“敏感参数”、“动态参数” ,默认为否。 |
随机字符串 |
随机生成指定长度字符串,随机字符串的变量值长度校验范围【1-9999】,不支持设置“敏感参数”及“动态参数”。 |
随机整数 |
随机生成指定范围整数,区间范围校验为【-999999999~999999999】,不支持设置“敏感参数”及“动态参数” 。 例如:设置【-9999,9999】 ,会获取这个区间内的随机整数。 |
时间戳 |
无需输入,生成当前整数时间戳,不支持设置“敏感参数”及“动态参数”。 |
格式化时间戳 |
格式为yyyy-MM-dd HH:mm:ss 或yyyy-MM-dd,不支持设置“敏感参数”及“动态参数”。 例如: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字符,不支持设置“敏感参数”及“动态参数”。 |
局部参数配置方法如下:
- 在界面新建变量
- 进入接口自动化用例编辑的“脚本”页签,单击图标。
- 单击左上方“新建变量”,输入参数名、类型、值。
全部参数设置完毕,单击“保存”。
- 从本地批量导入变量
- 进入接口自动化用例编辑的“脚本”页签,单击图标。
- 单击“导入”。
- 在弹框中单击“下载模板”。
按照模板中的格式要求填写参数信息,返回页面,在弹框中单击,上传编写好的文档,单击“确定”。
- 查看导入结果:
- 导入成功:列表中将新增参数,新增的参数条数与Excel中编辑的行数相同。
- 导入失败:页面右上角会显示弹框提示失败,单击“详情”可以查看错误原因,修改后请重新导入。
内置参数
内置参数是将HTTP/HTTPS响应的对应部分参数化,在检查点、响应提取功能中的“来源”选项中可以选择内置参数。
测试计划服务中的内置参数如下表:
内置参数 |
参数说明 |
是否支持多级取值 |
用途 |
举例 |
---|---|---|---|---|
响应体(json) |
表示接口返回的响应体。 |
是 |
|
|
响应头 |
表示接口返回的响应头。 |
是 |
|
|
响应码 |
表示接口返回的响应码。 |
否 |
|
|
内置参数支持多级取值,例如
- 响应体为“{"result":{"appId":12}}”时,则取appId的格式为:来源选择响应体,属性为“result.appId”。如果result是数组格式。则属性为“result[i].appId”,其中,i为非负整数。