QTP11.5/UFT快速入门-运行原理

TestWhite 2018年5月3日14:15:57
评论
1094字阅读3分38秒
云小站
QTP是基于GUI界面的自动化测试工具,用于系统的功能测试

  1、 QTP录制的是鼠标和键盘的消息。QTP录制回放时基于windows操作系统的消息机制。QTP在录制时监听应用程序的消息,监听到之后把消息放到容器里,而另外的监听程序则从容器中取出容器中的消息,并调用对用的API处理函数。QTP截取的是用户对应用程序的操作,即录制的是消息。对于C/S应用程序,在回放时QTP根据对象的句柄(handle)和脚本内容,调用API函数;对于B/S应用程序,在回放时基于DOM(documentobject model)来解析。

   具体来说,
   (1)QTP的录制原理:根据用户在应用程序界面上的操作,QTP采用ObjectIdentification Tools工具对被操作的对象进行识别,采用反编译的原理看其属于哪个插件类,从而进一步识别其属于什么控件类,然后QTP把对应的控件类实例化一个对象,并把获取的应用程序的一部分属性值(足以识别对象?)赋给新建的对象,并添加到对象库里即TO对象,而把用户对对象的操作添加到脚本里面。

  (2) QTP的回放原理:QTP 根据脚本中记录下来的对象操作的顺序进行回放。QTP从脚本中读取到该对象,并根据对象的层次和名称到对象库中寻找相同名称的测试库对象,在测试库找到相应的对象,获得对象的属性,根据对象库中对象的属性,在运行的应用程序中进行匹配,寻找运行时对象,找到后根据脚本中记录的对该对象执行的动作和参数值。
    所以QTP脚本回放实际上就是要做两个步骤:1)识别出要操作的对象控件。2)识别出对象控件后来完成该对象控件指定的方法。

2、QTP识别对象的原理
QTP里的对象有两个概念,一个是Test Object(TO),一个是Runtime Object(RO)
TO: 就是仓库文件里定义的仓库对象
RO:是被测试软件的实际对象

QTP识别对象,一般是要求先在对象仓库文件里定义仓库对象,里面存有实际对象的特征属性的值,
然后在运行的时候,QTP会根据脚本里的对象名,在对象仓库里找到对应的对象,接着根据对象的特征属性描述在被测试软件里搜索找到相匹配的实际对象,最后就可以实际对象进行操作了。

仓库对象TO一般在建制/编写脚本时加入仓库库文件它不仅可以在建制编写时进行修改,也可以在运行过和中动态修改,以匹配实际对象。


3、和TO\RO相关的几个函数
GetTOProperty():   取得仓库对象的某个属性的值
GetTOProperties():取得仓库对象的所有属性的值
SetTOProperty():   设置仓库对象的某个属性的值
GetROProperty():  取得实际对象的某个属性的值
继续阅读
  • 我们QQ群
  • QQ扫一扫
  • weinxin
  • 微信公众号
  • 公众号扫一扫
  • weinxin
TestWhite
  • 本文由 发表于 2018年5月3日14:15:57
  • 请您在转载时请务必保留本文链接:https://www.playezu.com/11792.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: