- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
WPF控件识别方法,wpf自定义控件,wpf控件,wpf时间控件,wpf表格控件,wpfchart控件,wpf动态添加控件,wpf时间选择控件,wpf用户控件,wpf日期时间控件
WPF控件识别方法
QTP对于一些.Net开发的WPF自定义控件, 有时无法直接识别, 需要特殊定制才可以实现对被测对象的操作. 本文档主要介绍了QTP识别此类控件的原理和方法, 由于网络上没有WPF对象的实例, 所以本文的举例使用WinForm的程序做例子讲解, 同为.Net Framework的一部分, 识别控件的原理是一样的.
插件选择及对象探测
由于微软的控件的外观、功能不是很丰富, 所以很多项目的对象采用了第三方控件或者在原有控件的基础上进行自定义封装, 这也是QTP的.net插件对它们的识别存在一定的局限性的主要原因.
而面对这些控件, 我们需要做的第一件事情就是先获取这个控件的信息. 我们使用的是QTP的SPY功能去获取这个控件的信息. HP在10月初发布了最新的QTP补丁, 在识别WPF控件之前需要在本机安装.Net Framework 3.5 SP1和QTP补丁QTPWEB_00045.zip (下载地址: /selfsolve/document/FID/DOCUMENTUM_QTPWEB_00045) , 在QTP启动的时候需要选择的Add-in, 包括: .Net, Web(选择.Net插件必须选择Web), WPF. 如下图:
在QTP窗口界面点击Spy图标, 打开Spy工具, 抓取WPF对象之后, 会有一个树形图出现, 最上层为窗体对象wpfWindow, 最下层为抓取的对象, 捕获该对象以后我们可以获取到的这个控件包括“devname”, “wpftypename”等信息. 而我们这里主要获取这个控件的“wpftypename”. 通过这个值, 我们可以确定这个控件到底是什么控件. 有了这个信息, 接下来就是找到这个控件到底有哪些属性和方法可以被使用了. 下图以WinForm程序为例展示了对象的树形结构:
控件的内置属性与方法
使用这些控件的方法和属性很简单, 只要我们添加这个对象进去对象库, 而每次透过对象 .Object 就可以查看到罗列出的一些公共的对象方法与属性. 如下图:
而实际上也有一部分不能添加到对象库中的对象, 我们需要另做处理, 后面将再做介绍.
如何获取控件的属性和方法
最开始我们通过Spy工具来查看控件是哪家公司或者是什么类型的目的, 是因为我们透过它可以去查找到跟多关于这个控件的API, 然后调用它去实现自动化. 在这里给提供3个方法:
我们在本地的客户端文件中, 可以找到相关的插件DLL, 而我们也可以使用工具去打开它们, 查看它支持的或者继承的方法与属性. 例如: HP Extensibility Accelerator这款工具(QTP升级包中自带程序);
如上图, 我们查询到了DataGridView这个对象支持的方法和属性, 如:RowCount属性,这样的话, 我们就可以通过这个属性来确定DataGridView这个对象中包含有多少行数据, 便于我们对数据进行验证或操作.
实际用法举例:
Msgbox WpfWindow( ).WpfObject( ).Object.RowCount
注意:
如果QTP可以识别被测控件但是方法或属性不全的情况, 可以直接抓取对象,然后使用.Object调用被测控件本身的方法和属性;
如果QTP无法识别被测控件时, 需要抓取该控件源代码中定义的父对象,然后通过子对象找到该被测对象后才能调用被测控件本身的方法和属性.
使用QTP的SPY功能, 这个就比较直接与快捷, 可以在RunTime Object这栏中,
看到它的属性与支持的方法. 但这个SPY的工具有它自身的局限性, 这个也是由于QTP控件识别的问题引致的, 某些控件如果识别不到, 就只能抓取到最近一个能识别到的Parent层对象.
通过QTP中.Net插件带的工具, Tools菜单下的.Net Windows Forms Spy. 这个工具和上面的SYP差不多, 但它比SYP工具好的地方就是它能够查询到它包含的子控件, 或者说, 它能省去你代码调试与对象查找的时间. 例如一个NavBarControl对象中存在的Link对象, 但QTP能够识别到的对象只到了NavBarControl这一层. 如果初次接触你完全弄不懂这个控件下面的这些东西是什么, 如何获取到. 而当你利用这个工具时候, 你可以看到原来它下面还有2层, 包括了Group层和Link.
对象挖掘
正如上面提到的, QTP对象识别的局限性导致了会有一部分对象无法添加到对象库中, 或者不知道这个对象是什么, 我们一般使用的是.Net Windows Forms Spy这个工具, 它能够很迅速的挖掘到我们需要的对象. 但某些情况下, 我们也需要借助像HP Extensibility A
您可能关注的文档
- TDI预聚体封闭与解封闭反应研究.pdf
- TDLTE初级中级培训考试题库.xls
- TDR技术在雅安峡口滑坡监测中的应用.pdf
- TEM42000参考答案.doc
- Testinside642321V4.73认证考试题库考题分享.doc
- TGR5的发现2003.pdf
- TFPG009螺丝头部成型及不良原因分析指引.xls
- THUWBRake接收机仿真与性能分析.pdf
- TIF02组织行为学试卷.doc
- TiN的熔点及力学性能的电子理论分析.pdf
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
文档评论(0)