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

推荐订阅源

Y
Y Combinator Blog
IT之家
IT之家
博客园_首页
人人都是产品经理
人人都是产品经理
博客园 - Franky
I
InfoQ
Recent Announcements
Recent Announcements
P
Proofpoint News Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More
GbyAI
GbyAI
大猫的无限游戏
大猫的无限游戏
aimingoo的专栏
aimingoo的专栏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
月光博客
月光博客
Microsoft Security Blog
Microsoft Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
B
Blog RSS Feed
MongoDB | Blog
MongoDB | Blog
雷峰网
雷峰网
博客园 - 聂微东
N
Netflix TechBlog - Medium
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The GitHub Blog
The GitHub Blog
D
Docker

博客园 - 小海海宁宁

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

DataProcessor 是一个数据处理工具模块,支持多种操作符来处理数据。该模块可以被其他类继承,并提供了丰富的数据处理功能,如设置变量、替换字符串、正则替换、去除空白、移除空值、类型转换等。

  1. 初始化模块

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

data_process:
  class_path: "src.modules.data.data_process.DataProcessor"
  1. 核心方法

Action 配置为 "data_process",用于执行单个数据处理操作。参数名 params。

data_process 方法的参数是一个字典 params,包含以下键:

operation:操作名称,用于指定要执行的操作。

data:要处理的数据,可以是动态获取的值(如 @redisResult.json:data.body)。

params:操作的参数,具体参数根据操作的不同而不同。有的操作没有该项

saveAsVariable:可选参数,用于指定将处理结果保存为变量的名称。

支持的 operation有:

操作符 描述 参数 示例
set_variable 设置变量 {
"operation": "set_variable",
"data": 123,
"saveAsVariable": "result"
}
replace 替换 params:包含 old 和 new 的字典,或一个包含两个元素的列表/元组
data:要替换的字符串、列表或字典
{
"operation": "replace",
"data": "Hello, World!",
"params": {
"old": "World",
"new": "Python"
},
"saveAsVariable": "result"
}
regex_replace 正则替换 params:包含 pattern 和 replacement 的字典,或一个包含两个元素的列表/元组
data:要替换的字符串、列表或字典
{
"operation": "regex_replace",
"data": "Hello, World!",
"params": {
"pattern": "World",
"replacement": "Python"
},
"saveAsVariable": "result"
}
strip 去除空白 {
"operation": "strip",
"data": " Hello, World! ",
"saveAsVariable": "result"
}
remove_empty 移除空值 {
"operation": "remove_empty",
"data": [1, None, 2, "", 3],
"saveAsVariable": "result"
}
to_int 转换为整数 params:默认值(可选) {
"operation": "to_int",
"data": "123",
"params": 0,
"saveAsVariable": "result"
}
to_float 转换为浮点数 params:默认值(可选) {
"operation": "to_float",
"data": "123.45",
"params": 0,
"saveAsVariable": "result"
}
to_string 转换为字符串 {
"operation": "to_string",
"data": 123,
"saveAsVariable": "result"
}
extract_keys 提取键 params:要提取的键列表 {
"operation": "extract_keys",
"data": {
"a": 1,
"b": 2,
"c": 3
},
"params": [
"a",
"c"
],
"saveAsVariable": "result"
}
merge 合并 params:要合并的字典 {
"operation": "merge",
"data": {
"a": 1,
"b": 2
},
"params": {
"b": 3,
"c": 4
},
"saveAsVariable": "result"
}
save_as_global 保存为全局变量 {
"operation": "save_as_global",
"data": 123,
"saveAsVariable": "result"
}
  1. Excel中的使用

在测试用例表中:

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

Action:模块中的具体操作, data_process 是值处理的核心方法。

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

Description:描述当前操作,例如设置变量

Params和ParamsSetID 二选一,如果ParamsSetID 可以从测试数据表获取

Step Description Module Action Tag Params ParamsSetID Priority
1 设置变量 data_process data_process regression   oah_body p1

如果Params为空,则参数从测试数据表中获取

ParamsSetID ParamID Name Value DataGroup TestCaseID
oah_body P1 params {
"operation": "set_variable",
"data": {
"pageNumber": 1,
"pageSize": 20,
"types": [1]
},
"saveAsVariable": "body"
}
1