性能测试:Jmeter压测过程中的短信验证码读取

目录

问题背景

解决思路

实现方法

[1. 建立JDBC连接](#1. 建立JDBC连接)

[2. 使用JDBC请求获取验证码](#2. 使用JDBC请求获取验证码)

[3. 使用正则将验证码提取并使用](#3. 使用正则将验证码提取并使用)

总结:


问题背景

现如今国内的大部分软件或者网站应用,普遍流行使用短信业务,比如登录、注册以及特定的业务通知等。

对于这些业务,在使用Jmeter进行性能测试的过程中,就会需要自动获取和填入短信验证码,否则性能流程无法进行下去。

由于绝大多数的系统其短信验证码并不会在接口返回中,因此如何获取短信验证码是一个问题。

最简单的做法,是让开发在测试环境将验证码写死,在测试过程中固定使用静态验证码字串。

不过求人不如求己~也是出于尽量贴近真实用户场景的目的,更合适的做法还是通过技术手段动态获取并填写短信验证码。

解决思路

大多数应用的短信验证码都是通过第三方服务来发送的,如前文所言一般不会通过本地接口返回。

但是但凡设计过关的系统应该会将短信验证码存留于数据库当中进行留底和备份。

因此我们可以通过Jmeter去连接数据库,并通过合理的逻辑获取相应的验证码。

通常我们使用Jmeter更多的是测试HTTP和FTP等协议,但其实除这些之外,Jmeter还支持许多其他种协议,JDBC就是常见的一种。

因此以上需求应该完全能够实现。

实现方法

1. 建立JDBC连接

在Jmeter测试计划中,添加配置元件-JDBC连接配置(JDBC Connection Configuration),用于管理数据库连接。

2. 使用JDBC请求获取验证码

在线程组中,添加取样器-JDBC请求,进行数据库查询。

取到的结果:

3. 使用正则将验证码提取并使用

以上提取到的数据库记录中,只有969386是我们需要的验证码,因此需要用正则表达式提取器将他提取出来:

到此,后续的请求使用${mcode}就可以使用获取到的验证码继续测试了。

总结:

感谢每一个认真阅读我文章的人!!!

我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。

相关推荐
这个DBA有点耶9 分钟前
多模数据库深度解读:从“多库拼装”到“一库多能”的架构演进
数据库·mysql·dba
程序员夏洛41 分钟前
MySQL 默认的事务隔离级别是什么?为什么选择这个级别?
数据库·mysql
艺术留白1 小时前
MokaTest使用篇-SQL接口
数据库·sql
( •̀∀•́ )9202 小时前
MySQL 自动备份与恢复方案
数据库·mysql·oracle
这个DBA有点耶2 小时前
大事务的“事前预防”:监控、拦截、Kill,四层防线一次讲透
数据库·mysql·代码规范
tachibana22 小时前
RAGAS 指标解读
数据库·人工智能·算法·机器学习·架构·大模型·llm
wuhuhuan2 小时前
【JMeter 学习打卡 Day 7】从会用到会用对,完成一次完整压测
学习·jmeter
mlidongfeng3 小时前
[AI][昇腾950]TA 学习
数据库·学习
bestsun9993 小时前
rac集群环境下配置JDBC
数据库
java_logo3 小时前
Docker 部署 FalkorDB:轻松搭建属性图数据库与知识图谱平台
数据库·docker·知识图谱·falkordb·轩辕镜像·falkordb部署教程·falkordb部署文档