自动化回归脚本化编排支持将测试用例的UI编排转换成脚本化编排,还可以将测试用例加入用例集后,在用例集中将加入的所有用例导出成JSON格式的脚本文件,然后使用本地编辑器对脚本进行修改后再导入到当前用例集或其他用例集中,方便您对用例进行迁移和管理。
前提条件
-
在使用服务测试前,请确保您的应用已接入MSE治理中心。具体操作,请参见微服务治理中心入门概述。
操作步骤
脚本化编排用例管理
脚本化编排用例集管理
用例管理脚本模式参数说明
自动化回归功能支持将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
中的内容进行正确性校验。若导入失败,则返回导入的总数、成功数、失败数和具体的失败原因。 - 用例集下相同名称的用例将被识别为相同用例。若遇到相同用例时,可选择导入规则为终止导入、跳过或覆盖。