-----使用技术手段解决问题,坚信注重每一个细节,把熟悉的做到一种极致,一定会有创新出现。-----

性能测试中使用tesseract-ocr工具来识别验证码的一些想法

    最近一周我在搞验证码的问题,幸好有tesseract-ocr工具的支持,可以识别保存在本地的图片上的字符等,就是利用这一点,好多朋友把这一功能用在了识别验证码上(有些验证码不能被识别,精确度不高,可能是由于验证码中噪点的存在,妨碍了识别)。我只是照葫芦画瓢,解决了LoadRunner中识别验证码的问题,全是基于C环境的。详细的可以参看我的另一篇博文:http://www.cnblogs.com/zhuque/archive/2013/03/06/2946565.html


     由于tesseract-ocr工具对一些验证码的识别精确度不是太高,甚至有些图片根本识别不出来,还是建议在正式压力测试时,不要使用此方法来解决验证码的问题,更好的办法是在代码中来解决,或使用万能验证码。另外一个方法是把登录交易的代码(涉及验证码代码)放到vuser_init()中去,即登录成功后,频繁的去压测后面的交易。但也有很多操作类型的交易中也有验证码,比如:支付提交,这个就必须使用一个万能验证码来解决。


     在性能测试过程中不要纠结验证码的问题,毕竟98%以上的性能测试都在专门的独立的测试环境中来进行的,都可以通过修改code来解决验证码问题,方法有很多。但也不排除有些变态的CTO或者客户要求在线上环境来进行压测,我们可以试着用tesseract-ocr来识别验证码,如果识别不出,再试着去除验证码图片中的噪点后再去识别。怎么去除验证码图片中存在的噪点,以后再去研究,看样子这是一个大工程。

posted @ 2013-03-13 11:33  ZhuQue  阅读(2397)  评论(2编辑  收藏  举报
多年性能测试、测试管理经验,专注银行、支付、电商行业,倾向于性能、安全、 监控、调优、模型、管理等方向的研究。
使用技术手段解决问题,坚信注重每一个细节,把熟悉的做到一种极致,一定会有创新出现。