51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 10512|回复: 32
打印 上一主题 下一主题

[原创] 结合Low Level Recording录制一个脚本即可解决验证码问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-7-17 17:15:14 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
根据前辈的提示,通过录制两个脚本来解决验证码的问题。
后来我发现在录制的时候使用low level recording可以录制到windows对象,因此不需要录制两个脚本再使用“Call to Copy of Action”来加载另外一个录制了windows对象的Action了。
其实大部分步骤和录制两个脚本的方法一样,只是在录制到验证码的时候改用low level recording模式录制。
我照这样的方式录制了并回放成功,也不知有什么不妥的地方,我是新手,想请教大家~
脚本:
Browser("XXXXXX").Page("XXXXXX").WebEdit("username").Set "111111"
Browser("XXXXXX").Page("XXXXXX").WebEdit("password").SetSecure "4a602f33e73d00d67bae1f08906fd527"
Window("Microsoft Internet Explorer").WinObject("Internet Explorer_Server").Click 132,172
Window("Microsoft Internet Explorer").WinObject("Internet Explorer_Server").Output CheckPoint("Internet Explorer_Server")
Dim validation
validation=datatable.GetSheet("Global").GetParameter("getchar").ValueByRow(1)
Browser("XXXXXX").Page("XXXXXX").WebEdit("validation_code").Set  validation
Browser("XXXXXX").Page("XXXXXX").Image("dl").Click 60,10
Browser("XXXXXX").Page("XXXXXX").Sync
Browser("XXXXXX").Close
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

33#
发表于 2013-1-14 16:34:44 | 只看该作者
没弄明白
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2016-6-21 12:50
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    32#
    发表于 2011-5-17 00:39:43 | 只看该作者
    [img][/img]

    验证码可以获取到,但是输入的时候提示参数  不正确,有时获得是乱码
    Window("Microsoft Internet Explorer").WinObject("Internet Explorer_Server").Output CheckPoint("Internet Explorer_Server")
    Window("Microsoft Internet Explorer").WinObject("Internet Explorer_Server").Click 358,623
    Dim validation
    validation=datatable.GetSheet("Global").GetParameter("output").ValueByRow(1)
    MsgBox(validation)
    Browser("科研之友").Page("科研之友 个人注册").WebEdit("checkcode").Set validation

    本帖子中包含更多资源

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

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    31#
    发表于 2010-8-27 11:19:05 | 只看该作者
    为什么我总出现这个错误提示,在线求解~~~~
    You specified more parameters in your RunAction statement than the number of parameters defined for the action.
    Line (2): "RunAction "Copy of GetChar", oneIteration,mycode".
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    30#
    发表于 2009-9-11 17:59:34 | 只看该作者
    我是qtp 9.2版本的,我对那个右边那个验证码的图这里右键,只有Insert output value, 好像没有Text Area Output,还是我理解错了呢   难道这个功能9.2也不支持?

    哈,刚才又研究了下,发现可以的,要在低级录制的前提下,从菜单insert里选择text area output values,然后框出验证码的范围。不过有个疑问,假如我测的页面的验证码在页面的最下面,手动的话要scroll down到页面的最下面。这样的话,直接框出这个验证码,然后运行的时候还是会出错的,会找不到这片我框出来的区域,请教一下这该怎么做呢。。。

    [ 本帖最后由 whoamiyaya 于 2009-9-11 19:14 编辑 ]

    本帖子中包含更多资源

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

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    29#
    发表于 2009-8-5 11:06:32 | 只看该作者
    我装了个QTP10,验证码问题解决了。不过我的QTP10的JAVA插件还有.NET插件等似乎都没有破解。打开QTP10的界面如下图所示,有没有办法解决?

    本帖子中包含更多资源

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

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    28#
    发表于 2009-8-5 10:57:09 | 只看该作者
    我装了个QTP10,验证码问题解决了。不过我的QTP10的JAVA插件还有.NET插件等似乎都没有破解。打开QTP10的界面如下图所示,有没有办法解决?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    27#
    发表于 2009-7-29 17:27:33 | 只看该作者
    原帖由 dreamsea123 于 2009-7-29 15:50 发表
    录制过程中,在“Automation”菜单中选择“模拟录制”或者“低级录制”

    自问自答 ,呵呵
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    26#
    发表于 2009-7-29 17:26:54 | 只看该作者
    原帖由 dreamsea123 于 2009-7-29 16:26 发表
    解决,在录制Browser("互动交流平台 - Powered By BBSXP").Page("互动交流平台 - Powered By BBSXP").WebEdit("VerifyCode").Click时,就应该使用低级录制,录制成:Window("Microsoft Internet Explorer").WinObjec ...

    引申下:低级录制就是把所有的控件都识别成WinObject
    难道不加载任何插件的录制=仅仅加载VB插件,
    我试验下,录制了一个网站:不加载任何插件和仅仅加载VB 录制出来的结果是一样的,我原本以为和低级录制是一样的。
    地址栏都被识别成WinComboBox
    估计对于某些高级控件还是有区别,不过我没找到而已。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    25#
    发表于 2009-7-29 16:26:23 | 只看该作者
    解决,在录制Browser("互动交流平台 - Powered By BBSXP").Page("互动交流平台 - Powered By BBSXP").WebEdit("VerifyCode").Click时,就应该使用低级录制,录制成:Window("Microsoft Internet Explorer").WinObject("Internet Explorer_Server").Click 325,274
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    24#
    发表于 2009-7-29 16:20:34 | 只看该作者
    我实践了一下,运行时取出来的验证码竟然是负数,大家帮忙看一下!
    如图

    本帖子中包含更多资源

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

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    23#
    发表于 2009-7-29 15:50:39 | 只看该作者
    录制过程中,在“Automation”菜单中选择“模拟录制”或者“低级录制”
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    22#
    发表于 2009-7-29 15:43:25 | 只看该作者

    一个问题,

    怎么将录制方式改为低级录制?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    21#
    发表于 2009-7-29 15:09:44 | 只看该作者
    原帖由 lansemogu1985 于 2009-7-29 13:55 发表
    宋老师的文章我已经看过了,我用的是QTP9.0版本,text area  output  value功能我找不到,我以为这两者功能应该差不多。
    也许我做测试还不够格,但是我做测试合格不合格,我想跟讨论问题没什么关系。


    宋老师用的是QTP9.5的版本,他的文章里也写的非常清楚了,你用9.0取验证码是肯定取不到。
    另外他的文章里也说清楚了 如果用text  output  value会:它提示“Cannot Retrieve text for this object(无法从这种对象上获取文本)”!
      所以还是好好去看看原文吧。
    QTP9.0我没用过 是不是没有text area  output  value,我也无法妄下断言,不过你是不是。。。
       
      我可以保证按他的方法一定可以取到验证码,这点无需置疑。

    [ 本帖最后由 kings727 于 2009-7-29 15:14 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2009-7-29 13:55:46 | 只看该作者

    回复 19# 的帖子

    宋老师的文章我已经看过了,我用的是QTP9.0版本,text area  output  value功能我找不到,我以为这两者功能应该差不多。
    也许我做测试还不够格,但是我做测试合格不合格,我想跟讨论问题没什么关系。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2009-7-29 10:58:41 | 只看该作者
    原帖由 lansemogu1985 于 2009-7-29 09:54 发表
    我选择低级录制,我点击验证码的文本框,录制不了那个点击的动作,给验证图片插入text output value 弹出了错误对话框,不知道为什么,请各位指点!


      我想请你在去好好看看宋老师的那篇文章,那篇文章把原理和思路说的很清楚,人家明明说的是text area  output  value,作为测试你很不合格。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2009-7-29 10:39:39 | 只看该作者
    原帖由 helina168 于 2009-7-24 21:31 发表
    一头雾水,不知道各位为什么用低级录制呢?不是低级录制和模拟录制一般都不用的吗?我还没分清它们到底什么时候用呢,请教了!


    在适合的时候用适合的方式,只要可以解决你的问题就可以了。
    所以你也可以选择不用。
    我想楼主的意思是使脚本简单点。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2009-7-29 10:38:35 | 只看该作者
    原帖由 ls_721521 于 2009-7-23 16:07 发表
    Window("Microsoft Internet Explorer").WinObject("Internet Explorer_Server").Output CheckPoint("Internet Explorer_Server")
    低级录制后用了这个方法,但输出到excel里没有验证码这个值呀。怎么回事呢?

    脚本停止后,excel会消失,你应该去看测试报告。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2009-7-29 10:36:42 | 只看该作者
    原帖由 wuyuzimu 于 2009-7-17 17:15 发表
    根据前辈的提示,通过录制两个脚本来解决验证码的问题。
    后来我发现在录制的时候使用low level recording可以录制到windows对象,因此不需要录制两个脚本再使用“Call to Copy of Action”来加载另外一个录制了wind ...


    validation
    这个变量是不必要的,OUTPUT,你可以直接放到表里,然后输入的时候从表格里取值。
    我是鸡蛋里挑骨头。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2009-7-29 10:32:35 | 只看该作者
    其实就算按宋老的方法也不是就非要2个ACTION,在一个ACTION中也可以。
    1、先按WEB的方式录制
    2、在同一个ACTION   ,修改SET中的设置,使用VB的录制方式,录制完再改回来。
    3、其他都按宋老的方法,这样就不需要用到输入输出值了。
       onlonely这位朋友,你如果有兴趣,我们可以私下讨论下,我正好前段时间录制成功了。

    [ 本帖最后由 kings727 于 2009-7-29 10:40 编辑 ]
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-7 15:43 , Processed in 0.094069 second(s), 29 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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