如何用QTP解决图片验证码(解析QuickTest文本识别机制)? - 技术无止境 - 5...
来源:百度文库 编辑:神马文学网 时间:2024/03/29 13:57:44
copy Bookmark http://www.51testing.com/?138861
空间管理 您的位置: 51Testing软件测试网 » 技术无止境 » 日志 学习 ,学习如何用QTP解决图片验证码(解析QuickTest文本识别机制)?
上一篇 / 下一篇 2008-10-16 14:18:12 / 个人分类:QTP
查看( 313 ) / 评论( 1 ) / 评分( 0 / 0 )思考中..思考中..希望是在实现中!
- 生活:http://12sin.blog.163.com/:
转载:http://www.51testing.com/?songfun
L Rd'gu n;W.\s!Z0o0 大家在使用QTP进行自动化测试的过程中经常会遇到图片验证码的问题——大家所关心的就是如何解决此类问题。这里我们首先要去了解为什么会有图片验证码。其实验证码的本质作用就是防止有人利用工具(灌水机、注册机,当然也不小心包括了我们的自动化测试工具)恶意猜解登陆或者不停的注册和灌水的。因此如果我们完全寄希望于通过GUI识别来获取内容是不切实际的——先打好预防针,免得读者希望太大,失望更大,呵呵!
U-ri6M o{5wzU0下面说说验证码的解决思路:51Testing软件测试网My ~DSR5O2o
其实解决图片验证码的思路有很多,我这里主要结合QTP9.5的新特性给大家介绍其中一种解决方案,就是利用它的OCR机制抓取文本内容。在QTP9.5中,对象识别能力有了进一步改善,其中针对文本识别方面进行了优化,引入了ABBYY公司的OCR解决方案——这个相关的功能体现在QTP菜单的“Tools-->Options-->General--Use text recognition mechanisms in this order”里,详细内容后面会有具体介绍。51Testing软件测试网{IZ1E8H-@#~
先来看看ABBYY是何许公司,登录他们的官方网站可以看到一段相关介绍:“ABBYY是世界OCR(光学字符识别)、ICR(手写体识别)和语言软件的领航者。ABBYY 致力于人工智能(AI)和语言软件开发。提供全套文档识别,转换和数据捕获技术的产品解决方案。”如果你使用过图像文档转换的软件,一定会听说过FineReader OCR Professional ,其实它就是ABBYY公司的产品,用官方的说法就是“将通过扫描仪、MFP 或数码相机生成的图像快速转换为可编辑和可搜索的电子格式,而且识别率很高”,说白了就是可以借助它先进的OCR机制“读”出图片里的文本内容,并转换为PDF之类的文档。51Testing软件测试网 c.|^u;n;rV
有了ABBYY这么强大的背后支持,QTP自然底气十足,那么QTP到底如何以OCR机制识别文本呢?我们首先先了解一下什么是OCR。
sdx$z$p:s3];Z*BqL0 打开“百度百科_OCR”,它的说明:“OCR(Optical Character Recognition,光学字符识别),是属于图型识别(Pattern Recognition,PR)的一门学问。其目的就是要让计算机知道它到底看到了什么,尤其是文字资料。 由于OCR是一门与识别率拔河的技术,因此如何除错或利用辅助信息提高识别正确率,是OCR最重要的课题,ICR(Intelligent Character Recognition)的名词也因此而产生。而根据文字资料存在的媒体介质不同,及取得这些资料的方式不同,就衍生出各式各样、各种不同的应用。”这里有个关键词:“正确率”,也就是“识别率”——既然不能够总是100%,我们自然不可能完全寄希望于通过QTP能够每次100%正确的去识别图片里的文本。尤其是“道高一尺魔高一丈”的今天,验证码加入了大量的干扰素,如扭曲、变形、错位、随机背景花纹,给OCR识别增加了很多难度——本来就不希望被软件识别到嘛。51Testing软件测试网(L-Hm3i ?5iiG
了解了OCR之后,我们再来看看QTP对应的这个设置。如前面所说,通过QTP菜单的“Tools-->Options”选中到“General--Use text recognition mechanisms in this order”,这里的四个选项就是对应的不同设置。我们看看帮助的描述(我做了翻译):51Testing软件测试网Ke Z)l3IXY7Y
=================================
*Py*R4tOS,~E0使用文本识别机制51Testing软件测试网S#v k^&?0P |6b,~;K#p
指定QTP在采用 “文本”或者“文本区域” 的 检查点或输出值 的步骤时,捕获文本内容所使用的文本识别机制。
w!a9]enQ2e+~n1EVy0以下有三种识别方式:
/{/g%XA}j0 1、先使用Windows API,再使用OCR(默认)。51Testing软件测试网c3?9I0rM3qS
指示QTP首先尝试以基于Windows API的机制从对象上直接获取文本内容。如果未获取到文本(比如,文本属于图片的一部分),QTP就会使用OCR的机制尝试获取这段文本。
(a!i0w ],D/J,|"J@}/op0 强烈建议在使用中日韩(象形文字)、英的语言环境下采用这个设置。51Testing软件测试网l6]!P DvF){
2、先使用OCR,再使用Windows API。
%ObO"~!\ i5P`2T0 指示QTP首先尝试使用OCR机制从对象上去获取文本。如果未获取到文本,QTP就会以Windows API的机制去获取文本内容。
y;i0v?_iF0 3、仅使用Windows API方式。51Testing软件测试网7L Ka\U&A
指示QTP仅采用基于Windows API的机制从对象上获取文本内容。51Testing软件测试网"KE%cK l
4、仅使用OCR的方式。51Testing软件测试网u%| _xtL|0SY:H6g
指示QTP仅采用基于OCR的机制从对象上获取文本内容。51Testing软件测试网#Wa6v:Kx
在使用Windows Vista要使用这种方式。51Testing软件测试网,v h${;p]n c$Q T
=================================
6h3Rz%Z4Ym"H0上面的内容已经解释的很明确了,接下来我们通过TextArea Output Value看看效果。51Testing软件测试网.{)no'VW/b
如下图所示,QTP针对几张图片的识别效果:
3u4{]8ZpM/m!xVm0(一)、内容是51Testing的,QTP获取正确;内容是51Testing的G风格彩字,QTP获取错误(显示为IC_CHECK_PATTERN)
t8?]-v2n-Q%m0M?0
G&Qp-Y.h0
(二)、内容是songfun的普通文本,QTP获取正确;内容是songfun的G风格彩字,QTP获取错误(也显示为IC_CHECK_PATTERN)
{M$}1v#PPf;H!q+O0
[lj*} xL;y0 51Testing软件测试网O:u8t)D%C{8H!`
#tf&II~l0vA6j?0有兴趣大家可以自己做一些图片,甚至可以用QQ的验证码图片来试验一下,看看OCR效果。
l;{:G'N P/X9Hc051Testing软件测试网W"l5E6]R0r O9t#c'Ea ` W3[0
:?d"S/nZ0 51Testing软件测试网,~p"HV&J
全部脚印 不留脚印 留下脚印:
-
319158
-
县长
-
54840
相关阅读:
- webRadionGroup和webtable的使用技巧 (wonew1228, 2008-4-16)
- QTP中各种数据库操作 (wonew1228, 2008-10-14)
- (转)如何用QTP解决图片验证码(解析QuickTest文本识别机制)? (leo_hu_100, 2008-10-15)
- QTP检查点设置 (ruanyongjie, 2008-10-15)
- QTP描述性编程语言原理 (yuhan, 2008-10-15)
- QTP对象库的管理与合并 (yuhan, 2008-10-15)
- QTP中各种数据库操作 (fishy, 2008-10-15)
- [转载]QTP中DataTable对象的方法 (wonew1228, 2008-10-15)
- QTP实例-测试报告代码 (s154098121, 2008-10-16)
- QTP中各种数据库操作 (s154098121, 2008-10-16)
导入论坛 收藏 分享给好友 管理 举报
TAG: QTP
- 引用 删除 echosu / 2009-09-11 12:30:26
- 脚本怎么运行通的?
Window("Windows 图片和传真查看器").WinObject("ShImgVw:CZoomWnd").Output,这个方面不存在啊?
s154098121
用户菜单
- 给我留言
- 加入好友
- 发短消息
- 我的介绍
- 论坛资料
- 空间管理
我的栏目
- 其他
- 测试工具
- LoadRunner
- QTP
标题搜索
日历
« 2010-07-01 日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31我的存档
- 2008年10月
- 2008年09月
- 2008年08月
- 2008年07月
- 2008年06月
- 2008年05月
- 2008年04月
- 2008年03月
- 2008年02月
- 2008年01月
- 2007年12月
- 2007年11月
- 2007年10月
数据统计
- 访问量: 2860
- 日志数: 10
- 书签数: 1
- 建立时间: 2007-10-16
- 更新时间: 2008-10-16
RSS订阅
Powered by X-Space 4.0Final © 2001-2008 Comsenz Inc.
沪ICP备05003035号