Dialog("Login").WinEdit("Password:").SetSecure "45a1e193f9dac3bf91f3ba7c
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").Close
对应的对象库,如图:
然后我们把对象库中,这些对象的属性及属性值从对象库搬到脚本中,代码修改成为:
Dialog("text:=Login").WinEdit("attached text:=Agent Name:").Set "Cheers_Lee"
Dialog("text:=Login").WinEdit("attached text:=Password:").SetSecure "4414d23c42046da1ea3a895f
Dialog("text:=Login").WinButton("text:=OK").Click
Window("regexpwndtitle:=Flight Reservation").close
把对象库中对象删除掉,如下图:
再来执行脚本,QTP执行成功.这就是描述性编程.当然值得注意的是,如果父对象用描述性编程表示了,那么后面的对象都要用描述性编程表示了.如:
Dialog("text:=Login").WinEdit("attached text:=Agent Name:").Set "mercury"
这边Dialog("text:=Login")用描述性编程表示了,那么WinEdit("attached text:=Agent Name:")就必须要描述性编程表示了.因为在对象库中,子对象是依靠父对象存在的.所以如果Dialog("text:=Login")这个父对象从 对象库中删除了,那么后面的子对象也同时被删除了.反过来子对象删除就不影响父对象.所以子对象可以单独用描述性编程表示,而不需牵连其他对象.
注意:蓝色标记出来的是Object Repository(对象库)中对象的属性类型名称。如下图:红色区域所示。