标题: 关于QTP描述性编程不能识别到JavaButton的问题 [打印本页] 作者: 风自飘然 时间: 2012-8-21 17:21 标题: 关于QTP描述性编程不能识别到JavaButton的问题 在使用QTP的过程中出现了不能描述性编程操作JavaButton的问题,具体情形如下:
1、QTP的Object Spy可识别JavaButton组件并可正确将其添加入对象库。
2、使用描述性编程可正确操作JavaMenu却不能操作JavaButton。相关代码如下:
Public Function openEditPanel(windowTitle,openMode)
If openMode="menu" Then
JavaWindow("title:="&windowTitle).JavaMenu("label:=操作").JavaMenu("label:=修改").Select
elseif openMode="toolbar" Then
JavaWindow("title:="&windowTitle).JavaButton("label:=edit").Click
End If
End Function
3、报错如下。Cannot identify the object "[ JavaButton ]" (of class JavaButton). Verify that this object's properties match an object currently displayed in your application.
我另外试了下,应该是JToolBar的问题,把这个按钮从JToolBar中拿出来直接放到JPanel里就没事了,上面的语句可以正常运行,但是一旦放回JToolBar就又识别不了(仅仅是描述性编程识别不了,对象库没有问题)。会报错:Cannot identify the object "[ JavaButton ]" (of class JavaButton). Verify that this object's properties match an object currently displayed in your application.
如果有可能试着从这点入手吧。这方面的资料真的不多,大家一起探讨下吧~
另:我的界面没有用美化工具,全部都是Java Swing 做出来的。作者: xjwldlover 时间: 2012-8-22 19:19
明白了,您看我这样解释对不对。如果对象库存在
browser().Page().Frame().Button(),你可以修改对象库,将button放到Page下,这时QTP识别页面对象不管该对象在对象库中的层级关系,QTP会遍历整个页面;但是如果使用描述性编程把Button放到Page下,这时QTP找Button对象就是根据你描述性的路径来找,找到Page下后不会再找Frame下的子节点,就找不到对象了。作者: 风自飘然 时间: 2012-8-23 11:08 回复 6#xjwldlover