QTP的基本使用方法Word格式.docx
《QTP的基本使用方法Word格式.docx》由会员分享,可在线阅读,更多相关《QTP的基本使用方法Word格式.docx(24页珍藏版)》请在冰豆网上搜索。
检查Login窗口的名称是否为“Login”,如果不是,认为测试通不过。
定位到ActivateLogin,右键,InsertStandardCheckPoint,选择要检查的属性,这里选择“enabled”属性,设置为true,“text”属性设置为Login。
完成后的关键字视图界面截图
打Ft孝L屮eiwT寿如蛀1fipscutp[?
如Bjub也ill”出幻
Teslrhi'
IKzg1
-已
j扫Back|
I^Mbid
'
em
OpaalE-iViilue
[qrrfr-l
Docjmeridm
Acton!
-匡一鞘
盹衣丈卜对.FtirTlcttiJ
皿theiih&
lcjiri'
ffBiQqbctthagrtejiDpewh■圏他ilie■穷曲ed・opeti册
Adr-BlB
M^-=theIcgrTdabslMiKtivs.
K^rfV'
Jnr*
泊?
亦’
扰・扫㈱肆
Enter"
«
Hn"
inlb-U.3TF"
idltoc
■Pi5smd:
白0如敢:
冲ledsrt^"
J!
E刃弐47玄前31£
3i3^31Zabc-d5±
I74潭IW03Tn加
□Oft
Udi
i£
fck1hE!
TK!
tiitorL
汗护也
ReporiEmjEDme丿诃矿「
=^!
iil■m•』eitfntmd•电ikteI£
li±
cllh&
Iccii"
sfepi:
.rrLDai^
<
i
1
>
■fl1
1-n'
IcrnrdTien•
Experifics/
9Record!
►kiri▼■IF上自
胡”卄拣I」.劄口1
可运行观察测试结果,或修改text属性值后再运行,观察测试结果
4.插入新的测试步骤
定位到要插入新测试步骤的地方,右键,InsertStep->
StepGenerator
Category:
TestObjects:
测试对象,即被测试应用程序的界面上的控件元素
UtilityObjexts:
工具对象,是QTP内建的各种用于编写测试脚本、辅助建立测试逻辑的
工具类对象
Functions:
各种函数,包括库函数、内建函数、本地脚本函数
单击Object旁边的按钮,选择对象,若对象不在列表中,则可单击界面中的手型按钮,移动到Flight程序的“Login”界面,从中选择测试对象“Help”按钮。
注意:
用手型按钮选择对象时,除了Flight程序,应该没有其他程序或其他程序都呈最
小化状态
操作:
在输入AgentName之前,单击help按钮查看帮助
二、对象识别
编辑测试脚本的第一步是识别测试对象,QTP针对不同语言开发的控件,采取不同的对象
识别技术,根据加载的插件来选择相应的控件对象识别的依据。
Tool->
ObjectIdentification
ObjectSpy的使用
ObjectSpy工具可用于观察运行时测试对象的属性和方法。
Tools->
ObjectSpy
x
虽ObjectSpy
Useliepartinghandbuttontoselecttheobjeclwhosepropertiesmrrwthodsyou耐Mtoview.
TipcHoldtheCtrlkeytochangethe理indo內f&
c*JSoiperformolheimouseoperations.
鼻l^eepQbjecl$pyonWpwhilespying
33Dialog:
Login
Runtime0bjedPrope山es+JestObjectPropeHies
■jsear^BSHurr-ryirr-?
ih'
|■.
^ft&
pertiKMethods
4nirh■iivm-ibiiiwiiiarMBit|
-lassMam业[iala
abs_y481
©
n乳辽电dTtu6
focusedFUzi
e
ll
TZ-
D&
seriptiark:
CloseHelp
在测试程序的界面上不断改变测试对象,然后多次使用ObjectSpy来观察其属性的变
化,通过这种方式来了解控件的行为,以及判断哪些控件属性可放到测试脚本中,用于判断
测试结果
对象库管理
QTP在录制测试脚本的过程中会把界面操作涉及的控件对象都自动添加到对象库中,但是那些未被鼠标点击或键盘操作的界面控件则不会添加到对象库中。
Resources->
ObjectRepository(对象库)
在对象库中可以对对象进行重命名、复制、剪切、删除操作,试着删除对象库中现有的某个对象,在运行测试脚本,观察运行过程和结果。
界面中的某些控件对象是有层次关系的,像登录窗口中,按钮、输入框等控件包含在窗口控件中,在添加测试对象到对象库时,可以选择窗口控件,然后选择如下图所示的选项,则会把所选择的窗口的所有控件都添加到对象库中。
角・」.亠蕴晶昌梵闻*甘俺畐站rttei:
UftllObHli也Lion;
|虹灯狀_JObitUriOMafel
访问对象库的测试对象关键字视图,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"
).CIick'
打开帮助界面
).Dialog("
FlightReservations"
).Activate
Login"
).Dialog(FlightReservations"
).Winbutton("
确定"
).Click在函数库中创建自定义函数
1)选择专家视图中,Insert->
FunctionDefinitionGenerator
2)输入如下图
3)单击OK按钮,会在当前Action的测试代码中,添加函数框架代码(专家视图中)
写一个简单的函数,用于往测试报告中添加一条信息
@Description用于演示如何利用FunctionDefinitionGenerator创建函数
PublicFunctionTesti
TODO:
addfunctionbodyhere
Reporter.ReportEventmicDone,"
Test1"
"
往测试报告中添加一条信息
EndFunction4)添加完函数代码后,就可以在测试代码中调用这个函数,调用方法如下:
方法一
Testi调用函数Testi
).DiaIog("
FIightReservations"
DiaIog("
).CIick
PubIicFunctionTesti
Testi"
EndFunction
方法二
Insert->
StepGenerato
调用函数后的关键字视图
QTP中脚本的组成:
以Test为测试运行单位,每个Test包含若干类型Action;
以Active为最小单位映射对象库,
多个Action
四、运行和调试测试脚本
1.语法检查
Tools->
CheckSyntax(Ctrl+F7)
Irirtrnn^tion
Detail£
Item
Adtion
|LineJ
Actifln_H?
lp
斗
2.使用断点(Debug)
单击左侧选定栏或F9,调试方法同其他调试器
单步调试:
Debug->
StepOver或F10进入调用函数:
Debug->
StepInto或F11如果安装了VisualStudio.NET2008,则可以增强QTP的高度能力,在DebugViewer中可以查看到对象的大部分属性。
可以通过安装VisualStudio.NET2008来增强QTP调试能力,也可以不安装,仅仅把其中一个名为PDM.DLL的文件拷贝至U“C:
\ProgramFiles'
CommonFiles'
Microsoft
Shared\VS7DEBUG”目录中,然后注册一下即可,注册方法是在命令行中输入“RegSVR32"
C:
\ProgramFiles\CommonFiles'
MicrosoftShared\VS7DEBUG\pdm.dll"
”
3.运行整个测试
F5或Run按钮,可通过Tools->
Options对运行做必要的设置
Options
Click忙iconfigureScreanReoorderpreferences
确定
Runmode运行模式
Fast:
QTP以尽可能快的速度运行测试脚本中的每一个测试步骤
Normal:
可以进一步设置测试运行过程中每一个步骤直接的停顿时间,利于测试人员在QTP
执行测试的过程中查看测试的整个过程,判断是否如预期的设计一样执行
4.运行部分测试
定位到需要运行的Action.Automation->
RunCurrentAction,或RunFromStep,从当前选中的测试步骤开始运行测试或RuntoStep,开始测试并运行到当前所选的测试步骤
5•批量运行测试
Batch->
Add选择并添加需要运行的测试
Run批量运行列表中的所有测试脚本
Ready
五、
分析测试结果
自动化测试的最后一个步骤就是运行测试并查看测试结果,这个步骤也是非常重要的,测试
员根据测试结果来判断测试是否通过,检查测试脚本是否正确地完成了测试。
运行结果的存储位置
Run
RewoltJSLociRtioTiImputPwMist#rs
Writerunrciultsto:
4『unwJUfdld印保存本次运行测试结杲
*^Temporaryrinresultsfolclei[overwritesanyexistingtemporaryresullsl|CAD0CUHE~1沁MINIV\LOCALS~1\Temp;
TempRe^
运行测试结果存放到默认目录中,并且覆盖上一次该目录中的测试结果
确足取消I帮助|
查看测试运行结果
对左边窗格展开树状目录,可分别查看概要测试运行结果,检查点的结果,测试过程的截屏,
还可对测试过程进行回放。
其中后两项需要设置如下:
选择Always会占用比较大的存储空间。
六、ActiveScreen
ActiveScreen是QTP独有的一个功能,可用于录制测试脚本后辅助编辑和维护测试脚本。
是测试步骤的截图,可用于直观地描述测试步骤,也是一个测试对象的信息库,存储了测试步骤中测试对象的信息,这些信息可用于在应用程序没有运行的情况下,非常容易的添加测
试步骤,参数化对象值和为页面中的任何对象插入检查点、方法、输出值。
基于Web的应用程序,活动屏幕保存页面上图像和其他资源的路径,而不是下载到
本地。
因此,如果这些资源有密码保护,则需要提供登录信息。
非Web应用程序,活动屏
幕基于应用程序窗体可视部分的单一位图文件和活动窗体中带有上下文的每个对象。
1.查看ActiveScreenView->
ActiveScreen
2.ActiveScreen的设置
Options
在Capturelevel中,可以设置ActiveScreen捕获信息的级别,包括如下4个:
1)Complete:
捕获和存储所有信息,包括每个步骤中应用程序的所有激活的窗口、对话框、
Web页面等
2)Partial:
这是默认设置,捕获和存储第一个步骤所执行的应用程序窗口,以及该窗口下属
的对象属性
3)Minimum:
仅捕获和存储录制的对象及其父对象的属性
4)None:
屏蔽ActiveScreen捕获和存储对象属性的功能
存储越多的信息,对于后期编辑测试脚本而言,会更加容易,但是存的信息越多,录制过程则会越慢,而且需要更多的存储空间。
3.在ActiveScreen中选择并添加对象到对象库
选定对象,右键,View/AddObject
犀QlrickTest卩rnre»
Tona(-[DrlQTPtutonallTe^tl
■..'
|FileEditVie*jInsertAutomationResoixce;
DebugToolsWindowHeti
qt>
A匚liveScreen
!
•Record•Rs”■玄op丨出旅丨脅时R皆▼妙・屈*1
T曲冃醐7X%rtP咻:
^_Testi1*|
-.,Testi1
二無.Action1
亀AcUo|
flx
5;
:
ftctive
1111
J
Information
ObjectSelection-ObjectPropertiesView
Thelocationyoucbckedisa^socidledwithseveialobieGte.£
electthelEquiredobjectFromthetreebelcwy.
-產耳Dialog:
WinBiiton:
Help
4.选择ActiveScreen中的对象并输出其对象属性
选定测试对象,右键,InsertOutputValue
Insert
如要输出Login窗口上图片的相关属性,可在ActiveScreen中选择图片,右键,
OutputValue,
谓OutputVaUiBPropertiesX
Marner[sutic
Dass:
Sialic
Insertslateirenl:
&
Beforecumentstep厂Metcurrentstep
OK.LarkedHelp
则会插入一个输出对象属性值的测试步骤,运行测试脚本,得到如下所示结果
5.在ActiveScreen中插入检查点
在单击0K按钮前,插入一个位图检查点
定位,选择对象,右键,InsertBitmapCheckpoint
SelectArea:
选择位图的区域
Checkpointtimeout:
超时时间
Insertstatement:
当前测试步骤之前还是之后6.在ActiveScreen中选择对象并添加测试步骤
在单击OK按钮之前,先单击Help按钮
定位到Help按钮,右键,StepGenerator对StepGenerator的操作同上。
总结:
QTP自动化测试的基本过程,包括以下5个步骤:
1•录制测试脚本
2•编辑测试脚本
3•调试测试脚本
4•运行测试脚本
5•分析测试结果