ERIC0301 发表于 2008-9-9 17:21:16

关于qtp 虚拟对象与描述性编程的问题

各位XDJM,qtp 能不能对虚拟对象进行描述性编程?
另外此次主要是无法用描述性编程来写 DELPHI的日期控件 对象,才想到用虚拟对象,但发现还是有点问题,大家有没有什么好的建议

lantianwei 发表于 2008-9-10 10:23:11

既然用到了虚拟对象(VO) 就没有必要用DP了
可以用DP,就根本没有必要用VO
日期控件可以强制写值:object.value="你的值"

ERIC0301 发表于 2008-9-10 11:36:39

录的脚本为:
Browser("自动化测试系统").Page("自动化测试系统_2").Frame("ccms_operate_iframe").ActiveX("DateTimeEditX Control").WinObject("2008-09-09").Type "20081111"
请问这个是怎么赋值,这个与普通的文本框不一样,这个是OCX控件,另楼上有没有QQ我加你下

lantianwei 发表于 2008-9-10 11:39:46

Browser("自动化测试系统").Page("自动化测试系统_2").Frame("ccms_operate_iframe").ActiveX("DateTimeEditX Control").WinObject("2008-09-09").object.value= "20081111"
have a try, my QQ is 236835793, but i am always off-line before 9PM

[ 本帖最后由 lantianwei 于 2008-9-10 11:42 编辑 ]

假装不在 发表于 2008-9-10 11:53:06

原帖由 lantianwei 于 2008-9-10 10:23 发表 http://bbs.51testing.com/images/common/back.gif
既然用到了虚拟对象(VO) 就没有必要用DP了
可以用DP,就根本没有必要用VO
日期控件可以强制写值:object.value="你的值"
:lol
很精辟的回答

我估计是楼主想要把虚拟出来的对象用非录制的方法写出来。

ERIC0301 发表于 2008-9-10 14:16:33

呵呵,是的,发现虚拟对象不好用,太个性了,还是要用描述性编程
Browser("自动化测试系统").Page("自动化测试系统").Frame("ccms_operate_iframe").ActiveX("DateTimeEditX Control_2").WinObject("2008-09-10").Click '61,4
Browser("自动化测试系统").Page("自动化测试系统").Frame("ccms_operate_iframe").ActiveX("DateTimeEditX Control_2").WinObject("2008-09-10").Type micShiftDwn +micHome+ micShiftUp
Browser("自动化测试系统").Page("自动化测试系统").Frame("ccms_operate_iframe").ActiveX("DateTimeEditX Control_2").WinObject("2008-09-10").Type "20081112"
这个是如何描述性编程,发现一描述性就报错,用object.value提示 对象不支持此属性或方法
Browser("title:=自动化测试系统").Page("title:=自动化测试系统").Frame("name:=ccms_operate_iframe").ActiveX("progid:=DateTimeEdit.DateTimeEditX").WinObject("regexpwndclass:=TwwDBDateTimePicker").object.value "20081112"

lantianwei 发表于 2008-9-10 15:00:36

因为是WIN对象,所以导致直接附值会失败
解决方法:
A. 找到唯一属性
B. 键盘模拟

ERIC0301 发表于 2008-9-12 10:04:59

哈,问题终于搞定了,惟一值是个不错的途径
页: [1]
查看完整版本: 关于qtp 虚拟对象与描述性编程的问题