51Testing软件测试论坛

标题: qtp插件扩展技术. 众赏之下必定有勇夫 [打印本页]

作者: lingxin5013    时间: 2008-11-13 11:32
标题: qtp插件扩展技术. 众赏之下必定有勇夫
qtp核心技术,如果你完成那么你成功了.
悬赏目的在以后的QTP操作中,如果遇见不能识别的控件或者第3方控件,自己定义,想怎么写就怎么写,搞定了大家共同提高,所以大家路过都来看看)

本人最近在研究QTP的插件扩展.时间没少花.但是没有什么进展.下面我把这2天我所研究和知道的贡献给大家.同时希望高手们能够出来帮助帮助我 .
首先我们的qtp和.net的关系最强,包括我们安装时候的.net framwork我们就可以知道.同时QTP支持.net扩展.这里我们知道我们平时能够被识别的对象是QTP自身提前已经注册过的控件, 而这些代码被放在XML文件中,当我们录制的时候就去XML寻找匹配的对象,如果有该对象那么我们可以看见object,如果没有有时也以混合模式体现出来也就是x,y坐标的形式.我现在想自己注册控件.对那些包括混合识别的情况进行对象确定.
  我们安装的插件xml文件放在dat\setting目录下.我也写了2个xml文件,我也查了一些资料,完成xml文件后需要在注册表修改该目录.
   对大家也是提高,这个搞定了你就真的是大师了.
   一般实现的方法有2种.dll 和xml.dll 无非就是在VS下进行封装调用,xml比较方便.原理都是一样的.
   目前我知道的就这么多.希望知道的更多的能够给出进一步意见.我现在的问题是只知道一个大体的结构,如何实现细节,如何完成注册控件的使用对我来说是空白.希望高手指点

Q: 1:在安装的.net插件后,对于xml部分如何修改或者重新写?
   2:Regedit的目录部分如何修改?
   3:新加入的xml 和远插件中的xml什么关系,原理?
   4:对象识别中自定义对象到出对象后查看的函数如何修改?
   5:操作完成后如何在代码中实现自定义控键?
   6:如果不安装控件如何实现自定义控件扩展.并且在录制中得到实现?
   7:再vs qtp custome server中实现封装技术?
请高手赐教!!!

[ 本帖最后由 lingxin5013 于 2008-11-13 13:38 编辑 ]
作者: Robel.Yi    时间: 2008-11-13 11:32
分我就不拿了,不过还是来回答一下,我感觉我讲得已经很详细了啊,再讲点吧:
1.如何写XML,不同插件不同,你根据标准控件的语法格式来写,无非这四点:控件名、类名、方法、属性
2.注册控件  你先看一下你的这个插件的控件是否需要注册,有些插件是不需要注册就可以使用的,如果需要注册,如果需要注册,在dat目录下的SwfConfig.xml,在<Controls>和</Controls>之间插入
3.新加入的XML和插件中的XML没有什么关系  你要新写一个肯定是要支持自定义控件
4.看不懂这问题
5.这个问题不是问题  操作完后自定义控件QTP就能识别和正常操作了,录制回放跟其他标准控件一样
6.如果不安装插件  这个需要你自己写插件了,写成XML格式或DLL供QTP调用,建议你分析插件安装后的日志和安装后新增加和有修改的文件,注册表里面肯定需要修改  修改的地址你根据安装的日志可以看到,也可以查看系统日志
7.是不是要把自定义控件写成DLL?有很多方法,用VB也可以  新建工程,把对象描述写进去  然后生成DLL文件
回答完了,如果还不明白我就没办法了,只差没有把具体操作录成视频了
作者: lingxin5013    时间: 2008-11-13 11:34
如果你真的是高手,如果QTP的核心识别原理你了如指掌,如果你对xml,dll掌握自如,如果你的QTP用到出神入化了,求求你大师 把我的200分拿走吧.

[ 本帖最后由 lingxin5013 于 2008-11-13 13:16 编辑 ]
作者: 假装不在    时间: 2008-11-13 13:28
....看来我是拿不走了
作者: lingxin5013    时间: 2008-11-13 13:31
屁股 你终于来拉. 这算是QTP终极提问了吧?
我是下了血本在这SOS的. 200分啊.
作者: peimzh    时间: 2008-11-13 13:44
哎,真想知道
作者: happychap    时间: 2008-11-13 14:45
还没去研究过自定义插件,后面有时间研究研究。
作者: wuei9090    时间: 2008-11-13 16:04
问个问题

这个目录下 dat\Extensibility 里面放的文件是做什么用的

应该也是和插件有一定关系
如果做delphi得qtp开发时候需要在工程里编译一个这个地址的。
作者: lingxin5013    时间: 2008-11-13 16:39
Robel.Yi 你开始和我说的 我自己研究还是有很多问题.
分还是不给你拉.你不需要这分 呵呵
我真恨不得到你那来 让你给我演示

[ 本帖最后由 lingxin5013 于 2008-11-13 16:40 编辑 ]
作者: Robel.Yi    时间: 2008-11-13 17:54
呵呵,分不分的无所谓,我不需要这东西
作者: lingxin5013    时间: 2008-11-14 09:22
知道的请继续发言
作者: Robel.Yi    时间: 2008-11-14 10:09
难道还没搞清楚???
作者: peimzh    时间: 2008-11-14 17:06
Robel.Yi,你搞清楚给大家共享一下,学知识,谢谢了
作者: lingxin5013    时间: 2008-11-17 12:13
Robel.Yi 分数给你了,这几天麻烦你了.初步的东西已经搞定.我拿了个VB的实验.还是有点问题.非常感谢.
作者: peimzh    时间: 2009-2-20 16:05
这个问题请Robel.Yi能不能做一个实例,然后共享给大家,让大家研究学习一下。谢谢了
作者: jacksboy    时间: 2009-2-20 16:20
你能做到让QTP识别FLASH的网站那就是大功劳一件了。
ADOBE的FLEX插件只对可以编译源代码的网站有效。
作者: smile51    时间: 2010-6-18 11:16
1:在安装的.net插件后,对于xml部分如何修改或者重新写?
  2:Regedit的目录部分如何修改?
上述问题还是不会,能详细举例共享吗?非常感谢
作者: jiejesse    时间: 2011-4-26 10:34
占个地,先研究一下,谢谢Robel.Yi提供的方法。
作者: linhd030    时间: 2011-4-27 13:44
飞行猪是先行者
大家立个目标
把QTP分解了
山寨万岁!!!
作者: 17800455    时间: 2011-4-27 18:05
很想知道啊,

正想研究一下,这方面。

详细详细的说下,最好做个例子出来。瞧瞧。
作者: renquande    时间: 2011-4-28 15:18
期盼实例
作者: htsnoopy    时间: 2011-11-21 14:53
难道没有人用UIAutomation这么强大的库吗?我所知道QTP可以轻松调用dll文件,我们可以通过调用UIAtuomaiton这个.net自带的库来封装自己的识别空间的方法,只要是在.net下运行一般都可以搞定。




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