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


    问题背景

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

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

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

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

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

    解决思路

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

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

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

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

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

    实现方法

    1. 建立JDBC连接

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

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

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

    取到的结果:

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

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

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

  • 相关阅读:
    如何重启apache2服务
    ubuntu设置不睡眠的方法
    linux环境下安装varnish
    PHP 开发者该知道的 5 个 Composer 小技巧
    dl, dt, dd /line-height /loat /vertical-align 问题
    针对老式浏览器(主要是IE6、7、8)的css3-mediaqueries.js自适应布局
    三栏网页宽度自适应布局方法
    vue.js开发环境搭建
    vue.js之个人总结
    less学习:基础语法总结
  • 原文地址:https://www.cnblogs.com/dayu2019/p/11685756.html
Copyright © 2020-2023  润新知