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