关于chrome-devtools:JMeterScanner类实现游戏验证码有哪些方式

37次阅读

共计 917 个字符,预计需要花费 3 分钟才能阅读完成。

背景:在接口测试中,时常会遇到短信验证码的获取及校验;个别的办法是:倡议与开发沟通,设置万能验证码或是屏蔽校验逻辑代码,如果想挑战一下技术,那么就须要本人入手编写代码,这里次要介绍 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 接口测试取得短信验证码的多种解决形式,为了平安起见,程序设计短信验证码是不会从接口返回的。

正文完
 0