• 0
  • 0
分享
  • Jmeter对图片验证码的处理——软件测试圈
  • 小丸子🍡 2024-06-13 16:07:34 字数 1078 阅读 962 收藏 0

  jmeter对图片验证码的处理

  在web端的登录接口经常会有图片验证码的输入,而且每次登录时图片验证码都是随机的;当通过jmeter做接口登录的时候要对图片验证码进行识别出图片中的字段,然后再登录接口中使用;

  通过jmeter对图片验证码的识别方法

  1、通过ocrserver工具识别图片验证码

  如下图:解压后双击OcrServer.exe;然后电脑的右下角会显示该服务的IP和端口。 

2-1.jpg

2-2.jpg


  2、在jmeter中发送获取该验证码图片的接口;如下图

2-3.jpg


  3、在获取验证码图片的接口下面添加监听器》保存响应到文件;如下图:

2-4.jpg

  4、再取样器中再添加JSR223 Sampler;注释一下该取样器是把图片转换成base64格式;并编写代码;如下图:

  SampleResult.setIgnore();
  import java.io.*;
  import org.apache.commons.codec.binary.Base64;
  String image=vars.get("png");
  byte[] data = null;
  try {
      InputStream in = new FileInputStream(image);
      data = new byte[in.available()];
      in.read(data);
      in.close();
  } catch (IOException e) {
      e.printStackTrace();
  }
  Base64 base64=new Base64();
  vars.put("base64",base64.encodeToString(data));
  //return image;

2-5.jpg

  5、在添加一个HTTP请求,用来调用OcrServer工具,IP地址为127.0.0.1,端口为12349,post请求,在body中引用base64;如下图:

2-6.jpg

  6、在验证码识别请求下再添加一个json提取器;把识别到的图片验证码的字段提取出来;

  识别图片验证码的字段为json格式;如下图:

2-7.jpg

  在json提取器中通过jsonpath方法提取出code的值。

2-8.jpg

  7、验证提取的字段是否和图片验证码上的字段一致;如下图:

2-9.jpg

2-10.jpg

  8、通过第7步可以看到正确的提取出了验证码字段,然后在登录的接口调用image_code即可。

2-11.jpg


作者:小码哥说测试    

来源:http://www.51testing.com/html/99/n-7797199.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • SeleniumSelenium 是什么Selenium 是一款 Web UI 测试工具,是一款 自动化测试 工具,使用 Selenium 测试工具进行的测试通常被称为 Selenium Testing,各种支持如下列表:UI 元素的支持与管理:自写代码实现浏览器支持:IE/Firefox/Chrome操作系统:支持跨平台开发语言:Python/Ruby/Java/c#是否开源:免费持续集成工具:支持主流持续集成工具Selenium 特点Selenium 特点主要表现在以下几个方面:Selenium 已经开源了,且免费Selenium 支持 windows、Macos、Linux 这些系统基本...
            0 0 859
            分享
          • 9 月 5 日消息,据腾讯 QQ 官方消息,在开学之际,QQ 上线了“QQ 学生卡”,可一键查看你的 Q 龄。在 QQ 搜索“QQ 学生卡”,即可查看你的 Q 龄。据了解,QQ 是 1999 年 2 月由腾讯开发的一款基于互联网的即时通信软件,最初称为 OICQ。2000 年 11 月,腾讯推出 QQ2000 版本,将名称由 OICQ 更名为 QQ。根据腾讯 2021 年财报,QQ 移动端月活跃账户数为 5.52 亿。作者:孤城文章来源:IT之家 (ithome.com)
            0 0 644
            分享
          •   我们发现了一个bug后,怎样去确定这个bug是应该前台来解决还是后台来解决?  当然我们测试网站的时候,可以通过浏览器的F12来查看传值,那么如果测试的是APP,我们又该怎么来抓取这个数据呢?这里就需要用到一些抓包工具,来协助我们定位问题。  这里我们使用的工具就是Fiddler。  下面我们通过几个案例来具体说明一下如何通过Fiddler来定位是前台的问题还是后台的问题。  案例1  我们在使用手机APP的时候,修改一个联系人信息,修改之后发现在数据库里的信息电话和性别没有修改成功,这个时候我们用Fiddler来抓取数据包看看。  首先先将Fiddler设置成只接收远程客户端的数据,如下...
            13 14 2400
            分享
          •   小程序区分用户是通过token,由于token都有一个有效期,数据库中很多token都失效了,必须要登录后获取最新的才有效,只是接口压测没有登录环节,所以想搞个自动化自动登录并获取token到文件中,再从文件中获取token执行接口压测;  1.下载一个 fastjson-1.2.79.jar 包到jmeter安装目录的lib或lib/ext 文件夹中。  https://pan.baidu.com/s/1-uNbQp5HKc6A2ui1eweaoA?pwd=v8v3   提取码:v8v3  2.重启jmeter后,在http请求处添加一个后置处理器 BeanShell PostProce...
            0 0 1944
            分享
          • 在我们测试工作中,测试用例的编写至关重要,编写好的测试用例可以覆盖整个项目的测试,能够更好的找到缺陷,下面浅谈下我对功能测试用例编写的思路在面试中,我们常常会被问到:给你一个纸杯,你要怎么测试?不巧的是,我们大多数人都会说纸杯的功能,比如它能装多少水,装开水能不能烫手,纸杯的美观程度等等,当然,不是说这样想是不对的,而是没有考虑周全我们要测试一个产品,要从多个维度来考虑:《1》 安全性纸杯在装满热水时,我们能不能够拿住它,他的耐热怎么样?纸杯装满水会不会漏水?《2》 功能纸杯可以装水吗?纸杯能够装满水吗?《3》兼容性纸杯能否装不同的液体:饮料、凉白开、热水、酒类《4》产品设计纸杯的外表是不是看...
            0 0 1506
            分享
      • 51testing软件测试圈微信