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



    问题背景
    现如今国内的大部分软件或者网站应用,普遍流行使用短信业务,比如登录、注册以及特定的业务通知等。对于这些业务,在使用Jmeter进行性能测试的过程中,就会需要自动获取和填入短信验证码,否则性能流程无法进行下去。由于绝大多数的系统其短信验证码并不会在接口返回中,因此如何获取短信验证码是一个问题。最简单的做法,是让开发在测试环境将验证码写死,在测试过程中固定使用静态验证码字串。不过求人不如求己~也是出于尽量贴近真实用户场景的目的,更合适的做法还是通过技术手段动态获取并填写短信验证码。 


    解决思路
    大多数应用的短信验证码都是通过第三方服务来发送的,如前文所言一般不会通过本地接口返回。但是但凡设计过关的系统应该会将短信验证码存留于数据库当中进行留底和备份。因此我们可以通过Jmeter去连接数据库,并通过合理的逻辑获取相应的验证码。通常我们使用Jmeter更多的是测试HTTP和FTP等协议,但其实除这些之外,Jmeter还支持许多其他种协议,JDBC就是常见的一种。因此以上需求应该完全能够实现。 


    实现方法

    1. 建立JDBC连接

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

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

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

     取到的结果: 

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

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

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

  • 相关阅读:
    无法将类型为“xxxx”的对象强制转换为类型“Microsoft.SharePoint.WebPartPages.WebPart”。
    [win32 api] FindWindow FindWindowEx EnumChildWindows
    WPF线程中被修改后DataGrid数据不能及时更新的问题
    Android Adapter 与 Listview
    LINQ 查询操作及进行数据转换
    匿名方法lambda表达式
    WPF知识4 依赖属性
    LINQ 入门
    WPF绑定.NET对象(二)Visifire的数据绑定
    LINQ 查询操作中的类型关系
  • 原文地址:https://www.cnblogs.com/xly22/p/12550379.html
Copyright © 2020-2023  润新知