QTP从零开始学习笔记.docx

上传人:b****6 文档编号:4753575 上传时间:2022-12-08 格式:DOCX 页数:60 大小:2.58MB
下载 相关 举报
QTP从零开始学习笔记.docx_第1页
第1页 / 共60页
QTP从零开始学习笔记.docx_第2页
第2页 / 共60页
QTP从零开始学习笔记.docx_第3页
第3页 / 共60页
QTP从零开始学习笔记.docx_第4页
第4页 / 共60页
QTP从零开始学习笔记.docx_第5页
第5页 / 共60页
点击查看更多>>
下载资源
资源描述

QTP从零开始学习笔记.docx

《QTP从零开始学习笔记.docx》由会员分享,可在线阅读,更多相关《QTP从零开始学习笔记.docx(60页珍藏版)》请在冰豆网上搜索。

QTP从零开始学习笔记.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 党团建设

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1