使用QTP进行web测试时,经常会遇到验证码登陆的问题。此时进行自动化测试时最好的办法当然是直接在代码中屏蔽掉验证码。但是对于验证码相对比较清晰,干扰线较少的验证码,我们可以使用OCR文字识别技术识别出其中的验证码。本文以一个系统的登陆为例说明识别的过程,以及具体的使用方法。本文中所属使用的为UFT12版本。
方法/步骤
1
首先双击UFT打开选择插件页面,在此去掉web插件的勾选,因web插件不支持文字验证输出功能。去掉勾选后,点击【确定】打开uft使用界面。
2
点击菜单栏的【文件】→【新建】→【测试】创建一个新的测试脚本
3
打开要识别验证码的登陆页面。点击工具栏的录制按钮,打开录制和运行设置页面后,点击【确定】按钮开始录制
4
点击正在录制工具栏中如下图所示的按钮后,选择【文本区域输出值】。然后鼠标拖动选择验证码的图片区域
5
打开文本区域输出值页,如下图所示,直接点击【确定】
6
打开的页面中,点击【修改】按钮在打开的页面中,“输出类型”选择“Environment”,“名称”可以修改为方便使用的名字。之后点击【确定】
7
点击完成录制按钮,回到脚本页面。此时录制之后自动生成了识别的脚本
8
之后可以输出一下刚才添加的参数,查看是不是能够正确识别。如下图加入直接输出的代码,之后运行该脚本。验证码正确的输出了。
9
接下来我们就要将该识别的脚本运用到登陆过程中。去掉第8步中添加的msgbox的代码,关闭该脚本,重新打开UFT。这次在选择插件的地方勾选上WEB插件
10
参考步骤2新建一个测试脚本。并将用户名、密码、验证码、登陆等对象识别之后编写登陆的脚本。此处不再进行赘述。此处重点描述验证码的调取过程。在需要获取验证码值的代码前面鼠标右键,选择【操作】→【调用现有操作】
11
选择编写完成的获取验证码的脚本之后,位置选择“当前步骤之后”,点击【确定】按钮。会自动在脚本中添加 RunAction '获取验证码 [验证码]', oneIteration 的脚本
12
如下图中为对验证码的使用。测试我们可以直接使用自定义环境变量。因为识别时可能会识别出多余的空格,此处使用replace函数进行了去空格的处理。然后我们就可以直接运行脚本啦
上一篇:自学PS的方法和步骤