Jmeter日常---通过beanshell 提取Mail Reader Sampler中的验证码,多层级参数化
上一篇文章说到通过:prev来读取响应,
本文结合通过 beanshell 提取Mail Reader Sampler中的验证码
https://www.cnblogs.com/shoebill/p/16140538.html
Mail Reader Sampler的使用:
邮件读取取样器:作用是通过发件邮箱读取邮件内容
下面通过注册用户,获取邮箱验证码为栗子
配置:
结果:
观察运行结果是有层级的,跟HTTP等请求不一样,通过常用的JSON,XPATH,正则提取是没有用的
Beanshell 提取:
方法就是上一篇文章介绍的:prev提取响应结果,其中有对返回的子响应进行获取
具体:
String response =prev.getSubResults()[0].getSubResults()[0].getResponseDataAsString(); #getSubResults():第一个获取第一层,第二次获取第二层, #getResponseDataAsString():获取最底层的数据并保存为String类型 int len = response.length(); #因为验证码在最后,可以通过长度来获取, #或者直接打验证码的角标起始和结束的角标
vars.put("response",response.substring(len-6,len)); #赋值给到response,后续可以通过${response}调用
结果:
参考:
https://blog.csdn.net/jackYangyang/article/details/53102409