QTP系列研究----录制回放原理
2010-11-14 10:45
190 查看
其实QTP是一款基于GUI层的automation测试工具。QTP的整个核心都在对象仓库上。
QTP录制的是鼠标和键盘的消息。QTP录制回放时基于windows操作系统的消息机制。QTP在录制时监听应用程序的消息,监听到之后把消息放到容器里,而另外的监听程序则从容器中取出容器中的消息,并调用对用的API处理函数。QTP截取的是用户对应用程序的操作,即录制的是消息。对于C/S应用程序,在回放时QTP根据对象的句柄(handle)和脚本内容,调用API函数;对于B/S应用程序,在回放时基于DOM(document object model)来解析。
RO(Runtime Object)和TO(Test Object)。RO是指GUI界面上的控件即对象本身,TO是QTP对象库里的对象即在录制时添加到对象库的对象。RO是应用程序上实际的对象,因此拥有对象的所有的属性和方法;TO是QTP在录制时获取的应用程序的对象的,而录制时QTP只保存了应用程序一部分常用的,能够在回放时识别应用程序上对象的一部分属性,因此TO对象拥有应用程序上对象的一部分属性。另外QTP对象库里保存的是TO对象。不过QTP可以使用Object Spy功能获取应用程序的所有属性值,或者可以通过TO对象的getROproperty()和getROpropertys()获取应用程序的所有属性值(呵呵,所有对象都没有setROproperty()方法)。使用TO对象的setTOproperty()和getTOproperty()可以操作对象库的TO对象。
QTP的录制原理:根据用户在应用程序界面上的操作,QTP采用Object Identification Tools工具对被操作的对象进行识别,采用反编译的原理看其属于哪个插件类,从而进一步识别其属于什么控件类,然后QTP把对应的控件类实例化一个对象,并把获取的应用程序的一部分属性值(足以识别对象?)赋给新建的对象,并添加到对象库里即TO对象,而把用户对对象的操作添加到脚本里面。
QTP的回放原理:QTP根据脚本中记录下来的对象操作的顺序进行回放。QTP从脚本中读取到该对象,并根据对象的层次和名称到对象库中寻找相同名称的测试库对象,在测试库找到相应的对象,获得对象的属性,根据对象库中对象的属性,在运行的应用程序中进行匹配,寻找运行时对象,找到后根据脚本中记录的对该对象执行的动作和参数值。
参考过网上别人的论坛文章,由于记不起具体出处,故不能注明出处!
QTP录制的是鼠标和键盘的消息。QTP录制回放时基于windows操作系统的消息机制。QTP在录制时监听应用程序的消息,监听到之后把消息放到容器里,而另外的监听程序则从容器中取出容器中的消息,并调用对用的API处理函数。QTP截取的是用户对应用程序的操作,即录制的是消息。对于C/S应用程序,在回放时QTP根据对象的句柄(handle)和脚本内容,调用API函数;对于B/S应用程序,在回放时基于DOM(document object model)来解析。
RO(Runtime Object)和TO(Test Object)。RO是指GUI界面上的控件即对象本身,TO是QTP对象库里的对象即在录制时添加到对象库的对象。RO是应用程序上实际的对象,因此拥有对象的所有的属性和方法;TO是QTP在录制时获取的应用程序的对象的,而录制时QTP只保存了应用程序一部分常用的,能够在回放时识别应用程序上对象的一部分属性,因此TO对象拥有应用程序上对象的一部分属性。另外QTP对象库里保存的是TO对象。不过QTP可以使用Object Spy功能获取应用程序的所有属性值,或者可以通过TO对象的getROproperty()和getROpropertys()获取应用程序的所有属性值(呵呵,所有对象都没有setROproperty()方法)。使用TO对象的setTOproperty()和getTOproperty()可以操作对象库的TO对象。
QTP的录制原理:根据用户在应用程序界面上的操作,QTP采用Object Identification Tools工具对被操作的对象进行识别,采用反编译的原理看其属于哪个插件类,从而进一步识别其属于什么控件类,然后QTP把对应的控件类实例化一个对象,并把获取的应用程序的一部分属性值(足以识别对象?)赋给新建的对象,并添加到对象库里即TO对象,而把用户对对象的操作添加到脚本里面。
QTP的回放原理:QTP根据脚本中记录下来的对象操作的顺序进行回放。QTP从脚本中读取到该对象,并根据对象的层次和名称到对象库中寻找相同名称的测试库对象,在测试库找到相应的对象,获得对象的属性,根据对象库中对象的属性,在运行的应用程序中进行匹配,寻找运行时对象,找到后根据脚本中记录的对该对象执行的动作和参数值。
参考过网上别人的论坛文章,由于记不起具体出处,故不能注明出处!
相关文章推荐
- 【自动化测试技术QTP基础系列四】---深入探讨录制回放原理
- 【自动化测试技术QTP基础系列三】--深入探讨录制回放原理
- 【自动化测试技术QTP基础系列六】---QTP脚本录制及回放
- 【自动化测试技术QTP基础系列六】---QTP脚本录制及回放
- QTP 录制 回放 原理
- Android 录制回放原理
- FMS3系列(四):在线视频录制、视频回放
- SilkTest入门快打系列1-录制回放
- 深入研究Windows内部原理系列课程
- 【软件测试自动化-QTP系列讲座 10】== QTP的两种回放模式 ==
- 深入研究windows内部原理系列---笔记1
- SilkTest入门快打系列1-录制回放
- FMS3系列(四):在线视频录制、视频回放
- 老李分享:QTP的录制原理以及实现
- 深入研究Windows内部原理系列
- 视频:第7讲-QTP的三种录制模式【QTP自动化测试视频系列_亿能测试】
- QTP-录制与回放
- 数据库集群系统研究系列(2)-现存的数据库的解决方案的原理解析
- SilkTest系列---(Silk4NET)之录制回放
- FMS3系列(四):在线视频录制、视频回放