以XML文件方式扩展QTP的.NET插件的问题

QTP9 5新特性 – Web插件扩展(Web Add-in Extensibility) 阅读详情

以XML文件方式扩展QTP的.NET插件的问题

陈能技

2008-1-8

 

今天试了一下QTP的.NET插件,QTP的.NET插件对于解决.NET控件识别和测试问题非常重要,是测试.NET平台程序必不可少的条件(包括测试.NET Windows Forms、.NET Web Forms、WPF控件)。.NET第三方控件或自定义的个性化控件的识别和测试问题可通过QTP的.NET插件提供的扩展模块来解决。

 

QTP的.NET插件主要提供了两种方式的扩展来支持个性化控件的测试:

(1).NET DLL:使用其为VS.NET提供的Custom Server模板来创建用C#写的DLL来支持个性化控件的测试。

(2)XML:使用XML文件来描述扩展。

 

第一种方法的好处是可以充分利用开发工具的优势,第二种方法则相对更便捷,可随时进行扩展,但是今天试用的结果是可实现录制方面的扩展,在回放方面的扩展不能实现,不知道是不是还有什么诀窍没掌握,QTP提供的帮助文档在这方面也比较有限。

 

在SwfConfig.xml文件中的扩展描述如下所示:

<?xml version="1.0" encoding="UTF-8"?>

<Controls>

  <Control Type="MyWindowsControlLibrary1.UserControl1">

          <Settings>

                 <Parameter Name="ConfigPath">D:/Program Files/Mercury Interactive/QuickTest Professional/dat/ControlDefineXMLSample.XML

                 </Parameter>

          </Settings>

          <CustomRecord>

                 <Component>

                        <Context>AUT-XML</Context>

                 </Component>

          </CustomRecord>

          <CustomReplay>

                 <Component>

                        <Context>AUT-XML</Context>

                 </Component>

          </CustomReplay>

  </Control>

</Controls>

 

ControlDefineXMLSample.XML的定义如下:

<?xml version="1.0" encoding="UTF-8"?>

 

<Customization>

 

       <Record>

 

              <Events>

 

                     <Event name="MouseDown" enabled="true">

 

                            <RecordedCommand name="MouseMove">

 

                                   <Parameter>                                

                                   EventArgs.X

                                   </Parameter>

 

                                   <Parameter lang="C#">

 

                                   Parameter = EventArgs.Y;

 

                                   </Parameter>

 

                            </RecordedCommand>

 

                     </Event>

 

              </Events>

 

       </Record>

 

       <Replay>

 

              <Methods>

 

                     <Method name="SetValue">

                       

                      <Parameters>

 

                                   <Parameter type="int" name="X"/>

 

                                   <Parameter type="int" name="Y"/>

 

                            </Parameters>

 

                            <MethodBody>

 

                                   System.Windows.Forms.MessageBox.Show("Mouse Position at Record Time");

                            </MethodBody>

 

                     </Method>

 

              </Methods>

 

       </Replay>

 

</Customization>

 

基本上是按QTP的帮助文档描述,以及它提供的一个小例子来写的。如果完全按其在NETExtensibility.chm文件中的“Example of a Control Definition XML File”这一节的例子来写则完全不能进行录制方面的扩展,它的例子如下:

<?xml version="1.0" encoding="UTF-8"?>

 

<Customization>

 

       <Record>

 

              <Events>

 

                     <Event name="MouseUp" enabled="true">

 

                            <RecordedCommand name="SetValue">

 

                                   <Parameter>

 

                                          Sender.Value

 

                                   </Parameter>

 

                                   <Parameter lang="C#">

 

                                          String xy;

 

                                          xy = EventArgs.X + ";" + EventArgs.Y;

 

                                          Parameter = xy;

 

                                   </Parameter>

 

                            </RecordedCommand>

 

                     </Event>

 

              </Events>

 

       </Record>

 

       <Replay>

 

              <Methods>

 

                     <Method name="SetValue">

 

                            <Parameters>

 

                                   <Parameter type="int" name="Value"/>

 

                                   <Parameter type="String" name="MousePosition"/>

 

                            </Parameters>

 

                            <MethodBody>

 

                                   RtObject.Value = Value;

 

                                   System.Windows.Forms.MessageBox.Show(MousePosition,"Mouse Position at Record Time");

 

                            </MethodBody>

 

                     </Method>

 

              </Methods>

 

       </Replay>

 

</Customization>

 

 

 

 
web自动化测试的元素定位(xpath/css) 一、常见的自动化web测试工具 1)QTP(收费) QTP是Mercury公司的Quick Test Professional的简称,是一种自动测试工具。 2)Selenium(开源) ThroughtWorks一个强大的基于浏览器的开源自动化测试工具,通常用来编写web应用的自动化测试 3)RFT(收费) IBM Rational Test Professional的简称,是一款先进的自动化的功能和回归测试工具,使用与测试人员和GUI... 阅读详情

相关推荐

QTP10 插件破解脚本

QTP10-插件破解脚本

QTP调用自己开发的.net类库 [ 光影人像 东海陈光剑 的博客 ]

我现在用的是QTP9.2,这个版本提供了调用.net框架的功能,使用DotNetFactory对象就可以实现。QTP的帮助文档里面提供了一个例子: Set var_CreateInstance = DotNetFactory.CreateInstance("System.Windows.Forms.Form", "System.Windows.Forms") var_Creat...

defkaug153461的博客 187

旋转变压器软件解码simulink仿真

旋转变压器软件解码simulink仿真、电机转速位置测量

qq_31446727的博客 2580

qtp java插件_18.2 使用C#对QTP.NET插件进行扩展

18.2 使用C#对QTP.NET插件进行扩展QTP能录制那些不被直接支持的.NET控件,但是以低级鼠标和键盘操作、Windows消息的方式反映出来,这样的脚本的可理解性、可维护性都很差。例如,对.NET的TrackBar控件的录制结果如图18.2所示。 图18.2 "Expert View"中的TrackBar控件的录制结果可以看到,QTP对TrackBar控件的录制采取的是位置识别,而不是对...

weixin_34094525的博客 227

COMSOL+AI实战:5个超实用技巧让你的仿真效率翻倍(附Python代码)

本文详细介绍了如何将人工智能(AI)与COMSOL仿真软件结合,通过Python脚本实现五大实用技巧,包括自动化生成数据集、构建代理模型、集成AI优化算法、利用神经网络加速场量求解以及智能结果分析,从而显著提升多物理场仿真的效率和自动化水平。

weixin_29230865的博客 442

从调节阀到步进电机:图解位置型PID与增量式PID的核心区别

本文深入解析了位置型PID与增量式PID的核心区别。通过调节阀和步进电机的实例,阐明位置式PID输出绝对位置,适用于直接控制执行机构;而增量式PID输出位置变化量,天然支持无扰动切换,更适合步进电机等场景。文章重点剖析了增量式PID在系统安全与平滑切换方面的关键优势。

weixin_29051811的博客 357

QTP-C/S客户端功能自动化测试

目的:该CS客户端系统已经比较稳定,后期的维护性测试只是小部分功能的新增或者修改,每次维护性测试如果将所有的功能都过一遍花费时间太多,但是不测试一遍的话,总会有些功能被开发修改后出现明显错误,目的是在每次维护性项目时将软件基础功能进行自动化测试,保证基础功能的正确性,节省测试时间。 客户端为为C/S,.net平台,WPF框架,采用c#编程, 测试准备条件: l下载安装QTP11,安装时会提...

与君共勉 1万+

RLHF的数学表示

RLHF(Reinforcement Learning with Human Feedback)是一种结合了强化学习和人类反馈的机器学习方法。它通常用于训练智能体(agent)在复杂环境中做出决策,同时利用人类的反馈来指导和改进学习过程。RLHF 没有一个统一的数学表示式,因为它依赖于具体的应用场景和实现细节。然而,我们可以从强化学习和人类反馈的角度来描述RLHF的一些关键数学概念。

xw555666的博客 687

QTP录制delphi程序,可录制无法运行

1.QTP登录时确保加载Delphi插件 如果安装QTP的时候,安装了Delphi插件,但是登录界面Delphi插件是置灰的,可以在网上下载一个delphi插件并安装 2.录制了delphi语言编写的程序后,可正常录制。回放时有些控件无法回放,提示找不到对象。    1)检查对象仓库中有该对象    2)使用SPY工具查看对象的属性,确保应用程序中对象的属性与对象仓库的属性一致

小雷笔记 1016

Linux下安装FastDFS及生成缩略图

1. 安装编译环境 yum install git gcc gcc-c++ make automake vim wget libevent -y 2. 安装libfastcommon基础库 mkdir /root/fastdfs cd /root/fastdfs git clone https://github.com/happyfish100/libfastcommon.git --depth 1 cd libfastcommon/ ./make.sh && ./make.sh ins

weixin_45234710的博客 1373

YOLOv11改进策略【模型轻量化】| 替换轻量化骨干网络:ShuffleNet V1

本文记录的是基于ShuffleNet V1的YOLOv11轻量化改进方法研究。ShuffleNet利用和操作降低计算成本,克服了现有先进架构在极小网络中因 1×1 卷积计算成本高而效率低的问题。相比一些传统的网络架构,能更好地。本文配置了原论文中和四种模型,以满足不同的需求。

Limiiiing的博客 1228

QTP9.5新特性 – Web插件扩展(Web Add-in Extensibility)

QTP9.5的安装包中提供了3个插件扩展SDK安装包,包括:(1)QuickTest Professional Web Add-in Extensibility SDK Setup(2)QuickTest Professional Java Add-in Extensibility SDK Setup(3)QuickTest Professional .NET Add-in Ext

软件质量优化 4798

K230+canMV开发中常见的数据类型转换参考示例

【代码】K230+canMV开发中常见的数据类型转换参考示例。

weixin_47446386的博客 67

QTP主要功能

1)QTP是一个侧重于功能的回归自动化测试工具;提供了很多插件,如:.NET的,Java的,SAP的,Terminal Emulator的等等,分别用于各自类型的产品测试。默认提供Web,ActiveX和VB。 2)QTP支持的脚本语言是VBScript,这对于测试人员来说,感觉要“舒服”得多(如相比SilkTest采用C语言)。VBScript毕竟是一种松散的、非严格的、普及面很广的语言。 3)...

weixin_41524915的博客 1320

vue支付项目-APP支付宝支付功能

如果用户已安装支付宝客户端,商家 App 唤起支付宝完成支付,支付完后跳回到商家 App 内,最后展示支付结果。如果用户没有安装支付宝客户端,商家 App 内会调起支付宝网页支付收银台,用户登录支付宝账号,支付完后展示支付结果。1.点击按钮开通或者续费,会验证是否选择会员商品以及对协议是否查看选中(这里根据项目需要自行验证,可忽略),验证通过打开选择支付方式弹窗页面,选择微信支付或者支付宝支付;4.可取消支付,放弃支付会返回会员页面,页面提示支付取消;1.判断支付方式,如果是2,则是支付宝支付方式。

总结前端开发中遇到的问题,分享前端知识 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

QTP特点有哪些?

QTP特点有哪些? 浏览:77 | 更新:2013-06-19 12:35 QTP是一个侧重于功能的回归自动化测试工具;提供了很多插件,如:.NET的,Java的,SAP的,Terminal Emulator的等等,分别用于各自类型的产品测试。默认提供Web,ActiveX和VB。 QTP支持的脚本语言是VBScript,这对于测试人员来说...

weixin_30457065的博客 323

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【测试工具】QTP简介

QTP   HP QuickTest Professional 提供符合所有主要应用软件环境的功能测试和回归测试的自动化。采用关键字驱动的理念以简化测试用例的创建和维护。它让用户可以直接录制屏幕上的操作流程,自动生成功能测试或者回归测试用例。专业的测试者也可以通过提供的内置脚本和调试环境来取得对测试和对象属性的完全控制。 特点:   1)QTP是一个侧重于功能的回归自动化测试工具;提供了很多...

weixin_30279315的博客 2142

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

QTP 简介

QTP QTP是quicktest Professional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等 基本简介  Mercury QuickTest 企业级...

轻轻草原 549

QTP自动化测试自学手册V2.0版本

视频汇总首页:http://edu.51cto.com/lecturer/index/user_id-4626073.html1概述QTP是quicktestProfessional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输...

weixin_34054866的博客 133

day34课后总结--web端自动化基础

自动化测试的分类: 1)自动化功能测试 2)自动化性能测试 web自动化条件和使用范围: 1)手动测试已经完成,后期再不影响进度的前提下逐渐实现自动化 2)项目周期长,重复性的工作都交给机器去实现 3)需求稳定,项目变动不大 4)自动化测试脚本复杂度比较低 5)可重复利用 使用自动化测试的场景 : 1)频繁的回归测试 2)冒烟测试 3)传统行业需求变化不大,应用频繁 4)性能测试 web自动化常用的工具: 常见的自动化web测试工具 QT

j287906992的博客 170
上一篇: 一个简单的C#调用QTP自动化对象模型的例子
下一篇: 不同项目模型中的自动化测试
TIB
TIB
博客等级 码龄19年 2879粉丝 957原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值