51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 10533|回复: 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空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-7-17 17:22:21 | 只看该作者
没明白。。。
验证码是随机产生的,你只是从datatable中获取的字符串能行吗?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-7-17 18:04:14 | 只看该作者
原帖由 ls_721521 于 2009-7-17 17:22 发表
没明白。。。
验证码是随机产生的,你只是从datatable中获取的字符串能行吗?

哦,这个是根据QTP的text recognition mechanisms来实现的。详细的我没说清楚,不好意思。。。。
songfun大侠写的http://bbs.51testing.com/thread-129864-1-1.html
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-7-17 18:17:51 | 只看该作者
哦,,下班了。。
周一来的时候看看。。呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2009-7-17 22:19:06 | 只看该作者
Window("Microsoft Internet Explorer").WinObject("Internet Explorer_Server").Output CheckPoint("Internet Explorer_Server")

就我实验来看,低级录制的对象无法插入,text output的,
能再详细点的说明下怎么插入这个output么,
就这一步无法做到了.
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-7-19 10:45:29 | 只看该作者
低级别录制也是解决的方案之一,这个我在上课的时候也讲过,呵呵。
方法很多,很灵活,看你怎么用。
原帖由 wuyuzimu 于 2009-7-17 17:15 发表
根据前辈的提示,通过录制两个脚本来解决验证码的问题。
后来我发现在录制的时候使用low level recording可以录制到windows对象,因此不需要录制两个脚本再使用“Call to Copy of Action”来加载另外一个录制了wind ...
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2009-7-20 10:06:28 | 只看该作者
原帖由 onlonely 于 2009-7-17 22:19 发表
Window("Microsoft Internet Explorer").WinObject("Internet Explorer_Server").Output CheckPoint("Internet Explorer_Server")

就我实验来看,低级录制的对象无法插入,text output的,
能再详细点的说明下怎么插 ...

应该是Text Area Output吧,这个行的哦,就是在低级录制的时候正常进行的,没有特殊步骤。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2009-7-20 10:07:33 | 只看该作者
原帖由 songfun 于 2009-7-19 10:45 发表
低级别录制也是解决的方案之一,这个我在上课的时候也讲过,呵呵。
方法很多,很灵活,看你怎么用。

回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2009-7-23 16:07:18 | 只看该作者
Window("Microsoft Internet Explorer").WinObject("Internet Explorer_Server").Output CheckPoint("Internet Explorer_Server")
低级录制后用了这个方法,但输出到excel里没有验证码这个值呀。怎么回事呢?
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2009-7-23 16:11:37 | 只看该作者
Output的方法怎么用?
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2009-7-24 12:26:20 | 只看该作者
明白了,谢谢!非常感谢!
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2009-7-24 21:31:47 | 只看该作者
一头雾水,不知道各位为什么用低级录制呢?不是低级录制和模拟录制一般都不用的吗?我还没分清它们到底什么时候用呢,请教了!
回复 支持 反对

使用道具 举报

该用户从未签到

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

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2009-7-29 10:05:40 | 只看该作者
Window("Microsoft Internet Explorer").WinObject("Internet Explorer_Server").Click 132,172
这一句我怎么录制不到呢?我已经是低级录制了呀。
回复 支持 反对

使用道具 举报

该用户从未签到

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

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

使用道具 举报

该用户从未签到

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,你可以直接放到表里,然后输入的时候从表格里取值。
我是鸡蛋里挑骨头。
回复 支持 反对

使用道具 举报

该用户从未签到

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会消失,你应该去看测试报告。
回复 支持 反对

使用道具 举报

该用户从未签到

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


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

使用道具 举报

该用户从未签到

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


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

使用道具 举报

该用户从未签到

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

回复 19# 的帖子

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

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-28 08:19 , Processed in 0.102896 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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