环境&参数
在自动化测试中,通常存在多个测试环境,每个测试环境的环境参数值会有不同,例如域名、账号等。这些参数常会在测试脚本中被使用到,如果将这些参数硬绑定到测试脚本中,脚本的冗余度很高,复用度很低。
合理的测试设计要求分离测试逻辑和测试数据,实现测试逻辑的最大化复用,增强测试用例的可维护性和投入产出比。例如不同测试环境的URL域名是一种独立于测试逻辑,和测试环境相关的测试数据。测试用例参数可以用来管理这些测试数据。
接口自动化中的测试用例参数分为三类:
参数优先级:内置参数 > 局部参数 > 全局参数。
局部参数
局部参数使用范围是当前测试用例,如:测试步骤的参数、检查点、变量等都可以引用局部参数。
局部参数引用形式为“${参数名}”,如:参数名为“hostIp”,则可以使用“${hostIp}”来引用该参数。
局部参数主要配置项如下:
配置项 |
是否必填 |
描述 |
---|---|---|
名称 |
是 |
支持中英文、数字、点号、中文短横线、下划线的半角字符,并且长度范围是1~300。 |
类型 |
是 |
支持文本、随机字符串、随机整数、时间戳、格式化时间戳、生成UUID、Base64编码、MD5哈希值、密码或认证信息、SHA512编码。 |
描述 |
否 |
对参数的简要描述,上限为3000字符。默认为当前参数类型的描述。 单击“文本框”后,用户可以直接输入文本描述。 单击,输入一个json,单击“Json转换”,可以给没有换行的Json添加换行和缩进,单击“回填”添加成功。 |
值 |
否 |
用户可以为不同类型的参数赋值。 |
敏感变量 |
否 |
勾选为敏感数据后,测试计划对参数值加密存储,在测试结果日志中使用星号覆盖处理。敏感数据类型适用并不限于个人信息、鉴权信息,例如姓名、地址、用户名等。 |
动态变量 |
否 |
动态参数的值可以在用例执行过程中被赋值。动态参数初始值可为空,被赋值之后,此处显示的是最新值。 动态参数赋值方法:在用例测试步骤“响应提取”的“赋值给环境动态参数”中设置后,在测试执行时,响应提取的内容将被赋值给动态参数。 |
参数类型:
名称 |
描述 |
---|---|
文本 |
上限为10000字符,支持设置“敏感参数”、“动态参数” ,默认为否。 |
随机字符串 |
随机生成指定长度字符串,随机字符串的变量值长度校验范围【1-9999】,不支持设置“敏感参数”及“动态参数”。 |
随机整数 |
随机生成指定范围整数,区间范围校验为【-999999999~999999999】,不支持设置“敏感参数”及“动态参数” 。 例如:设置【-9999,9999】 ,会获取这个区间内的随机整数。 |
时间戳 |
无需输入,生成当前整数时间戳,不支持设置“敏感参数”及“动态参数”。 |
格式化时间戳 |
格式为yyyy-MM-dd HH:mm:ss或yyyy-MM-dd,不支持设置“敏感参数”及“动态参数”。 例如:
|
生成UUID |
无需输入,不支持设置“敏感参数”及“动态参数”。 |
Base64编码 |
使用Base64方法编码参数,上限为256字符,不支持设置“敏感参数”及“动态参数”。 |
MD5哈希值 |
使用指定参数生成MD5哈希值,上限为256字符,不支持设置“敏感参数”及“动态参数”。 |
密码或认证信息 |
上限为256字符,不支持设置“敏感参数”及“动态参数”。默认勾选“敏感参数”。 |
SHA512编码 |
上限为256字符,不支持设置“敏感参数”及“动态参数”。默认勾选“敏感参数”。 |
数组 |
数组的内容是json数组格式,上限为10000字符,不支持设置“敏感参数”及“动态参数”。 |
- 局部参数管理
内置参数
内置参数是将HTTP/HTTPS响应的对应部分参数化,在检查点、响应提取功能中的“来源”选项中可以选择内置参数。
内置参数如下表:
内置参数 |
参数说明 |
是否支持多级取值 |
用途 |
举例 |
---|---|---|---|---|
响应体(json) |
表示接口返回的响应体。 |
是 |
|
|
响应头 |
表示接口返回的响应头。 |
是 |
|
|
响应码 |
表示接口返回的响应码。 |
否 |
|
|
内置参数支持多级取值,例如:
响应体为“{"result":{"appId":12}}”时,则取appId的格式为:来源选择响应体,属性为“result.appId”。如果result是数组格式。则属性为“result[i].appId”,其中,i为非负整数。
响应提取参数
响应提取参数是从接口的响应体中提取出来的参数,定义及使用方法请参考响应提取。