[QTP]基本使用

2024-09-06 15:18
文章标签 使用 基本 qtp

本文主要是介绍[QTP]基本使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. QTP的基本功能


1.1 QTP测试过程

QTP的基本功能包含两大部分:一部分是提供给初级用户的关键字视图,另一部分是提供给熟悉VBScript脚本编写的专家视图。在实际的测试中可以结合使用。

使用QTP进行自动化测试一般包括5个步骤:

1) 录制测试脚本: 利用QTP对象识别、鼠标和键盘监控机制来录制测试脚本。

2) 编辑测试脚本: 包括调整测试步骤、编辑测试逻辑、插入检查点、添加测试输出信息、添加注释等。

3) 调试测试脚本: 利用"Check Syntax"功能检查测试脚本的语法错误,利用调试功能检查脚本逻辑。

4) 运行测试脚本: 可运行单个"Action",也可批量运行测试脚本。

5) 分析测试结果: 使用QTP的测试结果查看工具查看测试结果。


1.2 关键字视图

对于录制下来的脚本,需要进一步修改和调整,这些工作可在关键字视图(Keyword View)中进行,也可在专家视图(Expert View)中进行。

对于新手,关键字视图会更容易理解和使用。如下图所示,可以看出这个测试的所有测试步骤:

1) 打开浏览器,访问"http://www.baidu.com"。

2) 在搜索框中输入“软件测试”。

3) 点击“百度一下”按钮。

182642700.jpg

虽然QTP能为每一个步骤自动生成文档,但是未必能满足需求,因此还需要为测试步骤添加必要的注释。首先在关键字视图的表格列头中单击鼠标右键,选择"Comment",即多出一列名为"Commnet"的列,在这一列中可以为每一个测试步骤添加注释,如下所示:

182835199.jpg

如果想在某个测试步骤完成后,输出相应的测试信息到测试报告中,可以单击鼠标右键,选择"Insert Step >  Report",在界面中的"Status"下拉框中,选择写入测试报告的状态(可以是Done、Passed、Failed、Warning这4种状态的一种),在"Name"中输入信息摘要,在"Details"中输入详细的测试步骤信息,如下所示:

182352710.jpg

如果想检查搜索框的内容是否被正确输入,可在关键字视图中通过QTP的检查点插入功能来实现。首先定位到设置输入框内容的测试步骤,然后点击鼠标右键,选择菜单"Insert Standard Checkpoint",在界面中选择需要检查的属性,如"Value"属性,设置为“软件测试”。单击"OK"按钮后,则在在关键字视图中看到新添加的检查点步骤,如下所示:

183532225.jpg


1.3 专家视图

在QTP中,选择"View > Expert View",可以看到如下的专家视图,"Expert View"是一个强大的VBScript编辑器,在这里可以直接编写测试脚本的代码,适合熟悉VBScript语言的自化测试工程师使用。

184118786.jpg

QTP提供的脚本编辑器支持“语法感知”功能,例如在代码中输入“Browser("百度一下,你就知道")”后加点,则自动显示一个下拉列表,从中可选取属于“Browser("百度一下,你就知道")”测试对象所包含的所有属性和方法,如下所示:

184438585.jpg


2. 编辑测试脚本


2.1 识别对象

基于GUI的自动化测试主要是围绕着界面的控件元素来进行的,QTP针对不同语言开发的控件,采取不同的对象识别技术。在QTP中,选择菜单“Tools > Object Identification”,在界面中可看到各种标准Windows控件对应的对象识别方法,可以单击"Add/Remove"按钮,选择更多的控件属性来唯一识别控件,如下所示:

203831794.jpg

QTP提供"Object Spy"工具可用于观察运行时测试对象的属性和方法。选择菜单"Tools > Object Spy",在界面中单击左上角的手型按钮,移动到测试对象上,单击鼠标左键选择测试对象,会自动获取到该测试对象的所有属性和方法,如下所示:

204216395.jpg


2.2 对象库管理

另外一种观察和了解测试程序的界面控件元素以及它们的层次关系的方法是通过对象库"Object Repository",在QTP中,选择菜单"Resources > Object Repository",而后在对象库管理界面中选择菜单"Object >  Add Ojbect to Local",然后选择测试程序界面中的某个控件,单击"OK"按钮,可以把测试对象添加到对象库中,如下所示:

204631103.jpg


2.3 访问对象库的测试对象

把界面控件作为测试对象添加到对象库中之后,就可以把它们作为测试资源来访问,例如,在关键字视图中可从对象库中选择需要的测试对象,在下拉列表中选择"Object from repository",在界面中选择对象库中的测试对象,如下所示:

205405813.jpg

而在专家视图中,同样可以访问到对象库的测试对象,以及它们的属性和方法,如下所示:

205617123.jpg


2.4 添加Action

在QTP中,Action相当于测试脚本的文件,可使用Action来划分和组织测试流程,如果想在当前Action的某个测试步骤之后添加新的Action,则可选择菜单"Insert > Call to New Action",在界面中的"Name"输入Action的名称,在"Description"中输入对该Action的描述,在"Location"中选择"Afeter the current step",然后单击"OK"按钮,则可看到新的Action已经成功被添加,如下所示:

205247474.jpg

由于QTP为每一个Action生成相应的测试文件和目录,而对象库作为资源,也是与Action绑定的,因此新添加的Action不能直接使用前一个Action中的测试对象。

解决的方法有两种,一种是通过录制新的测试脚本来产生新的测试对象库,另一种是通过关联前一个Action所导出的对象库文件来使用其测试对象。选择菜单"Resources > Associate Repositories",在界面中单击"+"按钮,选择前一个Action导出的对象库文件,然后将左边的"Available Actions"中的"Action2"移动到右边的"Associated Actions",如下所示:

210029202.jpg


2.5 创建自定义函数

在测试脚本中,除了访问和调用测试库的测试对象、QTP内建的函数外,还可以自定义函数库,把一些可重用的VB脚本封装到函数库中,然后在测试脚本中调用。选择菜单"Insert > Function Definition Generator",在界面中的"Function definition"中的"Name"输入框输入函数名称,在"Type"中选择"Function",在"Scope"中选择"Public",在"Description"中输入函数的描述信息,单击"OK"按钮,则会在当前Action的测试代码中,添加对应的函数框架代码,如下所示:

211054365.jpg


3. 运行测试脚本


3.1 语法检查

选择菜单"Tools > Check Syntax",对测试脚本进行语法检查,如果语法检查通过,则在"Infomation"界面提示如下信息:

191733185.jpg


3.2 使用断点

语法检查通过后,可直接运行测试脚本,也可设置断点对脚本进行调试,如下所示:

192017587.jpg

按F5键运行测试脚本,运行过程中将在断点所在的代码停住,这时候可以选择菜单"Debug > Step Over"或者按快捷键"F10"跳到下一行代码,也可以选择"Debug > Step Into"或者按快捷键"F11"进入代码行中所调用的函数。


3.3 调试查看器

在调试过程中,可选择菜单"View > Debug Viewer",在界面中输入测试对象属性或变量,查看其值,如下所示:

193022108.jpg


3.4 运行测试

对测试脚本进行语法检查和调试无误后,可以按F5键运行整个测试脚本,在运行测试之前,可以对运行做必要的设置,以便满足测试的要求,选择菜单"Tools > Options",在界面中的"Run"页中的"Run mode",可选择运行模式为"Normal"或"Fast",如果选择"Fast",则QTP以尽可能快的速度运行测试脚本中的每一个测试步骤,如果选择"Normal",则可以进一步设置测试运行过程中每一个步骤直接的停顿时间,如下所示:

193454284.jpg

如果有多个Action,则可以定位到需要运行的Action,然后选择菜单"Automation > Run Current Action"来仅仅运行当前的Action,还有另外一种方式,选中某个测试步骤,单击鼠标右键,选择菜单"Run From Step",可以从当前选中的测试步骤开始运行,也可以选择"Run To Step",开始测试并运行到当前所选的测试步骤。


3.5 分析结果

自动化测试的最后一个步骤就是运行测试并查看结果,在QTP中,按F5键运行测试脚本,出现一个对话框,在这里可以选择测试运行结果存储的位置,如果选择"New Run results folder",可以为本次测试选择一个目录用于存储测试结果文件,如果选择"Temporary run results folder",则QTP将运行测试结果存放到默认目录中,并覆盖上一次该目录中的测试结果,如下所示:

205055259.jpg

测试脚本运行结束后,可以查看概要的测试结果信息,包括测试名称、测试开始和结束的时间、测试脚本运行的迭代次数、测试通过的状态等,如下所示:

205339224.jpg

如果设置了运行时保存截屏的选项,则可以在测试结果的"Screen Recorder"中,查看测试步骤对应的界面截屏。屏幕截屏的设置方法是选择菜单"Tools > Options > Run > Screen Capture",在界面中,把"Save still image captures to results"勾选上,并且在下拉框中选择"Always",如下所示:

210027143.jpg



本文出自 “青锋笔记” 博客,谢绝转载!

这篇关于[QTP]基本使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1142372

相关文章

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

Python logging模块使用示例详解

《Pythonlogging模块使用示例详解》Python的logging模块是一个灵活且强大的日志记录工具,广泛应用于应用程序的调试、运行监控和问题排查,下面给大家介绍Pythonlogging模... 目录一、为什么使用 logging 模块?二、核心组件三、日志级别四、基本使用步骤五、快速配置(bas

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs

使用雪花算法产生id导致前端精度缺失问题解决方案

《使用雪花算法产生id导致前端精度缺失问题解决方案》雪花算法由Twitter提出,设计目的是生成唯一的、递增的ID,下面:本文主要介绍使用雪花算法产生id导致前端精度缺失问题的解决方案,文中通过代... 目录一、问题根源二、解决方案1. 全局配置Jackson序列化规则2. 实体类必须使用Long封装类3.

Python文件操作与IO流的使用方式

《Python文件操作与IO流的使用方式》:本文主要介绍Python文件操作与IO流的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python文件操作基础1. 打开文件2. 关闭文件二、文件读写操作1.www.chinasem.cn 读取文件2. 写

PyQt6中QMainWindow组件的使用详解

《PyQt6中QMainWindow组件的使用详解》QMainWindow是PyQt6中用于构建桌面应用程序的基础组件,本文主要介绍了PyQt6中QMainWindow组件的使用,具有一定的参考价值,... 目录1. QMainWindow 组php件概述2. 使用 QMainWindow3. QMainW

使用Python自动化生成PPT并结合LLM生成内容的代码解析

《使用Python自动化生成PPT并结合LLM生成内容的代码解析》PowerPoint是常用的文档工具,但手动设计和排版耗时耗力,本文将展示如何通过Python自动化提取PPT样式并生成新PPT,同时... 目录核心代码解析1. 提取 PPT 样式到 jsON关键步骤:代码片段:2. 应用 JSON 样式到

java变量内存中存储的使用方式

《java变量内存中存储的使用方式》:本文主要介绍java变量内存中存储的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍2、变量的定义3、 变量的类型4、 变量的作用域5、 内存中的存储方式总结1、介绍在 Java 中,变量是用于存储程序中数据

关于Mybatis和JDBC的使用及区别

《关于Mybatis和JDBC的使用及区别》:本文主要介绍关于Mybatis和JDBC的使用及区别,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、JDBC1.1、流程1.2、优缺点2、MyBATis2.1、执行流程2.2、使用2.3、实现方式1、XML配置文件

macOS Sequoia 15.5 发布: 改进邮件和屏幕使用时间功能

《macOSSequoia15.5发布:改进邮件和屏幕使用时间功能》经过常规Beta测试后,新的macOSSequoia15.5现已公开发布,但重要的新功能将被保留到WWDC和... MACOS Sequoia 15.5 正式发布!本次更新为 Mac 用户带来了一系列功能强化、错误修复和安全性提升,进一步增