Jmeter中利用BeanShell Sampler与控制台进行交互
最近在利用Jmeter实现自动化脚本时遇到了需要与控制台交互的场景,业务中涉及到银行卡密码的敏感信息需要做特殊处理(之前在测试环境密码是不校验的故参数都写在CSV文件中)。此次项目需要在线上环境做测试,于是我吧密码的地方用键盘输入的方式进行处理。另外输入的密码只能以密码的方式呈现在控制台中(选控制台输入方法)。处理方法: 添加--》BeanShell Sampler
Script写入如下代码:
<p>/* 键盘流输入</p><p> * String passwd;</p><p>String account=vars.get("account");</p><p>vars.put("account",account);</p><p>Scanner in = new Scanner(System.in);</p><p>System.out.print("请输入银行卡"+account+"的密码:");</p><p>passwd=in.next();</p><p>System.out.print("输入的银行卡密码是:"+passwd);</p><p>vars.put("psw",passwd); */</p>
<p>//控制台输入,有密码形式输入</p><p>String account=vars.get("account");</p><p>vars.put("account",account);</p><p>Console cons=System.console();</p><p>System.out.print("请输入银行卡"+account+"的密码:");</p><p>char[] password=cons.readPassword();</p><p>String passwd=Arrays.toString(password).replaceAll("[\\[\\], ]", "");</p><p>vars.put("psw",passwd);</p><p>//System.out.println(passwd); </p>
页:
[1]