测试动态 / 测试知识 / JMeter处理验证码与动态Token的几种思路(正则提取)
JMeter处理验证码与动态Token的几种思路(正则提取)
2026-07-28 作者:cwb 浏览次数:19

在JMeter中处理动态Token和验证码是解决参数关联问题-从前一个请求的响应里提取变化的值,传给后续请求。正则表达式提取器是最常用的关联工具,不同场景可以有几种思路。


思路一:从响应中直接正则提取动态Token

适用于 CSRF Token、ViewState、JWT、Session ID 等放在响应体或响应头里的动态值。


操作步骤

在需要提取数据的 HTTP 请求上,右键添加 -后置处理器 - 正则表达式提取器。


配置字段:

引用名称:如 token

正则表达式:根据实际响应内容写,比如提取隐藏域值:

<input type="hidden" name="__RequestVerificationToken" value="(.*?)" />

模板:$1$(表示取第一个括号一致的内容)

一致 No.:1

缺省值:NOT_FOUND

后续请求中直接使用 ${token} 引用该值。

如果Token在响应头里(如 Set-Cookie),在提取器中把“要检查的响应字段”选为 响应头 即可。

对于JSON响应,虽可用JSON提取器,但正则也能应对,如 "access_token":"(.*?)"。

思路二:正则提取文本型验证码或隐藏答案

有些测试环境或低安全系统会把验证码答案直接写在响应里,此时正则依然适用。


常见形式:

页面隐藏域:<input type="hidden" id="captchaAns" value="A3B7" />

注释里的答案:<!-- captcha:8888 -->

Cookie 里直接存放明文验证码


正则示例:

<input type="hidden" id="captchaAns" value="(.*?)" />

提取后,登录请求的参数直接传入 ${captchaAns} 即可。


思路三:正则提取算式验证码,并计算答案

如果验证码是简单的算术题(如“3 + 8 = ?”),可先用正则提取算式,再通过函数或脚本计算。

示例: 响应中包含 <span id="mathCaptcha">3+8=?</span>

正则提取算式:<span id="mathCaptcha">(\d+)\+(\d+)=</span>

模板可使用 $1$ 和 $2$ 分别获取两个数字,比如引用名 num1、num2。

计算答案,可以用 JMeter 内置函数 __intSum:

${__intSum(${num1},${num2},answer)} → 得到变量 ${answer},值为 11。

也可用 JSR223 脚本更灵活地处理加减乘除。

将 ${answer} 填入验证码参数提交。


思路四:图形验证码的间接正则提取(提取图片 - OCR 识别 - 再正则提取结果)

对于真正的图形验证码,答案无法直接正则提取,但可以围绕识别流程两次使用正则:


正则提取图片 URL 及必要 Cookie/Token

如:<img id="captchaImg" src="(/getCaptcha\?t=\d+)" />

提取出相对途径,拼接后发送 HTTP 请求获取图片。

将图片传给 OCR 服务(本地 Tesseract 或打码平台),再用正则从OCR响应中提取文本答案

如果使用打码平台(如超级鹰),会返回类似 {"code":"1234"} 的响应,

用正则 "code":"(.*?)" 提取出验证码文本。

把提取到的文本作为验证码参数提交。

这样,整个链条的关联动作仍然由正则提取器完成。


思路五:绕过/固定验证码 + 专注处理动态 Token

性能测试环境中,最推荐的做法是和开发协商屏蔽或固定验证码:

屏蔽:测试环境关闭验证码检查。

固定万能码:统一使用 888888 或从 Redis/数据库预置答案(该答案可直接参数化,无需提取)。

此时脚本只需集中精力用思路一处理好动态 Token,大大降低脚本复杂度,也让测试更稳定。


建议

调试技巧:在脚本中添加调试取样器(Debug Sampler)或通过察看结果树结合RegExp Tester来验证正则是不是正确。

正则转义:JMeter 的正则表达式和 Perl 风格相同,特殊字符 ? . * + [ ] ( ) { } ^ $ | \ 需根据需要加 \ 转义。

提取器选择:如果是 JSON 响应,优先用 JSON 提取器;边界清晰的值可用边界提取器;但正则提取最通用,适合以上所有灵活场景。


结合这几种思路可以根据被测应用的实际验证码/Token 实现方式,灵活组合正则提取器实现自动化参数关联。


文章标签: 软件测试 测试工具
热门标签 换一换
第三方软件国产化测试 第三方信创测试 CNAS软件测评报告 CMA软件测评报告 首版次软件认定 软件结题验收 软件测试报告书 软件质量检测 数据库测试 H5应用测试 软件质检机构 第三方质检机构 第三方权威质检机构 信创测评机构 信息技术应用创新测评机构 信创测试 软件信创测试 软件系统第三方测试 软件系统测试 软件测试标准 工业软件测试 软件应用性能测试 应用性能测试 可用性测试 软件可用性测试 软件可靠性测试 可靠性测试 系统应用测试 软件系统应用测试 软件应用测试 软件负载测试 API自动化测试 软件结题测试 软件结题测试报告 软件登记测试 软件登记测试报告 软件测试中心 第三方软件测试中心 应用测试 第三方应用测试 软件测试需求 软件检测报告定制 软件测试外包公司 第三方软件检测报告厂家 CMA资质 软件产品登记测试 软件产品登记 软件登记 CNAS资质 cma检测范围 cma检测报告 软件评审 软件项目评审 软件项目测试报告书 软件项目验收 软件质量测试报告书 软件项目验收测试 软件验收测试 软件测试机构 软件检验 软件检验检测 WEB应用测试 API接口测试 接口性能测试 第三方系统测试 第三方网站系统测试 数据库系统检测 第三方数据库检测 第三方数据库系统检测 第三方软件评估 课题认证 第三方课题认证 小程序测试 app测试 区块链业务逻辑 智能合约代码安全 区块链 区块链智能合约 软件数据库测试 第三方数据库测试 第三方软件数据库测试 软件第三方测试 软件第三方测试方案 软件测试报告内容 网站测试报告 网站测试总结报告 信息系统测试报告 信息系统评估报告 信息系统测评 语言模型安全 语言模型测试 软件报告书 软件测评报告书 第三方软件测评报告 检测报告厂家 软件检测报告厂家 第三方网站检测 第三方网站测评 第三方网站测试 检测报告 软件检测流程 软件检测报告 第三方软件检测 第三方软件检测机构 第三方检测机构 软件产品确认测试 软件功能性测试 功能性测试 软件崩溃 稳定性测试 API测试 API安全测试 网站测试测评 敏感数据泄露测试 敏感数据泄露 敏感数据泄露测试防护 课题软件交付 科研经费申请 软件网站系统竞赛 竞赛CMA资质补办通道 中学生软件网站系统CMA资质 大学生软件网站系统CMA资质 科研软件课题cma检测报告 科研软件课题cma检测 国家级科研软件CMA检测 科研软件课题 国家级科研软件 web测评 网站测试 网站测评 第三方软件验收公司 第三方软件验收 软件测试选题 软件测试课题是什么 软件测试课题研究报告 软件科研项目测评报告 软件科研项目测评内容 软件科研项目测评 长沙第三方软件测评中心 长沙第三方软件测评公司 长沙第三方软件测评机构 软件科研结项强制清单 软件课题验收 软件申报课题 数据脱敏 数据脱敏传输规范 远程测试实操指南 远程测试 易用性专业测试 软件易用性 政府企业软件采购验收 OA系统CMA软件测评 ERP系统CMA软件测评 CMA检测报告的法律价值 代码原创性 软件著作登记 软件著作权登记 教育APP备案 教育APP 信息化软件项目测评 信息化软件项目 校园软件项目验收标准 智慧软件项目 智慧校园软件项目 CSRF漏洞自动化测试 漏洞自动化测试 CSRF漏洞 反序列化漏洞测试 反序列化漏洞原理 反序列化漏洞 命令执行 命令注入 漏洞检测 文件上传漏洞 身份验证 出具CMA测试报告 cma资质认证 软件验收流程 软件招标文件 软件开发招标 卓码软件测评 WEB安全测试 漏洞挖掘 身份验证漏洞 测评网站并发压力 测评门户网站 Web软件测评 XSS跨站脚本 XSS跨站 C/S软件测评 B/S软件测评 渗透测试 网站安全 网络安全 WEB安全 并发压力测试 常见系统验收单 CRM系统验收 ERP系统验收 OA系统验收 软件项目招投 软件项目 软件投标 软件招标 软件验收 App兼容性测试 CNAS软件检测 CNAS软件检测资质 软件检测 软件检测排名 软件检测机构排名 Web安全测试 Web安全 Web兼容性测试 兼容性测试 web测试 黑盒测试 白盒测试 负载测试 软件易用性测试 软件测试用例 软件性能测试 科技项目验收测试 首版次软件 软件鉴定测试 软件渗透测试 软件安全测试 第三方软件测试报告 软件第三方测试报告 第三方软件测评机构 湖南软件测评公司 软件测评中心 软件第三方测试机构 软件安全测试报告 第三方软件测试公司 第三方软件测试机构 CMA软件测试 CNAS软件测试 第三方软件测试 移动app测试 软件确认测试 软件测评 第三方软件测评 软件测试公司 软件测试报告 跨浏览器测试 软件更新 行业资讯 软件测评机构 大数据测试 测试环境 网站优化 功能测试 APP测试 软件兼容测试 安全测评 第三方测试 测试工具 软件测试 验收测试 系统测试 测试外包 压力测试 测试平台 bug管理 性能测试 测试报告 测试框架 CNAS认可 CMA认证 自动化测试
专业测试,找专业团队,请联系我们!
咨询软件测试 400-607-0568