LR之识别图片验证码

实例:web管理系统

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

 

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

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

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

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

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

 

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

 

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

 

工具:抓包工具fiddle

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

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


 

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

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

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

4.再次回放,bingo!

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

 

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

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

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值