QTP自动化测试讲义.doc





《QTP自动化测试讲义.doc》由会员分享,可在线阅读,更多相关《QTP自动化测试讲义.doc(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流QTP自动化测试讲义.精品文档.QTP课程笔记QTP介绍知识点HP QuickTest Professional是一款先进的自动化测试解决方案,用于创建功能和回归测试。它自动捕获、验证和重放用户的交互行为。通过QTP可以测试标准的Windows Applications、Web对象、ActiveX控件和Visual Basic应用程序。我们还可以获得其他的QTP加载项以便用于许多特殊的环境,例如Java、Oracle、SAP解决方案、.NET Windows以及Web Forms、Siebel、PeopleSoft、Web服务和终端仿真应用程
2、序。QTP通过录制在应用程序中执行的操作,可以方便地创建测试和业务组件。测试和业务组件是两种不同类型的文档,可用于测试您的应用程序或网站是否按预期工作。示例演示程序采用QTP自带的Flight程序,生成一张新的订单。QTP程序的结构知识点录制选项的含义:为了提高脚本的可移植性,建议两边都选最上面如果开始录制时没有弹出该窗口,可以利用菜单Automation/Record and Run Setting来启动由QTP自己打开的程序:如果选中该选项,则第一次录制时QTP只会生成启动程序的脚本,而不会录制后续的动作。快捷方式的程序是否录制:通过快捷方式启动程序程序的动作也能够录制下来。指定要录制的程
3、序:开始录制后自动启动指定的程序VC QTP工程 project TEST模块 module Action函数 function Sub/Function到TEST目录的Action1下面打开文件Script.mts,可以看到录制的代码QTP脚本的特点:1、脚本回放成功需要:代码(脚本) + 对象(在对象库中有记录相关对象的信息)2、脚本语法: 对象类型(“对象名称”).方法 参数1,参数2,由QTP打开程序,有几种方法:1、 SystemUtil.Run SystemUtil对象的Run方法SystemUtil.Run D:Program FilesHPQuickTest Professio
4、nalsamplesflightappflight4a.exe参数示例:file :D:Program FilesHPQuickTest Professionalsamplesflightappflight4a.exeparams:op:D:Program FilesHPQuickTest Professionalsamplesflightappmdoe:openSystemUtil.Run D:Program FilesHPQuickTest Professionalsamplesflightappflight4a.exe, , D:Program FilesHPQuickTest Prof
5、essionalsamplesflightapp, open2、InvokeApplication 调用程序函数InvokeApplication D:Program FilesHPQuickTest Professionalsamplesflightappflight4a.exe3、 WSH 通过wsh对象的Run(bat)或者exec(exe)方法Dim oWSHSet oWSH = CreateObject(WScript.shell)oWSH.exec D:Program FilesHPQuickTest Professionalsamplesflightappflight4a.exe
6、Set oWSH = nothingDim oWSHSet oWSH = CreateObject(WScript.shell)oWSH.run E:WORKProjects3.batSet oWSH = nothing参照文章:为确保脚本移植性,可以引入环境变量,例如:SystemUtil.Run Environment.Value(ProductDir) & samplesflightappflight4a.exeEnvironment.Value(ProductDir):QTP产品所安装的路径Environment.Value(TestDir):工程(TEST)所在的路径可使用下面的语句
7、来检查:msgbox environment(ProductDir)msgbox environment(TestDir)示例以下结合err对象和on error resume next语句做例子:On Error Resume NextOn error goto 0Dim bFlagbFlag = CBool(bFlag)bFlag = InvokeApplication (C:win2000-calc11111.exe)msgbox bFlagIf err.number0 Thenmsgbox err.descriptionerr.clearEnd IfQTP的对象识别原理知识点举例:找关
8、羽!依据的是这个人的特征,而不是人名,人名是有重复的。1、录制原理QTP首先“观看”要录制的对象,然后将其作为测试对象进行存储,确定该对象符合的测试对象类,例如标准Windows对话框(Dialog)、Web按钮(WebButton)或Visual Basic滚动条对象(VbScrollBar)。然后,对于每个测试对象类,QTP都有一个始终要记住的强制属性的列表,在录制对象时,QTP始终记住这些默认的属性值,然后再检查“视图”页面上其余的对象、对话框或其他父对象,以检查该描述是否足以唯一标识该对象,如果不足以进行唯一标识,QTP将向该描述中逐渐添加辅助属性,直到经过编译成为唯一的描述为止,如果
9、没有可用的辅助属性,或者那些可用的辅助属性仍不足够创建一个唯一的描述,QTP将添加一个特殊的顺序标识符(例如页面上或源代码中对象的位置)以创建唯一的描述。在回放过程中,QTP会搜索与录制时记住的测试对象的描述完全匹配的运行时对象,它需要找到与录制时用于创建唯一描述的强制属性和任何辅助属性完全匹配的对象,只要应用程序中的对象没有较大的改变,录制过程中记住的描述几乎总是足以使QTP唯一标识出该对象。对于大部分对象,这种方法是适用的,但应用程序中包含的某些对象可能在后续运行会话期间很难标识。但即使录制的描述不再准确,QTP也能通过其“智能标识”机制使用非常相似的排除过程来标识对象。即使测试对象属性的
10、值有所改变,QTP的TestGuard技术机制也能通过使用“智能标识”标识对象从而维护测试或组件的可重用性。属性识别再到属性value的识别,就确定了对象。QTP能识别对象不是因为对象的名称,而是从对象的强制属性的取值来识别对象。而名称就算不一样都无所谓。菜单项:Tools/Object Identification2、回放原理一、先根据脚本中的对象类型在对象库中查找是否存在该类型的对象。对象类型 是指 在对象类型库(Object Identification)中存在的类型。二、根据脚本中对象的名称在对象库中查找是否存在该名称的对象。三、根据对象类型库中设定的对象识别机制定位对象:1、先根据强
11、制属性匹配实际对象的属性值:(1)唯一匹配,找到对象,退出识别机制;(2)多个匹配,采用辅助属性辅助识别;(3)不匹配,报错;2、根据辅助属性匹配实际对象的属性值:(1)唯一匹配,找到对象,退出识别机制;(2)多个匹配,采用顺序标识符辅助识别;(3)不匹配,报错;3、根据顺序标识符匹配实际对象的顺序值:(1)唯一匹配,找到对象,退出识别机制;(2)多个匹配,尝试采用智能识别;(3)不匹配,报错;其中顺序标识符中有两种识别机制:index:控件数组的索引值。location:对象在GUI界面上的位置,遵循“先从上到下,再从左到右”的原则。4、QTP采用自身的一套智能识别机制识别(Smart Id
12、entification)。示例利用win2000-calc.exe计算器录制一段脚本1+2=3修改对象库中各对象的Name,则脚本中的名称也一并变化,并且不管把名称修改成什么,回放结果都是1+2=3,并不因Name的不同而去结算别的值(改了名你还是你)。不重新录制,而是修改这段脚本,计算3+4=7。方法:利用对象库中的添加对象按钮把按钮3和4加进来,然后修改脚本。Object Repository:对象库,查看每个定义的对象的属性和值。Highlight:高亮显示识别的是哪个对象。Object Spy:对象探测器,利用它可以正确探测到对象的实际值。Add Objects to Local:添
13、加对象库Update from Application:更新对象属性locate in repository:定位指定的对象是对象库中的哪个对象不重新录制,修改脚本,计算5+6=11方法:利用Active Screen(View Active Screen)实现,鼠标指向对象,右键执行“Add/View ObjectAdd to repository”保存脚本,“Action1SnapShots”目录下放着许多png文件。练习录制win2000-calc.exe计算器。QTP脚本的调试知识点Tools/Check Syntax:运行程序之前先检查语法调试功能:Step Into:F11,单步调
14、试,按一次F11脚本执行一句。Step Over:F10,跳过(其实执行了,只是没有单步调试)。如果是普通语句,则按一次F10执行一句,如果遇到过程/函数,则按一次F10会把该过程/函数一次性执行完。Step Out:Shift+F11,从过程/函数体内跳出(其实也执行了,只是执行完跳出来)。Step Over是在遇到过程/函数时一次性快速把过程/函数执行完,Step Out则是在单步执行到过程/函数内部后,快速执行完并跳出来,进入了过程/函数体后再用Step Over是跳不出来的。运行功能:F5 确定:开始运行Run from Step:鼠标从哪一行开始闪,程序就从哪一行开始运行,会直接运行
15、完。Debug from step:从光标处开始调试,要点F5 、F11、F10、Shift+F11继续运行。Run to Step:运行到光标处Breakpoint:F9,断点,运行到断点处会停止,按F5、F11、F10、Shift+F11继续运行。断点与Run to Setp的相同点是运行到指定位置都会暂停,但断点的好处是可以设置多个暂停点。调试视图:View/Debug Viewerwatch 监视窗口:选择一个变量,右键执行“Add to Watch”,就可以在watch窗口中只监视这个变量。Variables变量的查看窗口:在执行时动态的看到变量的值Command命令行窗口:可以动态
16、的更改变量和语句,也可以临时加一些变量和语句示例示例1:录制计算器进行加法计算,先算一个整数相加,再算一个浮点数相加,然后演示运行功能。SystemUtil.Run C:WINDOWSsystem32calc.exeWindow(计算器).WinButton(1).ClickWindow(计算器).WinButton(+).ClickWindow(计算器).WinButton(3).ClickWindow(计算器).WinButton(=).ClickWindow(计算器).WinButton(C).ClickWindow(计算器).WinButton(4).ClickWindow(计算器).
17、WinButton(.).ClickWindow(计算器).WinButton(5).ClickWindow(计算器).WinButton(+).ClickWindow(计算器).WinButton(8).ClickWindow(计算器).WinButton(.).ClickWindow(计算器).WinButton(8).ClickWindow(计算器).WinButton(=).ClickWindow(计算器).Close示例2:录制一个计算器加法功能,把整数加法和浮点数加法分别封装成两个过程,然后演示各个调试功能。参考代码如下:SystemUtil.Run calc.exeWindow(
18、计算器).ActivateWindow(计算器).WinButton(C).ClickintCalcfloatCalcSub intCalc() With Window(计算器).WinButton(1).Click.WinButton(+).Click.WinButton(2).Click.WinButton(=).Click End withEnd SubSub floatCalc()Window(计算器).WinButton(1).ClickWindow(计算器).WinButton(+).ClickWindow(计算器).WinButton(2).ClickWindow(计算器).Wi
19、nButton(=).ClickWindow(计算器).WinEdit(Edit).SetCaretPos 3Window(计算器).WinButton(4).ClickWindow(计算器).WinButton(.).ClickWindow(计算器).WinButton(5).ClickWindow(计算器).WinButton(+).ClickWindow(计算器).WinButton(6).ClickWindow(计算器).WinButton(.).ClickWindow(计算器).WinButton(9).ClickWindow(计算器).WinButton(=).ClickEnd S
20、ubWindow(计算器).Close示例3:定义两个变量,代替飞机票预定系统输入的用户名和密码。然后将这两个变量加到调试窗口中:Add To Watch。利用F11单步调试时能够看到这两个变量的值。(如果运行时看不到Debug Viewer,则可在调试状态下打开该窗口)Dim AgentName,PasswordAgentName=adminPassword=mercurySystemUtil.Run D:Program FilesMercury InteractiveQuickTest Professionalsamplesflightappflight4a.exeDialog(Login
21、).ActivateDialog(Login).WinEdit(Agent Name:).Set AgentNameDialog(Login).WinEdit(Password:).Set PasswordDialog(Login).WinButton(OK).ClickWindow(Flight Reservation).Close练习练习1:找到Tab键和Return键的字符串值。练习2:自己录制一下飞机预订系统admin/mercury,做一些调试和运行练习。插入Output Value知识点输出值Output Value:获取实际结果,点工具栏的Results快捷键能看到实际运行结果。
22、如何让QTP记住程序的输出值并记录在Results中:在录制脚本并执行到出结果的地方时,执行Insert/Output Value/Standard Output Value,选择要记录的对象和对象的属性。等到录制的脚本执行时,程序就会记录实际运行的结果值并输出到Results报表中。示例示例:计算1+2和2+2,把计算结果取出来放到dtGlobalSheet中去。相关语句:Window(计算器).WinEdit(Edit).Output CheckPoint(Edit)SystemUtil.Run calc.exeWindow(计算器).WinButton(datatable(num1,dt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- QTP 自动化 测试 讲义

限制150内