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

推荐订阅源

Martin Fowler
Martin Fowler
Y
Y Combinator Blog
M
MIT News - Artificial intelligence
The Cloudflare Blog
WordPress大学
WordPress大学
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 司徒正美
小众软件
小众软件
Blog — PlanetScale
Blog — PlanetScale
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
J
Java Code Geeks
云风的 BLOG
云风的 BLOG
C
Check Point Blog
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss
V
V2EX
F
Fortinet All Blogs
B
Blog
大猫的无限游戏
大猫的无限游戏
N
Netflix TechBlog - Medium
B
Blog RSS Feed
A
About on SuperTechFans
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

博客园 - 小海海宁宁

从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