outoflife_2006 发表于 2017-2-8 09:10:41

qtp录制java写的客户端程序,有一个javawindows对象找不到唯一属性

本帖最后由 outoflife_2006 于 2017-2-8 09:21 编辑

qtp录制java程序识别到javawindow对象,名称为Shell,无法确认其唯一属性值,页面有很多个shell,第一个对象是shell,第二个是shell_1,第三个是shell_2...

想问一下各位大侠,qtp录制的对象都一定有一个唯一的属性吗?
我尝试过正则表达式,用描述性变成语言不行。
FormName="Shell*"
JavaWindow("ABIS Expert Studio").JavaWindow("tagname:="&FormName).JavaObject("tagname:=WindowMenuItem","index:=4").Click "57","7"
也尝试过用tagname属性和index属性,也不行
JavaWindow("ABIS Expert Studio").JavaWindow("tagname:=Shell","index:=0").JavaObject("tagname:=WindowMenuItem","index:=4").Click "57","7"
还尝试过智能识别,也不行
尝试模拟录制和低级别录制,都不行
目前想法是跟研发讨论一下,看能不能加一个唯一属性在代码里,这样录制的时候是不是就能有唯一属性了?
http://bbs.51testing.com/forum.php?mod=image&aid=104335&size=300x300&key=8c5519bedd0e2028&nocache=yes&type=fixnone
下拉菜单Shell
http://bbs.51testing.com/forum.php?mod=image&aid=104336&size=300x300&key=cc48138b248d09ab&nocache=yes&type=fixnone
下拉选择框Shell
http://bbs.51testing.com/forum.php?mod=image&aid=104337&size=300x300&key=14e2b6bdf8f6b4b8&nocache=yes&type=fixnone
弹出窗体Shell

Shell属性,添加的属性都是空的,不明白为什么

Shell_2属性,可添加的属性里找不到能唯一确认的



file:///C:/Users/Administrator/AppData/Local/YNote/data/sufen9946@163.com/58ce820b6fcd4402a0510176b8b5038b/clipboard.png

jingzizx 发表于 2017-2-9 14:36:56

如果为了区分不同对象,道理上肯定有属性不同的地方,QTP才能识别的

outoflife_2006 发表于 2017-2-10 13:52:44

jingzizx 发表于 2017-2-9 14:36
如果为了区分不同对象,道理上肯定有属性不同的地方,QTP才能识别的

这些Shell对象不是页面固定的,比如下拉菜单,都是点击了菜单项才会出现的,qtp第一次识别Shell对象,他认为就只有这一个Shell,通过名字就可以唯一区分,所以也不给index.等到下次,在点击其他菜单,出现下拉菜单的时候,qtp才开始给index值,所以像这种非页面固定元素的识别,版主有没有什么好的建议?
我现在跟研发商量的是,他在程序里帮我家一个ID,每个动态生成的对象ID都不同,目前还不知道程序的这个ID,qtp能不能捕捉成这个对象的属性.
非常感谢版主的回复,祝17年一切顺利!!!

sunnysnow416 发表于 2017-2-15 10:07:00

可以使用描述性编程
页: [1]
查看完整版本: qtp录制java写的客户端程序,有一个javawindows对象找不到唯一属性