QTP的基本使用方法.docx
《QTP的基本使用方法.docx》由会员分享,可在线阅读,更多相关《QTP的基本使用方法.docx(27页珍藏版)》请在冰点文库上搜索。
![QTP的基本使用方法.docx](https://file1.bingdoc.com/fileroot1/2023-6/14/f68d2069-9f34-413a-b112-cda1d5feaa0a/f68d2069-9f34-413a-b112-cda1d5feaa0a1.gif)
QTP的基本使用方法
QTP基本功能的使用
实验目的:
1熟悉QTP各项菜单的操作
2了解QTP自动化测试的基本过程
3熟练使用关键字视图
4理解对象库的作用,并学会对对象库的管理
5掌握运行和调试测试脚本的基本方法
6能够分析测试结果文档
实验容:
一、QTP基本功能的使用
1.录制一个Flight登录脚本。
1)Automation->RecordandRunsettings,设置成只录制指定程序
2)单击“Record”按钮,或F3,开始录制,输入用户名,密码(MECURY),确定
二、关键字视图
在关键字视图中,可以看到4个测试步骤,分别是:
1.让Login窗口处于激活状态。
(可以通过单击任务栏上的图标激活)
2.在“AgentName”输入框中输入字符串“admin”
3.在“Password”输入框中输入密码
4.单击“OK按钮
Tips:
可通过右键,选择“CopyDocumentationtoClipboard”,导出测试步骤文档,生成测试用例,用于指导手工测试的进行。
对关键字视图进行以下操作:
1.添加注释:
右键,Comment
2.添加测试输出信息:
选择对应的操作步骤,InsertStep->Report
在Login之前,报告开始登录操作,在单击OK按钮后,报告完成登录操作
以上操作之后,关键字视图界面截图参考
3.插入检查点(CheckPoint)
检查点是一个比较测试对象当前属性值与预期属性值的验证点,它让测试人员可以根据验证点的结果来判断被测试的应用程序是否正常工作。
检查Login窗口的名称是否为“Login”,如果不是,认为测试通不过。
定位到ActivateLogin,右键,InsertStandardCheckPoint,选择要检查的属性,这里选择“enabled”属性,设置为true,“text”属性设置为Login。
完成后的关键字视图界面截图
可运行观察测试结果,或修改text属性值后再运行,观察测试结果
4.插入新的测试步骤
定位到要插入新测试步骤的地方,右键,InsertStep->StepGenerator
Category:
TestObjects:
测试对象,即被测试应用程序的界面上的控件元素
UtilityObjexts:
工具对象,是QTP建的各种用于编写测试脚本、辅助建立测试逻辑的工具类对象
Functions:
各种函数,包括库函数、建函数、本地脚本函数
单击Object旁边的按钮,选择对象,若对象不在列表中,则可单击界面中的手型按钮,移动到Flight程序的“Login”界面,从中选择测试对象“Help”按钮。
注意:
用手型按钮选择对象时,除了Flight程序,应该没有其他程序或其他程序都呈最小化状态
操作:
在输入AgentName之前,单击help按钮查看帮助
二、对象识别
编辑测试脚本的第一步是识别测试对象,QTP针对不同语言开发的控件,采取不同的对象识别技术,根据加载的插件来选择相应的控件对象识别的依据。
Tool->ObjectIdentification
ObjectSpy的使用
ObjectSpy工具可用于观察运行时测试对象的属性和方法。
Tools->ObjectSpy
Tips:
在测试程序的界面上不断改变测试对象,然后多次使用ObjectSpy来观察其属性的变化,通过这种方式来了解控件的行为,以与判断哪些控件属性可放到测试脚本中,用于判断测试结果
对象库管理
QTP在录制测试脚本的过程中会把界面操作涉与的控件对象都自动添加到对象库中,但是那些未被鼠标点击或键盘操作的界面控件则不会添加到对象库中。
Resources->ObjectRepository(对象库)
在对象库中可以对对象进行重命名、复制、剪切、删除操作,试着删除对象库中现有的某个对象,在运行测试脚本,观察运行过程和结果。
●Objects->AddObjecttoLocal
●或通过对应的按钮
和手型工具一样,同样需要注意被测对象的当前位置
Tips:
界面中的某些控件对象是有层次关系的,像登录窗口中,按钮、输入框等控件包含在窗口控件中,在添加测试对象到对象库时,可以选择窗口控件,然后选择如以下图所示的选项,则会把所选择的窗口的所有控件都添加到对象库中。
访问对象库的测试对象
关键字视图,Selectanitem,Objectfromrepository…
在专家视图中同样可以访问到对象库的测试,以与它们的属性和方法。
导出对象库
File->ExporttoLocalObjects
三、添加新的Action
Action相当于测试脚本的文件,可使用Action来划分和组织测试流程,可以把一些公用的操作放到同一个Action中,以便重用。
Insert->CalltoNewAction
关联Action的对象库
双击新添加的Action,可在该Action中添加新的测试代码。
QTP为每个Action生成相应的测试文件和目录,而对象库作为资源,也是与Action绑定的,新添加的Action不能直接使用前一个Action中的测试对象。
解决方法
⏹录制新的测试脚本
⏹关联前一个Action导出的对象库文件
1)Resources->AssociateRepositories
2)单击“+”按钮,选择前一个导出的对象库文件,把左边的Action_Help移动到右边的AssociatedAction
3)在Action_Help的测试脚本中,可以使用Action1中对象库的对象
Action_Help中的对象与Action1中的是一致的,但是不能进行修改,用灰色显示,右边的Repository,显示为引用对象库文件的路径
编辑新的Action
专家视图中编辑新的测试脚本,试着输入以下代码
Dialog("Login").WinButton("Help").Click'打开帮助界面
Dialog("Login").Dialog("FlightReservations").Activate
Dialog("Login").Dialog(FlightReservations").Winbutton("确定").Click
在函数库中创建自定义函数
1)选择专家视图中,Insert->FunctionDefinitionGenerator
2)输入如以下图
3)单击OK按钮,会在当前Action的测试代码中,添加函数框架代码(专家视图中)
写一个简单的函数,用于往测试报告中添加一条信息
'Description用于演示如何利用FunctionDefinitionGenerator创建函数
PublicFunctionTest1
'TODO:
addfunctionbodyhere
Reporter.ReportEventmicDone,"Test1","Test1"'往测试报告中添加一条信息
EndFunction
4)添加完函数代码后,就可以在测试代码中调用这个函数,调用方法如下:
方法一
Test1'调用函数Test1
Dialog("Login").WinButton("Help").Click'打开帮助界面
Dialog("Login").Dialog("FlightReservations").Activate
Dialog("Login").Dialog("FlightReservations").Winbutton("确定").Click
'Description用于演示如何利用FunctionDefinitionGenerator创建函数
PublicFunctionTest1
'TODO:
addfunctionbodyhere
Reporter.ReportEventmicDone,"Test1","Test1"'往测试报告中添加一条信息
EndFunction
方法二
Insert->StepGenerato
调用函数后的关键字视图
QTP中脚本的组成:
以Test为测试运行单位,每个Test包含若干类型Action;以Active为最小单位映射对象库,多个Action
四、运行和调试测试脚本
1.语法检查
Tools->CheckSyntax(Ctrl+F7)
2.使用断点(Debug)
单击左侧选定栏或F9,调试方法同其他调试器
单步调试:
Debug->StepOver或F10
进入调用函数:
Debug->StepInto或F11
如果安装了VisualStudio.NET2008,则可以增强QTP的高度能力,在DebugViewer中可以查看到对象的大部分属性。
Tips:
可以通过安装VisualStudio.NET2008来增强QTP调试能力,也可以不安装,仅仅把其中一个名为PDM.DLL的文件拷贝到“C:
\ProgramFiles\CommonFiles\MicrosoftShared\VS7DEBUG”目录中,然后注册一下即可,注册方法是在命令行中输入“RegSVR32”C:
\ProgramFiles\CommonFiles\MicrosoftShared\VS7DEBUG\pdm.dll””
3.运行整个测试
F5或Run按钮,可通过Tools->Options对运行做必要的设置
Runmode运行模式
Fast:
QTP以尽可能快的速度运行测试脚本中的每一个测试步骤
Normal:
可以进一步设置测试运行过程中每一个步骤直接的停顿时间,利于测试人员在QTP执行测试的过程中查看测试的整个过程,判断是否如预期的设计一样执行
4.运行部分测试
定位到需要运行的Action,Automation->RunCurrentAction,
或RunFromStep,从当前选中的测试步骤开始运行测试
或RuntoStep,开始测试并运行到当前所选的测试步骤
5.批量运行测试
开始->所有程序->QTP–>Tools->TestBatchRunner
Batch->Add选择并添加需要运行的测试
Batch->Run批量运行列表中的所有测试脚本
五、分析测试结果
自动化测试的最后一个步骤就是运行测试并查看测试结果,这个步骤也是非常重要的,测试员根据测试结果来判断测试是否通过,检查测试脚本是否正确地完成了测试。
运行结果的存储位置
运行测试结果存放到默认目录中,并且覆盖上一次该目录中的测试结果
查看测试运行结果
对左边窗格展开树状目录,可分别查看概要测试运行结果,检查点的结果,测试过程的截屏,还可对测试过程进行回放。
其中后两项需要设置如下:
选择Always会占用比较大的存储空间。
六、ActiveScreen
ActiveScreen是QTP独有的一个功能,可用于录制测试脚本后辅助编辑和维护测试脚本。
是测试步骤的截图,可用于直观地描述测试步骤,也是一个测试对象的信息库,存储了测试步骤中测试对象的信息,这些信息可用于在应用程序没有运行的情况下,非常容易的添加测试步骤,参数化对象值和为页面中的任何对象插入检查点、方法、输出值。
注意:
基于Web的应用程序,活动屏幕保存页面上图像和其他资源的路径,而不是下载到本地。
因此,如果这些资源有密码保护,则需要提供登录信息。
非Web应用程序,活动屏幕基于应用程序窗体可视部分的单一位图文件和活动窗体中带有上下文的每个对象。
1.查看ActiveScreen
View->ActiveScreen
2.ActiveScreen的设置
Tools->Options
在Capturelevel中,可以设置ActiveScreen捕获信息的级别,包括如下4个:
1)Complete:
捕获和存储所有信息,包括每个步骤中应用程序的所有激活的窗口、对话框、Web页面等
2)Partial:
这是默认设置,捕获和存储第一个步骤所执行的应用程序窗口,以与该窗口下属的对象属性
3)Minimum:
仅捕获和存储录制的对象与其父对象的属性
4)None:
屏蔽ActiveScreen捕获和存储对象属性的功能
注意:
存储越多的信息,对于后期编辑测试脚本而言,会更加容易,但是存的信息越多,录制过程则会越慢,而且需要更多的存储空间。
3.在ActiveScreen中选择并添加对象到对象库
选定对象,右键,View/AddObject
4.选择ActiveScreen中的对象并输出其对象属性
选定测试对象,右键,InsertOutputValue
如要输出Login窗口上图片的相关属性,可在ActiveScreen中选择图片,右键,InsertOutputValue,
则会插入一个输出对象属性值的测试步骤,运行测试脚本,得到如下所示结果
5.在ActiveScreen中插入检查点
操作:
在单击OK按钮前,插入一个位图检查点
定位,选择对象,右键,InsertBitmapCheckpoint
SelectArea:
选择位图的区域
Checkpointtimeout:
超时时间
Insertstatement:
当前测试步骤之前还是之后
6.在ActiveScreen中选择对象并添加测试步骤
操作:
在单击OK按钮之前,先单击Help按钮
定位到Help按钮,右键,StepGenerator,对StepGenerator的操作同上。
总结:
QTP自动化测试的基本过程,包括以下5个步骤:
1.录制测试脚本
2.编辑测试脚本
3.调试测试脚本
4.运行测试脚本
5.分析测试结果