jix11 发表于 2014-8-11 16:55:22

修改录制脚本为描述性编程后脚本回放不执行

录制一段脚本,回放是正常的,把该脚本修改为描述性编程的形式,在回放就回放不了了,也没有报错,就是不执行,脚本如下:

Dialog("Regexpwnditle:=Login").WinEdit("attached text:=Agent Name:").Set"mercury"
Dialog("Regexpwnditle:=Login").WinEdit("attached text:=Password:").SetSecure "53e4aec622a04837cebf359d396be9ab69b38533"
Dialog("Regexpwnditle:=Login").WinButton("OK").Click
Window("Regexpwnditle:=Flight Reservation").ActiveX("MaskEdBox").Click 9,8
Window("Regexpwnditle:=Flight Reservation").ActiveX("MaskEdBox").Type "2011"
Window("Regexpwnditle:=Flight Reservation").Close

脚本应该是没问题的,谁给解释下,为什么,先谢谢了

jix11 发表于 2014-8-11 16:57:41

QTP版本是QTP10

lsekfe 发表于 2014-8-11 17:09:32

QTP版本是QTP10
jix11 发表于 2014-8-11 16:57 http://bbs.51testing.com/images/common/back.gif


    http://bbs.51testing.com/viewthread.php?tid=881708&highlight=%C3%E8%CA%F6%D0%D4%B1%E0%B3%CC 这个链接你看下吧~~

jix11 发表于 2014-8-11 17:34:27

回复 3# lsekfe


这个是另一种Description描述性编程的方法,我用的初级描述性编程,在书上看代码这段应该可以执行的,我就郁闷我的为什么不能执行。想知道哪里出了问题

Shawn_xiao 发表于 2014-8-12 13:36:26

本帖最后由 Shawn_xiao 于 2014-8-12 14:09 编辑

1.确定属性的名和值都写对. Regexpwnditle
2.在上一层对象使用描述性后下一层对象必须同为描述性. Dialog("Regexpwnditle:=Login").WinButton("OK").Click
3.尽量避免这种描述性编程,检查错误很困难。也可以尝试Description Object4.不能完全照搬书上,很多有印刷错误

jix11 发表于 2014-8-12 18:22:49

回复 5# Shawn_xiao

现在是没有报错,回放的运行的时候就不动了,我有用Description方法执行成功了。就是这种方法不成功又不知道原因在哪,很是郁闷

Shawn_xiao 发表于 2014-8-13 09:54:17

回复 6# jix11


    请仔细看我的上面的回帖 谢谢

jix11 发表于 2014-8-13 18:43:12

回复 7# Shawn_xiao

谢谢找到一个问题,修改脚本后还是不能运行
Dialog("Regexpwnditle:=Login").WinEdit("attached text:=Agent Name:").Set"mercury"
Dialog("Regexpwnditle:=Login").WinEdit("attached text:=Password:").SetSecure "53e4aec622a04837cebf359d396be9ab69b38533"
Dialog("Regexpwnditle:=Login").WinButton("Class Name:=WinButton","text:=OK").Click
Window("Regexpwnditle:=Flight Reservation").ActiveX("MaskEdBox").Click 9,8
Window("Regexpwnditle:=Flight Reservation").ActiveX("MaskEdBox").Type "2011"
Window("Regexpwnditle:=Flight Reservation").Close
    运行到第一行就不运行了

jix11 发表于 2014-8-13 18:46:04

回复 7# Shawn_xiao

运行后脚本报错
    Cannot find the "[ WinEdit ]" object's parent "[ Dialog ]" (class Dialog). Verify that parent properties match an object currently displayed in your application.

Line (45): "Dialog("Regexpwnditle:=Login").WinEdit("attached text:=Agent Name:").Set"mercury"".

Tip: If the objects in your application have changed, the Maintenance Run Mode can
help you identify and update your steps and/or the objects in your repository.

我把对象库里面录制的对象都删除了不知道受不受影响

Shawn_xiao 发表于 2014-8-14 11:10:49

你这也算是奇葩了:一个回帖就说了第一, 你属性写错了,有Regexpwnditle属性?,第二,在上一层对象使用描述性后下一层对象必须同为描述性。Window("Regexpwnditle:=Flight Reservation").ActiveX("MaskEdBox").Click 9,8这种写法错误,第三,尽量避免这种描述性编程,检查错误很困难

TinaGao1219 发表于 2014-10-9 14:47:19

jix11 发表于 2014-8-13 18:46
回复 7# Shawn_xiao

运行后脚本报错


因为("attached text:=Agent Name:")不能唯一的识别出这个field, 你把这个页面所有的对象加到对象库就会发现, 不止一个对象是"attached text:=Agent Name:"
页: [1]
查看完整版本: 修改录制脚本为描述性编程后脚本回放不执行