51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2217|回复: 0

[原创] Jmeter中利用BeanShell Sampler与控制台进行交互

[复制链接]
  • TA的每日心情
    无聊
    昨天 09:21
  • 签到天数: 398 天

    连续签到: 4 天

    [LV.9]测试副司令

    发表于 2018-12-3 09:41:43 | 显示全部楼层 |阅读模式
    最近在利用Jmeter实现自动化脚本时遇到了需要与控制台交互的场景,业务中涉及到银行卡密码的敏感信息需要做特殊处理(之前在测试环境密码是不校验的故参数都写在CSV文件中)。此次项目需要在线上环境做测试,于是我吧密码的地方用键盘输入的方式进行处理。另外输入的密码只能以密码的方式呈现在控制台中(选控制台输入方法)。

    处理方法: 添加--》BeanShell Sampler

    Script写入如下代码:
    1. <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>
    复制代码
    1. <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 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-19 05:27 , Processed in 0.068749 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表