51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1905|回复: 3
打印 上一主题 下一主题

[求助] 验证码识别问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-8-14 20:40:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近开始学习QTP,遇到识别验证码的问题,请各位高手帮忙看下~
我是在网上找的相关资料,道理看明白了,也照着做了,不过发现识别不出来。

主要表现为,当我先去掉web addin进行第一次录制的时候,脚本命名为actionA,那个脚本单独运行是可以识别出来的,而且我用text=DataTable.GetSheet("Global").GetParameter("Internet_Explorer_ServerOutput_Text_out")
msgbox text   也可以正常读出参数。
问题是,当去掉web addin开始第二次录制,以insert call to copy of action方式嵌套调用actionA,却读不到任何数据。而且此时actionA中的msgbox text就读不到数据了,更别说后面的msgbox myCode了。
关于actionA的action call properties 中输出参数我是如下图1设置的。


使用的是QTP 9.2版本
下面贴出参考的原文,请弄过的朋友帮忙看下,搞了两天这个问题也没解决掉。
qq:123955349   非常感谢!
--------------------------------参考资料----------------------------------------------------------
1.在qtp启动时勾掉web addin,然后开始录制,选择Insert->output value->text area output value,鼠标变成之字形然后把所要获取对象文本的区域选中(这里录制的是百度注册页面),如下图2及图3:

点击"OK"

点击"OK"然后保存脚本为GetCharTest,脚本代码:Window("Microsoft Internet Explorer").WinObject("Internet Explorer_Server").Output CheckPoint("Internet Explorer_Server")
可以输入Set text=DataTable.GetSheet("Global").GetParameter("Internet_Explorer_ServerOutput_Text_out")
msgbox text   来查看文本内容
2.关掉QTP,再打开QTP,选中web addin录制脚本,录制完成后把第一步录制的脚本通过insert call to copy of action添加进去
脚本如下:
Dim myCode
Browser("百度用户注册").Page("百度用户注册").WebEdit("username").Set DataTable("username", dtGlobalSheet)
Browser("百度用户注册").Page("百度用户注册").WebEdit("loginpass").SetSecure "4ec464f8735b7a43e936bed4711b14866c4fe932f1211c20803caf79"
Browser("百度用户注册").Page("百度用户注册").WebEdit("verifypass").SetSecure "4ec464fda5f5858ea1f948024dfaae5bd4955cad1d5307aee397c26c"
Browser("百度用户注册").Page("百度用户注册").WebEdit("email").Set "zy66688@12.com"
Browser("百度用户注册").Page("百度用户注册_2").WebEdit("verifycode").Click
RunAction "GetChar", oneIteration,myCode
Set myCode=DataTable.GetSheet("Global").GetParameter("Internet_Explorer_ServerOutput_Text_out")
msgbox myCode
Browser("百度用户注册").Page("百度用户注册_2").WebEdit("verifycode").Set "NYRA"
Browser("百度用户注册").Page("百度用户注册_2").WebButton("同意以下协议并提交").Drag 84,16
Browser("百度用户注册").Page("百度用户注册_3").Sync
3.回放脚本,由于受多种因素的影响,这种方法大部分识别的都有错误,但脚本是可以通过的。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    无聊
    2020-12-8 11:20
  • 签到天数: 605 天

    连续签到: 1 天

    [LV.9]测试副司令

    2#
    发表于 2013-8-15 09:47:36 | 只看该作者
    总感觉用自动化去研究验证码毫无意义。。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-7-15 16:20
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
    发表于 2013-8-15 15:49:31 | 只看该作者
    验证码为自动化测试设下了一个槛,有的人跨过去了,有的人被拦下了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    4#
    发表于 2013-8-16 09:05:12 | 只看该作者
    验证码问题直接让开发要么临时拿掉,要么做过万能码,这样既简单又快捷。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-3 01:59 , Processed in 0.079416 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表