QTP从零开始学习笔记.docx
- 文档编号:4753575
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:60
- 大小:2.58MB
QTP从零开始学习笔记.docx
《QTP从零开始学习笔记.docx》由会员分享,可在线阅读,更多相关《QTP从零开始学习笔记.docx(60页珍藏版)》请在冰豆网上搜索。
QTP从零开始学习笔记
QTP学习笔记
目录
1QTP目录分析4
1.1QTP安装目录下的文件夹分析4
2QTP界面分析5
2.1菜单的介绍5
2.2Insert介绍6
2.2.1Automation介绍6
2.2.2Resources介绍7
2.2.3Debug介绍7
2.2.4Tools介绍8
2.2.5DataTable和ActiveScreen9
3QTP基本操作录制与回放9
3.1录制9
3.2回放9
4QTP的三种录制方式11
4.1正常录制模式11
4.2模拟录制模式11
4.3低级录制模式11
5QTP增强help步骤11
5.1加入判断语句增强Help步骤11
5.2把Help单独设成一个Action12
5.3关联对象13
6CheckPoint14
6.1标准检查点14
6.2位图检查点15
6.3图像检查点16
6.4文本检查点16
6.5OutputValue输出值17
6.6可访问性检查点18
6.7页面检查点19
7QTP参数化20
7.1使用DataTable进行参数化20
7.2RandomNumber随机数21
7.3环境变量的使用21
7.4DataDriver23
8Tools下的工具介绍24
8.1开始菜单QTP程序中的Tools工具24
9QTP插件分析25
9.1QTP插件加载25
9.2内部插件与外部插件25
9.3插件管理25
10VBS脚本27
10.1VBS数据类型27
10.2变量介绍27
10.3变量作用域与存活期28
10.4标量变量和数组变量28
10.5常量(常数)28
10.6运算符28
10.7条件语句和循环语句28
10.8过程29
11场景恢复RecoveryScenarios30
11.1RecoveryScenarios含义30
11.2什么情况使用RecoveryScenarios30
11.3定义RecoveryScenarios30
11.4关联RecoveryScenarios到测试脚本33
12虚拟对象34
12.1什么是虚拟对象34
12.2定义虚拟对象34
12.3虚拟对象的使用和管理36
13专家视图测试脚本开发37
13.1专家视图与关键字视图的对应关系37
13.2脚本便捷的方法37
13.3启动自动化VBS语法识别37
13.4Utility对象38
13.4.1Extern对象38
13.4.2SystemUtil对象38
13.4.3Reporter对象38
13.5Envirnoment对象的使用39
13.6Msgbox和Print区别39
14QTP描述性编程39
14.1什么时候使用描述性编程39
14.2描述性编程的运行原理39
14.3描述性编程使用方法39
14.4描述性编程特点41
15QTP测试脚本编写规范41
15.1对象、变量和函数的命名规范41
15.2注释规范42
15.3对象库管理42
15.4代码行缩进规范42
16QTP之焦点42
16.1什么是焦点42
16.2如何检查焦点42
17手工测试PK自动化测试43
17.1手工测试43
17.2自动测试43
18QTP之Excel操作44
18.1QTP读取Excel内容44
19QTP之DLL45
19.1QTP调用dll文件中的方法45
20QTP连接数据库46
20.1QTP获取连接串46
20.2QTP调用可重用的Action、参数设置47
20.3运行当前Action脚本(主Action脚本)50
21QTP实例编程50
21.1QTP登录系统实例50
1QTP目录分析
1.1QTP安装目录下的文件夹分析
1、Addins插件包
2、AddinsUpgrade插件升级包
3、bin可执行程序
4、CodeSamplesPlus一些示例代码
5、dat备份和配置信息
6、help帮助中心
7、recovery恢复文件存放目录
8、samples示例程序
9、Tests安装路径的注册信息
2QTP界面分析
2.1菜单的介绍
2.2Insert介绍
2.2.1Automation介绍
RecordandRunSettings录制、运行设置页面如下:
2.2.2Resources介绍
2.2.3Debug介绍
Debug调试之前先打开调试窗口(DebugViewer);
菜单VIEW–>DebugViewer
2.2.4Tools介绍
TOOLSOptions打开选项进行系统设置
2.2.5DataTable和ActiveScreen
3QTP基本操作录制与回放
3.1录制
1、重置QTP,ToolsOptionsGeneralRestoreLayout;
2、进行录制设置,AutomationRecordandRunSettings;
3、开始录制Record。
3.2回放
1、Run运行录制的脚本,AutomationResults查看运行结果。
2、设置断点
3、调出DebugView视图,菜单VIEW–>DebugViewer;
4、DebugStepover或者Stepinto
Stepover:
执行该步骤下的子步骤;
Stepinto:
跳过该步骤下的子步骤,执行下一步骤。
Runtostep从脚本开始跑到指定的setp停止;
Debugfromstep从当前指定的步骤开始跑到结尾。
5、增加步骤,选中AgentName点击右键
4QTP的三种录制方式
4.1正常录制模式
通过识别程序中的对象来录制脚本。
4.2模拟录制模式
录制鼠标的移动轨迹和键盘录入数据。
4.3低级录制模式
录制的所有对象默认为Windows或者WinObject对象
5QTP增强help步骤
5.1加入判断语句增强Help步骤
1、加入if语句进行判断,如果出现指定的窗口,点“确定”按钮;Exist方法,判断指定窗口是否存在,Dialog对话框
IfDialog("Login").Dialog("FlightReservations").ExistThen
Dialog("Login").Dialog("FlightReservations").WinButton("确定").Click
EndIf
2、增强Help步骤代码如下:
Dialog("Login").WinButton("Help").Click
IfDialog("Login").Dialog("FlightReservations").ExistThen
Dialog("Login").Dialog("FlightReservations").WinButton("确定").Click
EndIf
Dialog("Login").WinEdit("AgentName:
").Set"mercury"
Dialog("Login").WinEdit("Password:
").SetSecure"4e4c5d9e12e16eac3643b0175019db31d16e7fe3"
Dialog("Login").WinButton("OK").Click
Window("FlightReservation").Close
5.2把Help单独设成一个Action
1、增加新的Action,命名为“Action_Help”,InsertCalltoNewAction
可以点击Action_Help右键,选中ActionPropertiesGeneral,勾选ReuableAction
2、将Help部分脚本放到Action_Help中
Dialog("Login").WinButton("Help").Click
IfDialog("Login").Dialog("FlightReservations").ExistThen
Dialog("Login").Dialog("FlightReservations").WinButton("确定").Click
EndIf
5.3关联对象
1、导出已存在需要关联的对象库,ResourcesObjectRepsitory
2、关联对象库,ResourcesAssociateRepositories
6CheckPoint
6.1标准检查点
选中要检查的步骤,在ActiveScreen中点击右键,选中InsertStandardCheckpoint进行检查点设置。
6.2位图检查点
选中要检查的步骤,在ActiveScreen中点击右键,选中InsertBitmapCheckpoint进行检查点设置。
6.3图像检查点
选中要检查的步骤,在ActiveScreen中点击右键,选中InsertStandardCheckpoint进行检查点设置。
方法同位图检查点
6.4文本检查点
选中要检查的步骤,在ActiveScreen中点击右键,选中InsertTextCheckpoint进行检查点设置。
Matchcase大小写匹配;
Exactcase精确匹配;
Ignorespace忽略空格匹配;
Textnotdisplayed文字不显示。
6.5OutputValue输出值
选中要检查的步骤,在ActiveScreen中点击右键,选中InsertOutputValue进行检查点设置;
输出值只有运行时在DataTable中显示,运行结束后不显示,可以在脚本运行结果中查看输出值。
6.6可访问性检查点
选中要检查的步骤,在ActiveScreen中点击右键,选中InsertAccessibilityCheckpoint进行检查点设置。
6.7页面检查点
选中要检查的步骤,在ActiveScreen中点击右键,选中InsertStandardCheckpoint进行检查点设置。
选中Page项
7QTP参数化
7.1使用DataTable进行参数化
7.2RandomNumber随机数
Window("FlightReservation").Activate
Window("FlightReservation").WinButton("Button").Click
Window("FlightReservation").WinObject("DateofFlight:
").TypeDataTable("Date",dtGlobalSheet)
Window("FlightReservation").WinComboBox("FlyFrom:
").SelectDataTable("Fly_From",dtGlobalSheet)
Window("FlightReservation").WinComboBox("FlyTo:
").SelectDataTable("Fly_To",dtGlobalSheet)
Window("FlightReservation").WinButton("FLIGHT").Click
Window("FlightReservation").Dialog("FlightsTable").WinList("From").SelectRandomNumber(0,100)
Window("FlightReservation").Dialog("FlightsTable").WinButton("OK").Click
Window("FlightReservation").WinEdit("Name:
").Set"YANG"
Window("FlightReservation").WinButton("InsertOrder").Click
Window("FlightReservation").WinButton("Button_2").Click
Window("FlightReservation").Dialog("OpenOrder").WinCheckBox("CustomerName").Set"ON"
Window("FlightReservation").Dialog("OpenOrder").WinEdit("Edit").Set"YANG"
Window("FlightReservation").Dialog("OpenOrder").WinButton("OK").Click
Window("FlightReservation").Dialog("OpenOrder").Dialog("SearchResults").WinButton("OK").Click
7.3环境变量的使用
环境变量设置,FileSettingEnvironmentUserDefined
UserDefined用户创建的环境变量
Built-in系统自带的环境变量
7.4DataDriver
DataDriver功能可以自动检测脚本中可能需要进行参数化的变量,ToolsDataDriver
8Tools下的工具介绍
8.1开始菜单QTP程序中的Tools工具
9QTP插件分析
9.1QTP插件加载
1、QTP在使用不同插件时需要为插件提供不同的License;
2、在HelpAboutQuickTestProfessionsl中查看当前安装和加载的插件;
3、需要使用哪个插件就加载哪个,不要加载不用的插件,这样可以提高运行效率。
9.2内部插件与外部插件
1、内部插件就是安装完QTP自带的Activex、VB、Web的插件;
2、外部插件是可以通过外部的安装来扩充的插件,比如:
.NET、JAVA等插件;
3、可以到HP网站或其他网站去下载需要的插件。
9.3插件管理
1、在ToolsOptions中的General下设置插件;
2、插件关联可以在FileSettings中设置。
3、插件和类型检查点关系
10VBS脚本
10.1VBS数据类型
VBS只包含一种了数据类型Variant。
10.2变量介绍
变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储Script运行时可更改的程序信息。
声明变量的一种方式是使用Dim语句、Public语句和Private语句在Script中显式声明变量,如DimDegreeFahrenheit
声明多个变量时,是使用逗号分隔变量,例如:
Dimtop,Bottom,Left,Right;
另一种方式是通过直接在Script中使用变量名这一简单方式隐式声明变量,但是这样有时会由于变量名被拼错而导致在运行Script时出现意外的结果,因此,最好使用OptionExplicit语句显式声明所有变量,并将其作为Script的第一条语句。
变量命名规则:
第一个字符必须是字母,不能包含嵌入的句点,长度不能超过255个字符,在被声明的作用区域内必须是唯一的。
变量命名约定
10.3变量作用域与存活期
1、变量的作用域由声明的位置决定。
如果在过程中声明的变量,则只有该过程中的代码可以访问或更改变量值,此时变量具有局部作用域并被称为过程级变量,如果在过程之外申明变量,则该变量可以被Script中所有过程所设别,称为Script级变量,具有Script级(全局)作用域;
2、变量存在的时间称为存活期。
Script级变量的存活期从被声明的一刻起,直到Script运行结束。
对于过程级变量,其存活期仅是该过程运行的时间,该过程结束后,变量随之消失。
在执行过程时,局部变量是理想的临时存储空间。
可以在不同过程中使用同名的局部变量,这是因为每个局部变量只被声明它的过程识别。
10.4标量变量和数组变量
1、多数情况下,只需为声明的变量赋一个值。
只包含一个值的变量被称为标量变量。
有时候,将多个相关值赋给一个变量更为方便,因此可以创建包含一系列值的变量,称为数组变量。
数组变量和标量变量是以相同的方式声明的,唯一的区别是声明数组变量时变量名后面带有括号()。
例如:
声明一个包含11个元素的一维数组:
DimA(10),这种数组被称为固定大小的数组。
10.5常量(常数)
1、可以使用Const语句在VBScript中创建用户自定义常数。
使用Const语句可以创建名称具有一定含义的字符串型或数值型常数,并给它们赋原义值。
如:
ConstconString=“这是一个字符串”
如:
ConstconInt=60
2、字符串文字包含在两个引号(””)之间。
是区分字符型常数和数值型常数最明显的方法;日期文字和时间文字包含在两个#号之间。
例如:
ConstconCutoffDate=#6-1-97#
10.6运算符
VBScript有一套完整的运算符,包括算术运算符、比较运算符、连接运算符和逻辑运算符。
字符串连接(&)运算符不是算术运算符,但是在优先级顺序中,它排在所有算术运算符之后和所有比较运算符之前。
ls运算符是对象引用比较运算符,它并不比较对象或对象的值,而只是进行检查,判断两个对象引用是否引用同一个对象。
10.7条件语句和循环语句
1、使用条件语句和循环语句可以控制Script的流程。
使用条件语句可以编写进行判断和重复操作的VBScript代码。
在VBScript中可以使用以下条件语句:
If…Then…Else语句
SelectCase语句
2、循环用于重复执行一组语句。
循环可以分为三类:
第一类在条件变为False之前重复执行语句;第二类在条件变为True之前重复执行语句;第三类安装指定的次数重复执行语句。
3、在VBScript中可以使用下列循环语句:
Do…Loop:
当(或直到)条件为True时循环;
While…Wend:
当条件为True时循环;
For…Next:
指定循环此时,使用计数器重复运行语句;
ForEach…Next:
对于集合中的每项或数组中的每个元素,重复执行一组语句。
10.8过程
1、Sub过程是包含在Sub和EndSub语句之间的一组VBScript语句,执行操作但不返回值。
Sub过程可以使用参数(由调用过程传递的常数、变量或表达式),如果Sub过程无任何参数,则Sub语句必须包含空括号()。
2、Founction过程时包含在Founction和EndFounction语句之间的一组VBScript语句,Founction过程与Sub过程类似,但是Founction过程可以返回值。
Founction过程可以使用参数(由调用过程传递的常数、变量或表达式)。
如果Founction过程无任何参数,则Founction语句必须包含空括号(),Founction过程通过函数名返回一个值,这个值是在过程的语句中赋给函数名的,Founction返回值的数据类型是Variant。
代码注释约定
'********************************************************************************
'目的:
返回指定用户在UserList数组中第一次出现的位置
'输入:
strUserList(),所查找的用户列表
'strTargetUser:
要查找的用户名
'返回:
strTargetUser在strUserList数组中第一次出现时的索引
'如果目标用户未找到,返回-1
'*********************************************************************************
FunctionintFinduser(strUserList(),strTargetUser)
Dimi'循环计数器
DimblnFound'发现目标的标记
intFindUser=-1
i=0'初始化循环计数器
DoWhilei<=Ubound(strUserList)andNotblnFound
IfstrUserList(i)=strTargetUserThen
blnFound=True'标记设为True
intFindUser=i'返回值为循环计数器
Endif
i=i+1'‘循环计数器加1
Loop
EndFunction
11场景恢复RecoveryScenarios
11.1RecoveryScenarios含义
在脚本运行过程中,可能会出现一些非预期的事件、错误、程序崩溃等情况,阻止脚本继续执行下去,测试脚本可能会一直暂停执行,直到某些界面操作被执行才能恢复,为了处理这类型的错误,QTP创建了RecoveryScenarios,并关联到某个测试脚本,这些恢复场景会被相应的事件触发而执行。
11.2什么情况使用RecoveryScenarios
RecoveryScenarios的设计目的是用于处理那些不可预见的事件,例如:
可以定义一个RecoveryScenarios用于处理打印错误,当运行脚本过程中打印机出现错误时,RecoveryScenarios就会指导QTP执行某个操作;对于可以预见的错误,要用IF语句来处理,不要依赖于RecoveryScenarios。
11.3定义RecoveryScenarios
可以通过使用RecoveryScenarios向导来创建和定义RecoveryScenarios;
RecoveryRecoveryScenariosManager
11.4关联RecoveryScenarios到测试脚本
在要关联的脚本中选择FileSetting进行添加。
12虚拟对象
12.1什么是虚拟对象
可以让QTP学会认识某些它不能识别的控件,方法是把这些控件所在的区域定义为虚拟对象;使用虚拟对象技术,可以对那些通常不能被QTP所识别的对象进行录制和运行测试。
如果程序中包括那些行为类似标准对象的对象,但是不被QTP所识别,则可以把这些对象定义为虚拟对象,并且映射到某类标准对象;QTP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- QTP 从零开始 学习 笔记