性能测试: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}就可以使用获取到的验证码继续测试了。

总结:

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

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

相关推荐
测试架构师北凡30 分钟前
新手怎么入行软件测试?初级测试岗学习路线,测试之路指南...
自动化测试·软件测试·功能测试·软件测试工程师·python自动化测试·接口测试·软件测试面试
苦学编程的谢37 分钟前
Redis_8_List
数据库·redis·缓存
曹天骄1 小时前
阿里云 DCDN → CDN 无缝切换教程(以 example.com 为例)
数据库·阿里云·云计算
workflower2 小时前
软件工程-练习
数据库·需求分析·个人开发·极限编程·结对编程
扶尔魔ocy2 小时前
【QT自定义2D控件】QGraphics绘制仪表盘
数据库·qt·microsoft
yookay zhang3 小时前
达梦数据库监听进程
网络·数据库·oracle
Archy_Wang_13 小时前
centos7的mysql做定时任务备份所有数据库
数据库·mysql
Java 码农3 小时前
MySQL基础操作案例设计
数据库·mysql
友友马3 小时前
『 QT 』按钮类控件属性解析
开发语言·数据库·qt
jarreyer3 小时前
【ubuntu离线安装Oracle 客户端】ldd /opt/oracle/instantclient_19_8/libclntsh.so
linux·ubuntu·oracle