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

posted @ 2022-04-14 14:17  沙丘蚂蚁慢慢爬  阅读(266)  评论(0编辑  收藏  举报