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

推荐订阅源

宝玉的分享
宝玉的分享
NISL@THU
NISL@THU
E
Exploit-DB.com RSS Feed
L
LINUX DO - 热门话题
L
Lohrmann on Cybersecurity
K
Kaspersky official blog
Project Zero
Project Zero
Cisco Talos Blog
Cisco Talos Blog
T
The Exploit Database - CXSecurity.com
P
Palo Alto Networks Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
S
Schneier on Security
G
GRAHAM CLULEY
The Hacker News
The Hacker News
T
Threat Research - Cisco Blogs
Scott Helme
Scott Helme
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Privacy & Cybersecurity Law Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Cyberwarzone
Cyberwarzone
C
CERT Recently Published Vulnerability Notes
T
Tor Project blog
AWS News Blog
AWS News Blog
Simon Willison's Weblog
Simon Willison's Weblog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
爱范儿
爱范儿
P
Privacy International News Feed
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
S
Securelist
G
Google Developers Blog
The Last Watchdog
The Last Watchdog
Google Online Security Blog
Google Online Security Blog
美团技术团队
F
Fortinet All Blogs
小众软件
小众软件
Recorded Future
Recorded Future
V
Visual Studio Blog
B
Blog RSS Feed
H
Help Net Security
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Google DeepMind News
Google DeepMind News
Blog — PlanetScale
Blog — PlanetScale
博客园 - 聂微东
Stack Overflow Blog
Stack Overflow Blog
Martin Fowler
Martin Fowler
Latest news
Latest news
Spread Privacy
Spread Privacy
H
Heimdal Security Blog

博客园 - 小海海宁宁

从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