求助一个简单的描述性编程的问题
最近学习描述性编程,录制了QTP自带程序的一段脚本。脚本中的对象在对象库里都存在,但是if - else那块,如果用被注释掉的描述性编程就会保存,识别不了对象。请问是怎么回事?就是先点击help,然后判断这个help的dialog存不存在。如果存在,就输入用户名、密码后登陆。登陆后,点击关闭按钮就结束这段脚本的录制了。
但是我把判断这个help的dialog存不存在的代码换成描述性的编程,就会报对象无法识别的问题。请大家帮我看看,问题出在哪儿?谢谢了~~
Dialog("Login").WinButton("Help").Click
If Dialog("Login").Dialog("Flight Reservations").Exist Then
Dialog("Login").Dialog("Flight Reservations").WinButton("确定").Click
End If
'If Dialog("text:=Login").Dialog("text:=Flight Reservations").Exist Then
'Dialog("text:=Login").Dialog("text:=Flight Reservations").WinButton("text := 确定").Click
'End If
Dialog("Login").WinEdit("Agent Name:").Set "admin"
Dialog("Login").WinEdit("Password:").SetSecure "4b4ac8599016e03d9d9c0ea18f4444bf421b6eb7"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").Close
以上是录制的脚步,这样执行时没问题。
如果将注释的那段if - else启用,就会出错。
[ 本帖最后由 不想继续点点点 于 2010-1-11 16:08 编辑 ] 后续强迫症吧,从使用了描述性编程的地方起后面的对象都要用描述性编程
回复 2# 的帖子
从代码上看没啥问题是不是给的属性有问题
LZ可以把对象的属性图贴出来看下 谢谢两位回复
1. 首先,我将从if - else以后的脚步,都用了描述性编程。但是还是执行不了脚步。
走到Dialog("text:=Login").Dialog("text:=Flight Reservations").WinButton("text := 确定").Click ,这句是保错。
2. 接着我用Exist ,来检查对象。
Msgbox Dialog("text:=Login").Exist
Msgbox Dialog("text:=Login").Dialog("text:=Flight Reservations").Exist
Msgbox Dialog("text:=Login").Dialog("text:=Flight Reservations").WinButton("text := 确定").Exist --->走到此句时,信息框提示“False”报错。
lantianwei,属性图马上就贴出来。请大家继续帮我看看问题出在哪儿。
[ 本帖最后由 不想继续点点点 于 2010-1-11 16:59 编辑 ]
回复 5# 的帖子
检查WinButton("text := 确定)的对象属性此处有问题 我修改了以下的脚本,为winButton有加了一对属性。但是对象还是识别不了。(加属性时,我同时也在tool-Object Identification为WinButton默认属性中,增加了attached text。)Dialog("text:=Login").Dialog("text:=Flight Reservations").WinButton("attached text := The password is 'MERCURY'","nativeclass:=Button","text := 确定").Click 把 确定 的属性图贴出来看下 确定按钮在对象库中的属性 估计是这个描述性编程找出来的对象不唯一,建议你用childOBJECT来检查下,是不是有多个对象 小狐狸如如,Dialog("text:=Flight Reservations")里面只有一个WinButton("text := 确定")的对象的 操作图示:
我脚本这样的试了下没问题
Dialog("text:=Login").ActivateDialog("text:=Login").WinButton("text:=Help").Click
If Dialog("text:=Login").Dialog("text:=Flight Reservations").Exist Then
Dialog("text:=Login").Dialog("text:=Flight Reservations").WinButton("text:=确定").Click
End If
Dialog("text:=Login").WinEdit("attached text:=Agent Name:").Set "mercury"
Dialog("text:=Login").WinEdit("attached text:=Password:").SetSecure "4b4be9f45d5c2a42c42db48ebc1102efefbbcc25"
Dialog("text:=Login").WinButton("text:=OK").Click 谢谢鱼儿,
我上午也将脚本从头到尾都用的描述性编程改了。脚本和你的一样,运行的确没问题了。
页:
[1]