• Jmeter实现验证码登录


    1.首先网上找各种解决方法,看看大神们都是怎样搞定的验证码登录的,别说,还真让我找到了,一看大神17年发布的,不禁感叹了下,大神就是大神啊!网上大神链接如下

    https://www.cnblogs.com/qzsong0214/p/6907075.html

    大家先看评论啊,大佬为了我们这群菜鸟也是用心良苦,生生没贴源码,苦了我们这些菜鸟,继续往下翻你会看到有人贴了源码,没错这个人就是我,最后还是要谢谢大佬提供的思路!

    2.要准备的东西:Jmeter 大家应该都有,需要准备的其实就是下面这个东东,网址:https://sourceforge.net/projects/tess4j/,这个网址真的很不错,建议大家收藏!

    3.完事具备后,接下来我们要把tess4j里的jar包全扔到Jmeter的lib文件夹下,其实只需要几个jar包就够,但是时间有限,技术有限就不去找具体要那几个,全扔过去省事,闭着眼睛扔就对了!

    4.好了jar包搞定后,接下来就是录制个验证码的请求,然后编写BeanShell后置处理程序基本就可以了,听起来很简单,这其中的心酸,谁琢磨谁知道啊,誰让我们菜呢。。。。。!

     源码如下,在大神截图的基础下,我精简了下,但是感觉就是很low

    import java.io.*;
    import net.sourceforge.tess4j.ITesseract;
    import net.sourceforge.tess4j.Tesseract;


    String imgPath="D://yanzhengma.jpg";//将验证码保存到本地文件中
    byte[] responseBody = prev.getResponseData();
    File imageFile = new File(imgPath);
    OutputStream out = new FileOutputStream(imageFile);
    out.write(responseBody);
    out.flush();
    out.close();

    File imageFile1 = new File(imgPath);//读取图片数字
    ITesseract instance = new Tesseract();
    instance.setDatapath("C:\Users\dfitc_lgx\Desktop\xiagao\Tess4J\tessdata"); //Tess4j 文件里的 tessdata 目录下
    instance.setLanguage("eng");//英文库识别数字比较准确
    content = instance.doOCR(imageFile1).replace(" ", "");
    vars.put("aaaaaa",content);

    5.最后一步,光说不练假把式,上实战截图,这里要加上Debug PostProcessor 查看验证码转换后的结果

    看到结果的这一刻,我感觉我又行了。。。。。。。。不一定每次都成功,大家最好自己给登录请求加上断言!!!

  • 相关阅读:
    32 renren-fast-vue安装报错问题
    31 element自定义图片上传
    30 图片预览
    29 element-table样式更改
    28 ant-design-vue-jeecg运行报错问题
    27 mysql8安装
    25 mybatis-plus常用语法
    24 element表单校验
    23 鼠标移入移出更换样式
    22 初识mysql外键
  • 原文地址:https://www.cnblogs.com/dkzou/p/13093269.html
Copyright © 2020-2023  润新知