惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
G
Google Developers Blog
J
Java Code Geeks
爱范儿
爱范儿
Microsoft Azure Blog
Microsoft Azure Blog
美团技术团队
人人都是产品经理
人人都是产品经理
Martin Fowler
Martin Fowler
IT之家
IT之家
博客园_首页
B
Blog RSS Feed
Google DeepMind News
Google DeepMind News
B
Blog
U
Unit 42
Apple Machine Learning Research
Apple Machine Learning Research
L
LangChain Blog
Stack Overflow Blog
Stack Overflow Blog
罗磊的独立博客
N
Netflix TechBlog - Medium
T
Tailwind CSS Blog
博客园 - 聂微东
腾讯CDC
A
About on SuperTechFans

博客园 - 小海海宁宁

从0到1:使用Schemathesis搭建API自动化测试框架实战 OpenAPI规范及自动化用例生成 playwright & selenium对Shadow DOM的处理 自动化平台质量体系建设(草稿) 【模板】邮件提测模板 研发测试质量规范(草稿) 自动化框架 - Q&A 自动化框架 - 核心模块使用指南 - Kafka 自动化框架 - 核心模块使用指南 - Kibana 自动化框架 - 核心模块使用指南 - Playwright 自动化框架 - 核心模块使用指南 - API 自动化框架 - 核心功能使用指南 - 动态值生成 自动化框架 - 核心功能使用指南 - 数据处理模块 自动化框架 - 核心功能使用指南 - 上下文值传递 自动化框架 - 核心功能使用指南 - 用例过滤Tag使用 自动化框架 - 核心功能使用指南 - Excel测试用例编写 自动化框架 - 核心功能使用指南 - 配置文件使用指南 自动化框架使用说明 - 快速开始 Kibana如何添加可视化看板
自动化框架 - 核心功能使用指南 - 数据校验模块
小海海宁宁 · 2026-03-09 · via 博客园 - 小海海宁宁
  1. 模块介绍

DataValidator 是一个用于数据校验的模块,可以用于验证数据是否符合期望值。该模块通过配置文件 XXX.yml 中的模块配置项进行初始化。

  1. 初始化模块

在 XXX.yml 文件中,配置项如下:

value_validation:
  class_path: "src.modules.data.data_validation.DataValidator"
  1. 核心方法

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。
  1. Excel中的使用

在测试用例表中:

Module:使用的模块名称,这里是 value_validation, 在yml中已配置。

Action:模块中的具体操作, validate_data是值校验的核心方法。

Tag:可选的标签,用于分类或标识。

Description:描述当前操作,例如 validate 200 表示校验状态码为 2

Params: 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