51Testing软件测试论坛

标题: 对于非标准控件,对象识别为winobject,该如何通过描述性编程的方式去识别对象呢? [打印本页]

作者: suxinghe    时间: 2007-4-26 09:19
标题: 对于非标准控件,对象识别为winobject,该如何通过描述性编程的方式去识别对象呢?
如Flight Data控件,系统识别为winobject,不能正确识别,

想通过描述性编程的方式对该控件进行识别, 该如何做,谢谢
作者: suxinghe    时间: 2007-4-26 10:48
求高手回答下,3Q
作者: suxinghe    时间: 2007-4-26 14:35
??
作者: sidneylover    时间: 2007-4-26 15:05
怎么可能这个插件也不能识别,是不是VB插件没加载
可以用SPY看一下,看看有哪些属性,用来识别该对象的属性值不变且唯一,与其他控件的属性不会重复
作者: wssgily    时间: 2007-4-26 17:40
SPY
作者: hbycyf123    时间: 2012-4-22 22:38
遇到同样类似问题,VC大部分控件都无法识别,如何用描述性编程解决呢? 求解!
作者: hsjzfling    时间: 2012-4-22 23:01
基础知识:因为已加载插件中不包含当前控件而导致的不能识别问题,描述性编程并不能起到任何帮助。一般来说能正确识别对象类型才能用描述性编程
作者: hbycyf123    时间: 2012-4-23 21:03
谢谢 Kevin的回答, 所以类似下拉菜单的控件如果不能识别(VC控件),就不能获取控件信息,更不能模拟点击下拉菜单,选择下拉项目的动作;除了用模拟或低级录制方法。
作者: hsjzfling    时间: 2012-4-24 09:49
理论上是这样的,不过也不是完全没有办法,比如使用键盘模拟操作的方式,当然从对象识别的角度出发,我这里整理了三种方法可以解决这类问题。
1. 映射,将目标控件映射为基础类对象。在Object Identification中可以做对应设置。若目标对象继承了源class的属性和方法,一般用这个比较容易
2. 插件扩展,自定义插件来解决识别问题,不过该方案我还没有找到在Standard Window对象上的应用方法,在其它插件上有实践应用过。
3. 若该控件是独立DLL,则可以直接用Extern的方式来访问它,若不是独立则可以编写一个独立的DLL来封装该控件的常用方法,比如select, items, value等等,这种方法一般都能解决这类问题。
作者: niunjxtest    时间: 2012-4-24 10:14
。。。
作者: hbycyf123    时间: 2012-4-24 20:46
回复 9# hsjzfling


    谢谢 Kevin的回答,多我帮助很大,本来准备换其他工具了,看来QTP还是可以实现,我用过虚拟对象,其他难度较大,准备努力研究下!




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2