QTP笔记解读.docx

上传人:b****7 文档编号:25057195 上传时间:2023-06-04 格式:DOCX 页数:36 大小:31.43KB
下载 相关 举报
QTP笔记解读.docx_第1页
第1页 / 共36页
QTP笔记解读.docx_第2页
第2页 / 共36页
QTP笔记解读.docx_第3页
第3页 / 共36页
QTP笔记解读.docx_第4页
第4页 / 共36页
QTP笔记解读.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

QTP笔记解读.docx

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

QTP笔记解读.docx

QTP笔记解读

一、前言(了解)

1.为什么功能测试使用自动化工具

1)测试项目中有大量的回归测试

功能自动化测试工具可以更严格、更有效的回归测试

2)无人值守

2.项目使用功能测试自动化工具的条件

1)主要功能通过测试

2)被测系统比较稳定

3.常用的功能测试工具

HPMIQTP

HPMIWinrunner

QARun

IBMRobot...

4.对测试工程师发展的影响

待遇

发展

竞争

二、QTP的简介(中级)

1.QTP的全拼:

QuickTestProfessional

2.QTP将被测系统的功能流程,拆解成对不同对象按照顺序做不同操作。

3.默认使用的脚本语言是VBS

QTP工作原理:

1、封装对象到对象库中

2、对比对象库中的对象和实际运行中的对象进行对比

3、对比一致后将驱动脚本运行

三、第一次启动QTP

1.插件管理界面

2.创建一个Test

3.设置QTP测试面板中的字体:

Tools\Viewoptions\Fontsandcolours...\Size

4.设置还原Test布局

Tools\Options\RestoreLayout

四、被测系统Flight的使用

1.登录

用户名:

长度>=4的字符串

密码:

mercury

2.订票

1)date的格式为月日年:

mm/dd/yy

有效值为明天以后(包含明天)的日期

2)tickets的有效值:

1~10的整数

五、QTP测试的流程

1)制定测试计划

2)录制测试脚本

3)增强测试脚本

4)执行测试脚本

5)提交测试结果报告

六、QTP录制WinApp程序(重点)

1、点击Record

注意:

将已经打开的被测程序关闭

2、在RecordandrunSettings中设置WinApp:

1)选择Recordandrunonlyon;

2)添加被测程序;

3、开始录制代码

4、点击Run回放代码

5、查看测试结果:

Automation\Results

七、Mtours系统的使用

1.设置不自动完成密码的输入:

IE\Internet选项\内容\个人信息\自动完成,进行清除密码,去掉勾选提示保存密码

2.Mtours用户注册、登录、创建订单、打开订单、删除订单

八、使用QTP录制Web系统的代码(重点)

1.点击Record;

注意:

关闭已打开的浏览器再录制代码

2.在弹出的Recordandrunsettings中进行设置:

1)web选项卡以外的选项要选择第一项

2)web选项中,选择Openthefollowingaddress...

3)书写访问被测系统的URL地址。

3.开始录制。

4.回放代码。

练习二:

录制Mtours“登录--创建订单--退出”的测试脚本代码。

九、对象仓库管理机制(重点)

1、进入对象仓库:

Resources\Objectrepository

2、在对象仓库中,修改对象的关键属性

当对象仓库中记录对象的关键属性与实际运行系统中不一致时,QTP对象无法识别。

练习3:

借助Objectspy工具,分析flight系统中Flights按钮的可用与不可用的特征被记录哪个属性中?

当可用时属性值为?

当不可用时属性值为?

练习4:

使用Objectspy工具,分析Flight系统中用户名输入的文本框中显示文本的内容被记录在哪个属性中?

text

使用Objectspy工具,分析MTours系统中用户名输入的文本框中显示文本的内容被记录在哪个属性中?

value

3、添加对象到对象仓库

在对象仓库中,点击工具栏addobjecttolocal

十、插入检查点

为什么使用插入检查点的操作?

1、增强脚本

2、设置被测功能点的预期结果

插入标准检查点(重点)

1、标准检查点检查的是被测对象的属性值

2、插入标准检查点的步骤:

a、确定被测对象

b、确定检查的属性

c、确定插入的位置

d、录制代码的过程中,或录制结束后,点击insert\CheckPoint\Standardcheckpoint

e、选中被测对象的检查的属性,设置预期结果的值

练习1:

检查两位数加法器,45+23是否等于68?

检查两位数加法器,99+10是否等于109?

插入位图检查点(中级)

做UI测试经常用到

1、位图检查点检查的某个区域的显示。

2、插入位图检查点的操作步骤:

a、确认被测的区域

b、确认插入检查点的位置

c、录制代码的过程中,点击insert\CheckPoint\BitmapCheckpoint

d、选择被测区域,选择要检查整个区域还是局部的区域

录制代码结束后,插入标准检查点

1、确认被测仓库,如果被测对象没有在对象仓库中,需要添加到对象仓库

2、确认被检查的属性

3、确认插入的位置,并在该位置点击右键菜单:

InsertNewStep

4、在新的步骤Item中,选择被测试的对象。

在operation中,选择click

5、选择新插入的步骤,在右键菜单中点击InsertStandardCheckPoint

6、确认完成检查点插入,再次确认位置是否插入正确,并删除步骤3中新建的step

练习2:

录制flight4a的“登录--退出”业务流程代码。

在录制代码结束后插入标准检查点,检查flights按钮的enable属性值是否为false

插入文本检查点(重点)

检查被测系统中,文本显示是否正确

1、确认被测文本信息

2、确认插入文本检查点的位置

3、录制代码的过程中,点击insert\CheckPoint\TextCheckpoint

4、设置检查文本的预期结果

注意:

被测对象是static类型的对象

练习3:

检查在两位数加法器中,输入100+2,系统是否提示“输入的参数必须小于100...”

插入文本区域检查点

检查被测对象区域是否存在指定文本显示

1、确认被测文本信息

2、确认插入文本区域检查点的位置

3、录制代码的过程中,点击insert\CheckPoint\TextAreaCheckpoint

4、选取检查文本的区域

5、设置检查文本区域的预期结果

注意:

被测对象是步骤4中选取测试区域所在的对象

QTP记录选取的区域,在选取区域检索文本。

十一、输入数据的参数化

1、当被测业务流程相同,只是测试数据每次执行发生改变,可以使用输入数据的参数化操作

2、输入数据参数化的操作步骤:

a、在关键字视图Value列,选中要参数化的数据

b、点击<#>,选择parameter

c、输入参数的名称

d、在datetable的Global中,准备测试数据

3、注意:

a、当Test做反复的时候,Test代码中的开始与结束,被测系统所处状态是必须一致的

b、当Test做反复的时候,代码的录制运行建议使用手动启动的方式。

因为自动启动在第二次反复有时无法启动被测程序。

c、输入数据参数化后,相关数据也要进行参数化

例如:

QQ的账号做了参数化,密码也要进行参数化。

4、Test反复测试的设置:

file->settings->Run

5、删除第n次反复:

选中DataTable\Global表单中的第n行数据,点击右键菜单Edit->Delete

十二、建立输出值OutputValue

1、在运行Test测试过程中,当需要获取被测系统某一个数据并存储,需要建立输出值。

2、建立标准输出值的操作步骤:

a、确定被测对象

b、确定记录目标数据的属性

c、确定建立输出值的位置

d、录制过程中,点击Insert->OutputValue->StandardOutputValue

e、选中步骤a中的被测对象,并选择步骤b中的属性名称

f、设置输出值存储的位置:

DataTableGlobal表单中的Avalue参数中

练习1:

录制Flight系统的“登录-订票-退出”代码,将新的订单编号记录在datatableglobal表单中的orderno参数中。

3、建立文本输出值的操作步骤

a、确认目标文本

b、确认建立文本输出值的位置

c、录制过程中,点击Insert->OutputValue->TextOutputValue

d、选中步骤a中确认的文本

e、设置输出值存储的位置:

DataTableGlobal表单中的Note参数中

练习2:

录制Flight系统的“登录-订票-退出”代码。

使用建立文本输出值获取订单中单价price,使用建立文本区域输出值获取订单中总价total。

十三、检查点预期结果的参数化

当test不同次数的反复,使用不同的测试数据,期望结果也随之不同,检查点的预期结果也需要使用参数化技术。

1、在进行插入检查点操作时,预期结果选择parameter

2、设置预期结果为DataTableGlobal表单中的一个参数的值

3、在DataTable中为步骤2的参数准备数据,即每次反复的期望结果

练习3:

录制Flight系统的“登录-订票-退出”代码。

1)参数化日期,起飞城市和到达城市的数据,参数准备三行数据

2)检查每次订单编号是否正确

十四、多Action的使用

1、什么是Action?

Action是动作的意思,是一系列操作步骤的集合,是相对独立的逻辑单元。

2、什么时候在一个test中使用多Action?

a、代码逻辑层次清晰

b、实现test代码的局部反复

3、Action的作用?

a、增强代码的易读性

b、复制调用使用频率较高的代码

c、可以创建Action表单

d、实现Test代码的局部反复

e、便于对象仓库中以Action为单位维护对象

4、Action的分类

可复用的Action---可以被其他Test调用

不可复用的Action---不可以被其他Test调用

5、Action属性的设置

选择要设置属性的Action,在右键菜单中点击ActionProperties

a、Name---设置Action的名称

b、ReusableAction---设置是否为可复用Action

6、在一个Test中生成多Action---CalltonewAction

a、Insert->CalltonewAction

b、在InsertCalltonewAction界面设置:

Name---Action的名称

ReusableAction---是否可复用

Location---新Action的位置与当前Action的关系

7、在一个Test中生成多Action---CalltocopyofAction

a、Insert->CalltocopyofAction

b、在SelectAction界面中设置:

FromTest---被复制Action所在的Test

Action---选择被复制的Action

Location---被复制Action的位置与当前Action的关系

c、可复用和不可复用的Action都可以被复制

通过复制生成的Action可以被编辑属性

8、在一个Test中生成多Action---CalltoExistingAction

a、Insert->CalltoExistingAction

b、在SelectAction界面中设置:

FromTest---被调用Action所在的Test

Action---选择被调用的Action

Location---被调用Action的位置与当前Action的关系

c、只有可复用的Action才可以被调用

通过调用生成的Action不可以被编辑属性

9、在一个Test中生成多Action---SplitAction

a、在代码中,选择将要生成的第二个Action的第一行代码

b、工具栏中点击“SplitAction”按钮或者Edit->Action->SplitAction

c、在SplitAction界面中进行设置:

TheActionsare---生成两个Action的关系:

独立或嵌套

1stAction---第一个Action的Name

2ndAction---第二个Action的Name

十五、Action的参数化(重点)

1、当需要反复的内容是一个Action,需要使用Action参数化的技术

2、Action参数化的操作步骤:

a、在关键字视图的Value列,选中需要Action参数化的数据

b、点击<#>

c、在ValueConfigurationOption界面中,选择Parameter

d、设置参数:

Name---参数名称

LocationDataTable---CurrentActionSheet

3、Action调用属性设置

a、在TestFlow中,选中需要设置的Action,在右键菜单中点击ActionCallProperties

b、Action的反复次数默认设置为一次

4、Action参数化的注意事项:

a、被反复的Action,开始与结束必须处于相同的测试条件,被测系统的状态是一致的

b、当Action的代码被编辑后,注意是否影响到下个Action的运行

c、被反复的Action中,是否有相关的数据也需要参数化

练习1:

要求1:

录制Flight4a系统的“登录-打开订单-退出”代码

要求2:

将代码使用多Action实现

要求3:

将需要打开的订单编号进行Action参数化

要求4:

检查每次打开的订单编号的显示是否正确(附加)

要求5:

实现使用用户ember、jack两个用户分别完成“登录--打开三张订单--退出”操作

十六、解读专家视图中的代码

1、专家视图中每行语句,可以表示的内容:

a、对被测对象做操作:

Browser("Welcome:

MercuryTours").Page("FindaFlight:

Mercury").WebList("toPort").Seclect"Portland"

b、一个VBS的操作

c、一个函数:

wait5

2、专家视图中,通过录制生成代码的解读(重点)

例如解读:

Browser("Welcome:

MercuryTours").Page("FindaFlight:

Mercury").WebList("toPort").Seclect"Portland"

解读结果如下:

a、代码分为三个部分:

被测对象,操作方法,操作值

b、被测对象的书写从顶级对象开始;对象的书写包括两个部分,类名(“对象名”);父对象与子对象之间用”.”分隔;

c、操作方法与被测对象之间使用”.”分隔

d、操作值与操作方法之间使用空格分隔

3、WinApp被测系统常见的对象类型

Dialog---对话框

WinEdit---WinApp程序的文本框

WinButton---WinApp程序中的按钮

Window---窗体

WinMenu---窗体中的菜单栏

ActiveX---使用了Active插件识别的对象

WinObject---一般没有识别出类型的对象

WinComboBox---文本框与下拉列表的组合框

WinRadioButton---单选按钮

WinCheckBox---复选框

练习1:

手写专家视图中的代码

要求1:

新建Test,设置Flight系统为自动启动

要求2:

录制“登录-新建订单-关闭系统-使用编号打开新建的订单”在一个Action中

要求3:

将2中的专家视图代码复制到文本文档中后删除Test中的所有代码

要求4:

在专家视图中手写被删除的代码

十七、VBS的基础

1.VBS的概述:

VBS是脚本语言,是QTP默认使用的脚本语言,是微软VB编程语言家族的一员。

2.VBS代码的运行:

在QTP专家视图中编写运行;也可以在.VBS文件中编写运行。

案例代码:

Msgbox"HelloWorld",,"Demo"

3.VBS的变量---SP60002

a.只有variant一种数据类型;

b.定义变量a:

Dima

c.在代码开始添加OptionExplicit,可以限制变量使用前,必须先定义,便于查找变量拼写的错误。

4.VBS的数组---SP60003

a.数组的定义与赋值,例如定义数组长度为3的数组,并对每个数组元素进行赋值

方法一:

Dimmyarray

(2)

myarray(0)=10

myarray

(1)=20

myarray

(2)=30

方法二:

Dimmyarray

myarray=array(10,20,30)

'使用系统函数array

5.Msgbox系统函数的使用---SP60004

a.语法:

Msgbox"弹出的内容",消息框的类型,"标题"

b.功能:

以指定的类型弹出消息框

c.返回值:

记录用户在消息框点击的按钮

注意:

当使用函数返回值时,参数列表一定要使用括号括起来,如:

Dimres

res=Msgbox("Areyouastudent?

",4,"Question")

练习二、参考帮助文档,熟悉Msgbox的使用

第二个参数的使用,返回值的使用

6.Inputbox系统行数的使用---SP60005

a.语法:

Inputbox"弹出的内容","标题"

b.功能:

允许用户做输入数据的操作,基本输入函数

c.返回值:

用户输入的内容,子类型为字符串

十八、VBS的控制流程语句

1.IF语句(重点)

a、if...then...endif

if条件表达式then

语句块

endif

当条件表达式为true时,执行语句块

b、if...then...else...endif

if条件表达式then

语句块1

else

语句块2

endif

当条件表达式为true时,执行语句块1,表达式为false时,执行语句块2

c、if...then...elseif...then...else...endif

if条件表达式1then

语句块1

elseif条件表达式2then

语句块2

else

语句块3

endif

当条件表达式1为true时,执行语句块1;

当条件表达式1为false,且条件表达式2为true时,执行语句块2;

当条件表达式1和2都为false时,执行语句块3

2.SelectCase语句

selectcase表达式a

case表达式1

语句块1

case表达式2

语句块2

...

case表达式n

语句块n

caseelse

语句块e

endselect

计算表达式a的值

当表达式1的值与表达式a的值相等时,执行语句块1;

当表达式2的值与表达式a的值相等时,执行语句块2;

....

当表达式n的值与表达式a的值相等时,执行语句块n;

当表达式a的值与表达式1~n的值都不相等时,执行语句块e;

练习一:

使用Select语句,判断两位数加法器计算的结果:

是否等于100,提示满分

是否等于90,错了1道

是否等于80,错了2道

是否等于70,错了3道

其它:

错的太多

要求,加数的取值为:

0,10,20,30,40,50

3、DoLoop循环语句使用

a、Do...Loop

Do

循环体

Loop

循环体的内容被无限次执行,是一个死循环

b、DoWhile..loop(常用)

DoWhile循环条件

循环体

Loop

先判断后执行,当循环条件为true时,执行循环体。

循环条件为false时,结束循环。

c、Dountil...loop

Dountil循环条件

循环体

loop

先判断后执行,当循环条件为false时,执行循环体。

循环条件为true时,结束循环。

d、Do...Loopwhile(重点)

Do

循环体

LoopWhile循环条件

先执行后判断,当循环条件为true时,执行循环体。

循环条件为false时,结束循环。

e、Do...Loopuntil

Do

循环体

Loopuntil循环条件

先执行后判断,当循环条件为false时,执行循环体。

循环条件为true时,结束循环。

f、For..Next(重点)

当执行指定的循环次数时,可以使用for循环

for循环变量=初值to终值step步长

循环体

next

注意:

step可以省略,默认为1

step为正数,初值要小于终值

step为负数,初值要大于终值

4、Exit语句的使用

当触发某个条件,跳出循环,可以使用Exit语句

forI=1to10

语句块1

if条件表达式1then

exitfor

endif

next

for循环执行的过程中,当表达式为true时,跳出for循环。

练习2:

使用Do..Loop循环打开订单编号为1~10的订单

练习3:

使用DoWhile...Loop循环和DoUntil...Loop循环分别实现计算1~10整数的偶数总和的代码,“2+4+...+10”

练习4:

要求1:

使用for循环打开订单编号1~10的订单

要求2:

查看Customername是否为“JaneDoe”

要求3:

如果不是,继续打开下张订单,如果是,记录订单总额total,并跳出循环,结束打开订单的操作。

十九、常用的系统函数

print、msgbox、inputbox、wait、cint、date、month、weekday

1.Int函数的使用

功能:

获得数据的整数部分

参数:

Int数字

返回值:

指定数字的整数部分

eg:

MyNumber=Int(99.8)'Returns99.

MyNumber=Int(-99.8)'Returns-100.

MyNumber=Int(-99.2)'Returns-100.

2、Cint函数的使用

功能:

将指定的数据转换成int类型

参数:

Cint(表达式)

返回值:

转换为int类型的数据,会做四舍五入,但是0.5是个特殊情况,会转换成离个位最近的那个偶数。

如Cint(0.5)->0Cint(1.5)->2

eg:

msg

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

当前位置:首页 > PPT模板 > 可爱清新

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

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