51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2572|回复: 6
打印 上一主题 下一主题

[原创] 每日一问(2012-09-21)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-9-21 12:32:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1。环境.net 3.5 工具qtp11
2.程序为.net写的window程序(在一个window中嵌入了一张从网络下载的地图)
3.如何去识别这个地图对象(网上有高人说:用注册异类子控件强制注入开启HOOK ,我已经使用了没有用)
4.附鉴定属性(识别为WinObject)
"Class Name:=WinObject",
"abs_x:=188",
"abs_y:=167",
"attached text:=",
"enabled:=True",
"focused:=False",
"hashscroll:=False",
"hasvscroll:=False",
"height:=557",
"hscrollpagesize:=",
"hscrollposition:=",
"hwnd:=3475878",
"leftscrollbar:=False",
"maxhscrollpos:=",
"maxvscrollpos:=",
"minhscrollpos:=",
"minvscrollpos:=",
"nativeclass:=TTRTMap",
"object class:=TTRTMap",
"regexpwndclass:=TTRTMap",
"regexpwndtitle:=",
"rightaligned:=False",
"righttoleftlayout:=False",
"righttoleftreading:=False",
"text:=",
"va_name:=",
"visible:=True",
"vscrollpagesize:=",
"vscrollposition:=",
"width:=1250",
"window id:=3475878",
"windowextendedstyle:=65536",
"windowstyle:=1442840576",
"x:=191",
"y:=170"
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2012-9-21 13:26:58 | 只看该作者
无人能解?????!!自己先顶一下
回复 支持 反对

使用道具 举报

  • TA的每日心情
    无聊
    3 天前
  • 签到天数: 1050 天

    连续签到: 1 天

    [LV.10]测试总司令

    3#
    发表于 2012-9-21 13:28:09 | 只看该作者
    帮顶下吧!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2012-9-23 14:26:39 | 只看该作者
    如果是winform程序,你选择.net插件,在qtp里有个专门针对.net的 spy可以识别到.net 的winform对象,
    或者可以试试加载wpf插件看看
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2012-9-23 14:54:16 | 只看该作者
    回复 2# haoainics1


        开始识别前我就已经加载了。net插件和WPF还是识别成了WINDOWOBJECT
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2012-9-23 14:54:53 | 只看该作者
    求解决!~~~~无人能解???自己在顶下
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2012-9-23 15:22:18 | 只看该作者
    本帖最后由 xjwldlover 于 2012-9-23 15:31 编辑

    "用注册异类子控件强制注入开启HOOK"
    你问一下开发人员嵌入的地图是使用什么编写的,给QTP加入相应的控件,假设是XCTROL。然后将你的应用程序注入到XCTROL的 HOOK中。这样重新识别时地图应该可以被识别成XCTROL控件。
    如果你之前也是这么试验的,那这个方式可能就不适合~
    ****************************************
    假设内嵌的地图控件是.net的WbfTreeView的变种(类型属性被修改过)TTRTMap,那新定义一个控件类型WbfTTRTMap,继承WbfTreeView对象,修改强制识别属性与TTRTMap一致。这样你在重新识别时,应该可以识别地图对象为WbfTTRTMap,并可以使用WbfTreeView的方法和属性。

    我没有亲试这个方法,感觉内嵌对象的识别方式应该是大同小异,希望对LZ有帮助,如有错误,请各位指正~
    *********维护对象类型参见 CreateUserDefinedObject Method
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-24 18:55 , Processed in 0.081397 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表