51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4659|回复: 7
打印 上一主题 下一主题

[原创] 为什么QTP把c#开发的button, textbox 控件识别为winobject

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-6-13 09:49:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为什么QTP把c#开发的button, textbox 控件识别为winobject,而不是winbutton或者winedit, 可以通过修改被测程序解决问题吗? 如果是的话,怎么改?, 也就是获取不到nativeclass的值, 只能拿到regexpwndclass的值类似WindowsForms10.Window.8.app9.

[ 本帖最后由 marshall169 于 2008-6-13 09:58 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2008-6-13 15:31:33 | 只看该作者

自己顶一下

自己顶一下. 就是简单的以C#写的Form. QTP对c++写的button, tree都能识别。 但对c#写的好像只能识别成winobject.
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-6-13 15:36:12 | 只看该作者
因为QTP默认支持C++,而C#需要.net插件
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-6-13 16:10:55 | 只看该作者
装了.net插件还是一样的结果。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-6-24 11:19:52 | 只看该作者
如果安装正确应该会识别为.net控件的,你可以自己在vsnet中建立一个只有一个标准button和textbox的窗体实验一下,如果识别的还是winobject就是add-in没装成功。

也有可能你AUT中的控件并不是标准的.net控件,事实上大多数都不是,开发人员很多情况下会用第三方的UI插件或者自己定义一些控件,对于这种情况,简单的控件可以简单的mapping到QTP的标准控件,对于一些复杂的不适合映射的或者映射了以后不能测试到一些特有功能的,你只有自己在.net开发环境里面写一些方法放在dll当中,让QTP把你写的方法注入到AUT的进程里,这样在QTP里面就可以用到你写的方法来测试了,也可以正确识别所有的控件了。具体做法你可以参考QTP .net add-in 的帮助。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-6-24 16:37:57 | 只看该作者
1:button的话可以使用模拟录制的方式解决,应为毕竟只是一个按钮事件

2:可以通过映射方式把对象映射成标准控键进行操作
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2011-9-6 11:07:10 | 只看该作者
我也遇到这个问题啊,我还是正版的QTP10呢,.net插件也安装了license了啊
回复 支持 反对

使用道具 举报

  • TA的每日心情
    慵懒
    2016-5-17 09:06
  • 签到天数: 12 天

    连续签到: 1 天

    [LV.3]测试连长

    8#
    发表于 2016-4-5 08:44:31 | 只看该作者
    我跟楼主遇到的问题是一样的 .NET插件已经破解安装并在启动QTP的时候已经启动.NET插件,对象侦测仍未WINOBJECT。
    陈年老帖有大神帮忙解决下吗
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-26 22:06 , Processed in 0.076917 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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