zoukankan      html  css  js  c++  java
  • 性能测试:Jmeter压测过程中的短信验证码读取


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


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


    实现方法

    1. 建立JDBC连接

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

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

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

     取到的结果: 

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

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

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

  • 相关阅读:
    zz解读NoSQL技术代表之作Dynamo
    愚蠢且能干
    Schema 验证和 DTD 验证
    Office Addin (VSTO) Performance Tips & Tricks
    提高 .NET 应用 XML 处理性能的几点开发经验(转载)
    C# 实现对XML文件的基本操作(创建xml文件,增、删、改、查 xml节点信息)zz
    XML/XSLT/XPATH
    Linux下基于DNS的多机均衡负载的实现
    Linux 上的高可用中间件,第 3 部分: IBM LoadLeveler
    Creating Web Services using Apache
  • 原文地址:https://www.cnblogs.com/xly22/p/12550379.html
Copyright © 2011-2022 走看看