wuyuzimu 发表于 2009-7-17 17:15:14

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

根据前辈的提示,通过录制两个脚本来解决验证码的问题。
后来我发现在录制的时候使用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").Setvalidation
Browser("XXXXXX").Page("XXXXXX").Image("dl").Click 60,10
Browser("XXXXXX").Page("XXXXXX").Sync
Browser("XXXXXX").Close

ls_721521 发表于 2009-7-17 17:22:21

没明白。。。
验证码是随机产生的,你只是从datatable中获取的字符串能行吗?

wuyuzimu 发表于 2009-7-17 18:04:14

原帖由 ls_721521 于 2009-7-17 17:22 发表 http://bbs.51testing.com/images/common/back.gif
没明白。。。
验证码是随机产生的,你只是从datatable中获取的字符串能行吗?
哦,这个是根据QTP的text recognition mechanisms来实现的。详细的我没说清楚,不好意思。。。。:loveliness:
songfun大侠写的http://bbs.51testing.com/thread-129864-1-1.html。

ls_721521 发表于 2009-7-17 18:17:51

哦,,下班了。。
周一来的时候看看。。呵呵

onlonely 发表于 2009-7-17 22:19:06

Window("Microsoft Internet Explorer").WinObject("Internet Explorer_Server").Output CheckPoint("Internet Explorer_Server")

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

songfun 发表于 2009-7-19 10:45:29

低级别录制也是解决的方案之一,这个我在上课的时候也讲过,呵呵。
方法很多,很灵活,看你怎么用。
原帖由 wuyuzimu 于 2009-7-17 17:15 发表 http://bbs.51testing.com/images/common/back.gif
根据前辈的提示,通过录制两个脚本来解决验证码的问题。
后来我发现在录制的时候使用low level recording可以录制到windows对象,因此不需要录制两个脚本再使用“Call to Copy of Action”来加载另外一个录制了wind ...

wuyuzimu 发表于 2009-7-20 10:06:28

原帖由 onlonely 于 2009-7-17 22:19 发表 http://bbs.51testing.com/images/common/back.gif
Window("Microsoft Internet Explorer").WinObject("Internet Explorer_Server").Output CheckPoint("Internet Explorer_Server")

就我实验来看,低级录制的对象无法插入,text output的,
能再详细点的说明下怎么插 ...
应该是Text Area Output吧,这个行的哦,就是在低级录制的时候正常进行的,没有特殊步骤。

wuyuzimu 发表于 2009-7-20 10:07:33

原帖由 songfun 于 2009-7-19 10:45 发表 http://bbs.51testing.com/images/common/back.gif
低级别录制也是解决的方案之一,这个我在上课的时候也讲过,呵呵。
方法很多,很灵活,看你怎么用。

:victory:

ls_721521 发表于 2009-7-23 16:07:18

Window("Microsoft Internet Explorer").WinObject("Internet Explorer_Server").Output CheckPoint("Internet Explorer_Server")
低级录制后用了这个方法,但输出到excel里没有验证码这个值呀。怎么回事呢?

ls_721521 发表于 2009-7-23 16:11:37

Output的方法怎么用?

sunhope800 发表于 2009-7-24 12:26:20

明白了,谢谢!非常感谢!:handshake

helina168 发表于 2009-7-24 21:31:47

一头雾水,不知道各位为什么用低级录制呢?不是低级录制和模拟录制一般都不用的吗?我还没分清它们到底什么时候用呢,请教了!

lansemogu1985 发表于 2009-7-29 09:54:51

我选择低级录制,我点击验证码的文本框,录制不了那个点击的动作,给验证图片插入text output value 弹出了错误对话框,不知道为什么,请各位指点!

lansemogu1985 发表于 2009-7-29 10:05:40

Window("Microsoft Internet Explorer").WinObject("Internet Explorer_Server").Click 132,172
这一句我怎么录制不到呢?我已经是低级录制了呀。

kings727 发表于 2009-7-29 10:32:35

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

[ 本帖最后由 kings727 于 2009-7-29 10:40 编辑 ]

kings727 发表于 2009-7-29 10:36:42

原帖由 wuyuzimu 于 2009-7-17 17:15 发表 http://bbs.51testing.com/images/common/back.gif
根据前辈的提示,通过录制两个脚本来解决验证码的问题。
后来我发现在录制的时候使用low level recording可以录制到windows对象,因此不需要录制两个脚本再使用“Call to Copy of Action”来加载另外一个录制了wind ...

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

kings727 发表于 2009-7-29 10:38:35

原帖由 ls_721521 于 2009-7-23 16:07 发表 http://bbs.51testing.com/images/common/back.gif
Window("Microsoft Internet Explorer").WinObject("Internet Explorer_Server").Output CheckPoint("Internet Explorer_Server")
低级录制后用了这个方法,但输出到excel里没有验证码这个值呀。怎么回事呢?
脚本停止后,excel会消失,你应该去看测试报告。

kings727 发表于 2009-7-29 10:39:39

原帖由 helina168 于 2009-7-24 21:31 发表 http://bbs.51testing.com/images/common/back.gif
一头雾水,不知道各位为什么用低级录制呢?不是低级录制和模拟录制一般都不用的吗?我还没分清它们到底什么时候用呢,请教了!

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

kings727 发表于 2009-7-29 10:58:41

原帖由 lansemogu1985 于 2009-7-29 09:54 发表 http://bbs.51testing.com/images/common/back.gif
我选择低级录制,我点击验证码的文本框,录制不了那个点击的动作,给验证图片插入text output value 弹出了错误对话框,不知道为什么,请各位指点!

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

lansemogu1985 发表于 2009-7-29 13:55:46

回复 19# 的帖子

宋老师的文章我已经看过了,我用的是QTP9.0版本,text areaoutputvalue功能我找不到,我以为这两者功能应该差不多。
也许我做测试还不够格,但是我做测试合格不合格,我想跟讨论问题没什么关系。
页: [1] 2
查看完整版本: 结合Low Level Recording录制一个脚本即可解决验证码问题