自动化回归脚本化编排支持将测试用例的UI编排转换成脚本化编排,还可以将测试用例加入用例集后,在用例集中将加入的所有用例导出成JSON格式的脚本文件,然后使用本地编辑器对脚本进行修改后再导入到当前用例集或其他用例集中,方便您对用例进行迁移和管理。
前提条件
操作步骤
脚本化编排用例管理
- 登录EDAS控制台。
- 在左侧导航栏,选择 。
- 在Spring Cloud左侧导航栏,单击自动化回归(用例管理)。
- 在自动化回归(用例管理)页面顶部菜单栏选择地域,在页面中选择微服务空间,然后单击目标用例操作列下方的详情。
- 在用例详情页面右侧,单击/图标,切换到脚本模式;单击UI,切换到UI模式。
脚本化编排用例集管理
- 登录EDAS控制台。
- 在左侧导航栏,选择 。
- 在Spring Cloud左侧导航栏,单击自动化回归(用例集)。
- 在自动化回归(用例集)页面顶部菜单栏选择地域,在页面中选择微服务空间,然后单击目标用例集操作列下方的详情。
- 在用例集详情页面右侧,单击导出脚本,在导出脚本对话框,单击导出。
关于用例集管理的脚本参数说明,请参见用例集管理脚本参数说明。
成功导出JSON格式的脚本文件。 - 使用本地编辑器对脚本进行修改,然后在用例集详情页面右侧,单击导入脚本,在导入脚本对话框,选择相同用例执行的操作,并单击上传文件,选择并上传本地的脚本文件,然后单击导入。相同用例是指该用例集下相同名称的用例,执行的操作说明如下:
- 终止导入:此次操作选中的所有用例都不会被同步到目标微服务空间。
- 跳过:跳过重复的用例,继续克隆其他用例。
- 覆盖:用此次选择的用例覆盖目标微服务空间中已有的相同用例。
用例管理脚本模式参数说明
自动化回归功能支持将UI模式切换成脚本模式修改测试用例,再将脚本模式切换到UI模式进行调试和保存,脚本中有关请求的基础信息解析为测试步骤的API。
脚本模式相关的字段解析说明如下。
脚本字段 | 字段解析 |
---|---|
info.namespaceId | 微服务空间。 |
info.regionId | 地域。 |
info.schema | 脚本版本号。 |
item[] | 表示多个测试步骤。 |
item[0].name | 测试步骤的名称。 |
item[0].request.method | 请求方法。 |
regionId | 地域,支持Spring Cloud和Dubbo服务。 |
appId | 应用ID,支持Spring Cloud和Dubbo服务。 |
appName | 应用名称,支持Spring Cloud和Dubbo服务。 |
serviceType | 服务类型,支持Spring Cloud和Dubbo服务。 |
serviceName | 服务名称,支持Spring Cloud和Dubbo服务。 |
methodName | 方法名称,支持Spring Cloud和Dubbo服务。 |
methodTypes | 方法类型,仅支持Dubbo服务。 |
group | 组别,仅支持Dubbo服务。 |
version | 版本号,仅支持Dubbo服务。 |
method | 请求方法,仅支持Spring Cloud服务。 |
uri | 请求路径,仅支持Spring Cloud服务。 |
item[0].request.body | 参数基本信息。 |
contentType | 根据框架类型和ContentType区分,其中mode有urlencoded和raw两种模式:
|
mode | |
urlencoded | |
raw | |
item[0].request.header | 请求头。 |
key | 请求头的Key,仅支持Spring Cloud服务。 |
value | 请求头对应的Value值,仅支持Spring Cloud服务。 |
item[0].request.checkpoints | 断言。 |
point | 检查对象,为${} 括起来的JsonPath ,例如${response.name} 。 |
checkers.operate | 检查条件。 |
checkers.expect | 检查内容,即预期值。 |
item[0].request.exports | 出参提取。 |
key | 出参提取的出参名。 |
value | 对应的出参提取表达式,为${} 括起来的JsonPath 。 |
说明
- 脚本中的info信息仅做展示,转换成UI模式时以实际页面选择为准。
- JSON脚本中,配置
item[0] item[1] item[2]……
表示有多个测试步骤。 - 从脚本模式转换成UI模式时,将对脚本格式和
request.method
中的内容进行正确性校验,若不正确,则不允许转换。其中request.method.method
为Spring Cloud框架类型基本信息中的请求方法,支持GET、POST、PUT和DELETE。
其中
request.body.contentType
支持以下7种类型。contentType | 描述 |
---|---|
application/x-www-form-urlencoded | 对应mode 为urlencoded 。 |
application/json | 对应mode 为raw 。 |
text/plain | |
application/javascript | |
text/html | |
text/xml | |
application/xml |
说明 Dubbo服务仅支持
contentType=application/json
,mode=raw
的模式。其中
request.checkpoints.checkers.operate
检查条件枚举如下。checkers.operate | 描述 |
---|---|
EQUAL_NUMERIC | 等于(数字)。 |
NOT_EQUAL_NUMERIC | 不等于(数字)。 |
GREATER_OR_EQUAL_NUMERIC | 大于等于(数字)。 |
LESS_OR_EQUAL_NUMERIC | 小于等于(数字)。 |
GREATER_NUMERIC | 大于(数字)。 |
LESS_NUMERIC | 小于(数字)。 |
EQUAL_STRING | 等于(字符串、区分大小写)。 |
NOT_EQUAL_STRING | 不等于(字符串、区分大小写)。 |
EQUAL_STRING_IGNORE | 等于(字符串、不区分大小写)。 |
NOT_EQUAL_STRING_IGNORE | 不等于(字符串、不区分大小写)。 |
CONTAIN_STRING | 包含(字符串)。 |
NOT_CONTAIN_STRING | 不包含(字符串)。 |
TIME_EARLY | 时间早于。 |
TIME_LATE | 时间晚于。 |
IS_NULL | 为空,表示没有该字段。 说明 checkers.operate 为该字段时,无需设置checkers.expect 。 |
IS_NOT_NULL | 不为空,表示有该字段。 说明 checkers.operate 为该字段时,无需设置checkers.expect 。 |
JSON_CONTAIN | JSON对象中包含此值。 |
JSON_NOT_CONTAIN | JSON对象中不包含此值。 |
JSON_ARRAY_NULL | JSON数组是否为空数组。 |
JSON_ARRAY_NOT_NULL | JSON数组是否为非空数组。 |
JSON_ARRAY_SIZE_EQUAL | JSON数组长度等于。 |
JSON_ARRAY_SIZE_GREATER | JSON数组长度大于。 |
JSON_ARRAY_SIZE_GREATER_OR_EQUAL | JSON数组长度大于等于。 |
JSON_ARRAY_SIZE_LESS | JSON数组长度小于。 |
JSON_ARRAY_SIZE_LESS_OR_EQUAL | JSON数组长度小于等于。 |
IS_JSON_OBJECT | 是否为JSON对象类型。 说明 checkers.operate 为该字段时,无需设置checkers.expect 。 |
IS_JSON_ARRAY | 是否为JSON数组类型。 说明 checkers.operate 为该字段时,无需设置checkers.expect 。 |
REGEX_COMPARE | 正则表达式。 |
用例集管理脚本参数说明
自动化回归用例集功能支持将加入用例集中的所有用例导出成脚本,然后使用本地用编辑器对脚本进行修改后导入到当前用例集或其他用例集中。
导出的脚本文件为JSON格式,字段解析和测试用例的脚本模式相比多了一层item
,内容如下。
脚本字段 | 字段解析 |
---|---|
info.namespaceId | 微服务空间。 |
info.regionId | 地域。 |
info.schema | 脚本版本号。 |
item[] | 多个测试用例。 |
item[0].name | 测试用例的名称。 |
item[0].item[0].name | 第1个用例的第一个步骤的名称。 |
item[0].item[1].name | 第1个用例的第二个步骤的名称。 |
说明
- 脚本中的info信息仅做展示,导入脚本时以实际页面选择为准。
- JSON脚本中,配置
item[0] item[1] item[2]……
表示有多个测试用例。 - 导入脚本时将对脚本格式和
request.method
中的内容进行正确性校验。若导入失败,则返回导入的总数、成功数、失败数和具体的失败原因。 - 用例集下相同名称的用例将被识别为相同用例。若遇到相同用例时,可选择导入规则为终止导入、跳过或覆盖。