做Web自动化测试的时候,有时需要对浏览器进行一些特殊的操作,比如浏览器的激活、最大化和最小化。熟悉C/S自动化测试的朋友应该都知道Window对象是有这些方法的,而Browser对象则没有。
当然了, 我们可以自己写一些函数来弥补这个不足,其原理是通过获取浏览器的句柄,然后使用描述性编程来操作Window对象。
PS:所谓句柄是指,使用的一个唯一的整数值,即一个四字节长的数值,来标志应用程序中的不同对象和同类对象中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。
Activate Browser
- ' 注册自定义Activate函数
- RegisterUserFunc "Browser", "Activate", "BrowserActivate"
- Function BrowserActivate(ByRef Object)
- Dim HWND
- ' 获取浏览器程序句柄
- HWND= Object.GetROProperty("hwnd")
- On Error Resume Next
- ' 激活句柄等同于浏览器句柄的窗口程序
- Window("hwnd:=" & HWND).Activate
- If Err.Number <> 0 Then
- Window("hwnd:=" & Browser("hwnd:=" & HWND).Object.HWND).Activate
- Err.Clear
- End If
- On Error Goto 0
- End Function
Maximize Browser
- ' 注册自定义Minimize函数
- RegisterUserFunc "Browser", "Minimize", "BrowserMinimize"
- Function BrowserMinimize(ByRef Object)
- Dim HWND
- ' 获取浏览器程序句柄
- HWND= Object.GetROProperty("hwnd")
- On Error Resume Next
- ' 激活句柄等同于浏览器句柄的窗口程序
- Window("hwnd:=" & HWND).Activate
- If Err.Number <> 0 Then
- HWND = Browser("hwnd:=" & HWND).Object.hWnd
- Window("hwnd:=" & HWND).Activate
- Err.Clear
- End If
- ' 最小化句柄等同于浏览器句柄的窗口程序
- Window("hwnd:=" & HWND).Minimize
- On Error Goto 0
- End Function <strong>
- </strong>
Minimize Browser
- ' 注册自定义Minimize函数
- RegisterUserFunc "Browser", "Minimize", "BrowserMinimize"
- Function BrowserMinimize(ByRef Object)
- Dim HWND
- ' 获取浏览器程序句柄
- HWND= Object.GetROProperty("hwnd")
- On Error Resume Next
- ' 激活句柄等同于浏览器句柄的窗口程序
- Window("hwnd:=" & HWND).Activate
- If Err.Number <> 0 Then
- HWND = Browser("hwnd:=" & HWND).Object.hWnd
- Window("hwnd:=" & HWND).Activate
- Err.Clear
- End If
- ' 最小化句柄等同于浏览器句柄的窗口程序
- Window("hwnd:=" & HWND).Minimize
- On Error Goto 0
- End Function
由于使用了RegisterUserFunc,我们可以在QTP中直接使用自定义的函数,和Browser对象实现无缝结合。http://blog.csdn.net/snakeshiy/article/details/7439455
相关推荐
### QTP:虚拟对象需要注意的两点 在自动化测试领域中,QTP(QuickTest Professional)是一款功能强大的工具,被广泛应用于各种软件应用的功能性测试。虚拟对象是QTP中的一个重要概念,它允许测试人员对非标准或...
QTP自动化对象模型是其核心组成部分,它定义了如何识别和操作被测应用程序中的各种对象。对象模型提供了一种结构化的框架,允许测试人员通过编程接口与应用的元素进行交互,如点击按钮、输入文本等。这一模型基于...
- **对象识别属性选取**: 在Tools > Object Identification中选择对应的插件来查看控件类型,进而查看QTP封装对象的关键识别属性。 #### 五、QTP工具基础详解 - **Add-in Manager**: 启动QTP时会出现Add-in ...
QTP 视图方法大全是 QTP tester 在自动化测试中常用的视图方法的总结。这些方法可以用于激活对象、捕获位图、检查属性、获取对象的子对象、点击、关闭、双击、拖曳、拖放等操作。 对象的方法 Activate: 激活对象...
在QTP中,我们可以使用特定的对象来访问和操作测试环境的不同元素。本文将详细讲解如何使用QTP测试Windows对象——Desktop对象,以及SystemUtil对象和ClipBoard对象的使用。 首先,我们来看Desktop对象。Desktop...
总结,QTP对象识别是自动化测试的关键环节,理解并掌握以上方法能帮助测试人员更高效、准确地识别和操作应用程序对象,从而提高测试的质量和效率。通过灵活运用这些技巧,可以应对各种复杂的应用场景,确保测试脚本...
在QTP中,自定义对象是指用户根据特定需求手动创建的对象,这些对象可以帮助我们识别和操作那些QTP默认不支持或难以识别的元素。通过自定义对象,我们可以更加灵活地控制测试过程中的各种复杂情况。 #### 二、为...
在自动化测试领域,QuickTest Professional (QTP) 是一款广泛使用的功能自动化测试工具。QTP 提供了多种方法来处理对象的同步问题,确保在执行测试脚本时能正确识别和操作目标对象。本文主要讨论的是如何在QTP中通过...
QTP将对象封装在“对象模型”中,这意味着测试脚本可以像操作对象一样调用方法和属性。例如,对于一个按钮对象,可以调用Click()方法使其被点击。 4. **对象的重用**: 由于对象库的存在,相同或相似的对象在多个...
1. **对象库**:这是QTP存储所有已识别对象的地方,包括它们的类、属性和方法。每个对象都由其特定的类定义,比如按钮、文本框等。当QTP运行时,它会将应用程序窗口中的对象与对象库中的模板进行匹配,从而识别出...
本文将深入探讨QTP中的对象识别方法,帮助您更高效地进行自动化测试。 1. **对象库(Object Repository)**:对象库是QTP存储所有测试对象的地方,每个对象都有其唯一的标识符,包括名称、类名和属性。在录制测试时,...
【QTP对象识别方法总汇】和【QTP对象识别常用方法介绍】:这两份文档详细阐述了QTP如何识别和处理应用程序中的各种对象,包括默认的识别机制和如何通过描述性编程来手动指定对象特征。 【QTP中描述性编程脚本指导】...
QTP自动化对象模型中文版
**QTP(QuickTest Professional)自动化对象模型**是HP(现为Micro Focus)公司推出的自动化测试工具中的核心组件,主要用于软件功能测试的自动化。QTP的对象模型是它能够识别并操作应用程序中的各种对象的基础,这...
综上,QTP测试标准Web对象时,涉及了DOM操作、Web控件的属性访问、Browser对象方法的使用、页面元素计数、Frame对象以及Image对象的验证等,这些都是QTP自动化测试的重要组成部分,能够有效地实现Web应用的自动化...