LR之识别图片验证码

上一篇 / 下一篇  2016-11-14 21:42:04 / 个人分类:原创

实例:web管理系统

目的:对该管理系统的重要业务进行并发压力测试,如登录,查询等


准备大干一场的时候,却在登录界面卡住了,因为登录页面需要输入验证码,而且验证码是随机生成的图片数字验证码,如果不能正确获取到验证码的话,登录就无法成功了。就算录制成功,回放时候还是会报错。

3种方式可以解决这个问题:

最简单暴力的方法就是让开发去掉验证码给你一个测试的版本

让开发设置一个万能验证码,比如1234,可以无限制使用成功验证

获取验证码,每次都使用新生成的验证码自动登录


第一第二就没有什么难度了,但是本着自己动手丰衣足食的原则,我研究了下第三种方式,先在网上查了下,一般方法都是提到写个获取服务器验证码的程序,然后调用它,哎,水平不够,真心看不懂,结果灵机一动,找到了一个简单好用的方法。

 

获取图片验证码的原理:图片验证码的产生来自服务器端,由服务器生成随机数,然后写入到图片中,所以我们要做的就是从服务器返回的数据中获取到这个随机生成的数字。


工具:抓包工具fiddle

1.fiddle中找到登录界面验证码的请求,这个很明白吧,返回结果的结果就是图片验证码

再切换到headers标签页,可以看到有相关的验证码图片的数字返回


 

2.将该条请求复制到之前录制的登录脚本中,并在该请求前添加手动关联函数web_reg_save_param,获取服务器返回的验证码

(注:关联函数的左右边界值可在回放的log中获取或者直接看步骤1中服务器返回的数据,结果是一样的)

 

3.将录制脚本中的验证码替换为关联函数保存的参数


4.再次回放,bingo!

还可在回放log中查看到获取的验证码值,并且已经赋值给步骤3中的{CheckCode}.



这样就成功获取到图片验证码,并顺利登陆成功了,同理,什么数字验证码之类也就统统不在话下了。

PS:添加检查点之类的也可以参考此种方式,通过检查服务器的返回值来判断,使用web_reg_find函数。


TAG: 图片 验证码

引用 删除 zhanwuchen   /   2016-11-15 09:44:24
5
 

评分:0

我来说两句

我的栏目

日历

« 2024-04-22  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 3090
  • 日志数: 9
  • 建立时间: 2014-07-17
  • 更新时间: 2016-11-14

RSS订阅

Open Toolbar