-
模块介绍
DataValidator 是一个用于数据校验的模块,可以用于验证数据是否符合期望值。该模块通过配置文件 XXX.yml 中的模块配置项进行初始化。
-
初始化模块
在 XXX.yml 文件中,配置项如下:
value_validation:
class_path: "src.modules.data.data_validation.DataValidator"
-
核心方法
Action 配置为 ”validate_data”,用于校验单个数据字段, 参数名params
validate_data 方法的参数是一个字典params,包含以下键:
- field_name:需要校验的字段名称, 用于打印日志,可以自定义, 清晰易懂即可。
- actual_value:实际值,可以是动态获取的值(如@response.json:data.code)。
- expect_value:期望的值,也可以用动态生成的值,或者某种格式
-
operator:校验操作符,支持以下几种:
- equal/equals/==: 验证两个值是否相等。
- not_equal/not_equals/!=: 验证两个值是否不相等。
- contains/in: 验证一个值是否包含另一个值。
- not_contains/not_in: 验证一个值是否不包含另一个值。
- startswith: 验证一个值是否以另一个值开头。
- endswith: 验证一个值是否以另一个值结尾。
- greater/greater_than/>: 验证一个值是否大于另一个值。
- less/less_than/<: 验证一个值是否小于另一个值。
- greater_equal/>=: 验证一个值是否大于或等于另一个值。
- less_equal/<=: 验证一个值是否小于或等于另一个值。
- matches/regex: 验证一个值是否匹配正则表达式。
- length_equal: 验证一个值的长度是否等于指定长度。
- length_greater: 验证一个值的长度是否大于指定长度。
- length_less: 验证一个值的长度是否小于指定长度。
- is_empty: 验证一个值是否为空。
- is_not_empty: 验证一个值是否不为空。
- is_null: 验证一个值是否为 None。
- is_not_null: 验证一个值是否不为 None。
- is_true: 验证一个值是否为 True。
- is_false: 验证一个值是否为 False。
-
Excel中的使用
在测试用例表中:
Module:使用的模块名称,这里是 value_validation, 在yml中已配置。Action:模块中的具体操作, validate_data是值校验的核心方法。Tag:可选的标签,用于分类或标识。Description:描述当前操作,例如 validate 200 表示校验状态码为 2Params: validate_data需要的参数。 也可以配置ParamsSetID 从测试数据表获取
| Description | Module | Action | Tag | Params | ParamsSetID |
| validate 200 | value_validation | validate_data | { "field_name": "status_code", "actual_value": "@response.json:data.code", "operator": "equal", "expect_value": "200" } |
||
| validate msg | value_validation | validate_data | { "field_name": "msg", "actual_value": "@response.json:data.msg", "operator": "equal", "expect_value": "操作成功" } |
说明:validate_data的参数params 也可从测试数据表, 则需要配置ParamsSetID。
| ParamsSetID | ParamID | Name | Value | DataGroup |
| code校验 | P1 | params | { "field_name": "status_code", "actual_value": "@response.json:data.code", "operator": "equal", "expect_value": "200" } |
1 |
| 租户名校验 | P1 | params | { "field_name": "tenantName", "actual_value": "@response.json:data.data.tenantName", "operator": "equal", "expect_value": "马上消费租户-勿动" } |
1 |
浙公网安备 33010602011771号