背景:在接口测试中,时常会遇到短信验证码的获取及校验;个别的办法是:倡议与开发沟通,设置万能验证码或是屏蔽校验逻辑代码,如果想挑战一下技术,那么就须要本人入手编写代码,这里次要介绍java的Scanner类来与jmeter进行交互输出验证码。

1、例一:两个接口申请,一个申请验证码返回,一个输出验证码校验,(这种状况只需关联即可)脚本构造如下:

tips:下面两种状况模仿正确和失败场景,jmeter场景设计,接口申请个别不会把验证码放在响应参数,这样是不平安的。

2、接下来例二:同样是两个接口,做的事件也一样,只有一个问题,游戏验证码从哪里来?数据库?程序发送短信性能,在测试过程中,短信会发送到手机,同样也会入库(只思考入库状况,因短信功能模块不同,不确定渠道商的短信解决形式)。先讲JMeter-通过jdbc元件从数据库获取验证的形式,脚本构造如下:

tips:脚本构造与下面比拟,多了一个jdbc配置元件,json提取器换成了jdbc后置处理器;code的获取形式产生了扭转。

3、再来讲JMeter脚本通过beanshell导入Scanner类编码实现从控制台获取code来校验,脚本构造如下:

tips: 通过一个beanshell取样器编写脚本,beanshell后置器会在java request之前执行(仅此①例)。以下附上www.sangpi.combeanshell代码:

//beanshell中导入Scanner扫描类
import java.util.Scanner;
//new一个扫描对象
Scanner scanner=new Scanner(System.in);
//给vars应用,所以给String类。亦或int类型,应用nextInt()办法
String messagecode=scanner.next();
//vars字符串的赋值,如果前面的不是String类型,就须要转toString()
vars.put("code",messagecode);
//敞开扫描流
scanner.close();复制代码
4、以上是JMeter接口测试取得短信验证码的多种解决形式,为了平安起见,程序设计短信验证码是不会从接口返回的。