QuickTestProfessional基本使用示例

合集下载

QuickTest Professional(QTP)常用使用方法整理

QuickTest Professional(QTP)常用使用方法整理

1.模拟键盘操作1)WshShell.SendKeys应用Set WshShell = CreateObject("WScript.Shell")WshShell.SendKeys("DOWN ARROW")WshShell.SendKeys("ENTER")Key ArgumentBACKSPACE {BACKSPACE},{BS},or {BKSP}BREAK {BREAK}CAPS LOCK {CAPSLOCK}DEL or DELETE {DELETE} or {DEL}DOWN ARROW {DOWN}END {END}ENTER {ENTER} or ~ESC {ESC}HELP {HELP}HOME {HOME}INS or INSERT {INSERT} or {INS}LEFT ARROW {LEFT}NUM LOCK {NUMLOCK}PAGE DOWN {PGDN}PAGE UP {PGUP}PRINT SCREEN {PRTSC}RIGHT ARROW {RIGHT}SCROLL LOCK {SCROLLLOCK}TAB {TAB}UP ARROW {UP}F1 {F1}F2 {F2}F3 {F3}F4 {F4}F5 {F5}F6 {F6}F7 {F7}F8 {F8}F9 {F9}F10 {F10}F11 {F11}F12 {F12}2)Extern.keybd_event 模拟键盘'键盘模拟函数,dec为虚拟键盘码Public Sub keyBoard(dec)Extern.Declare micV oid, "keybd_event", "user32.dll", "keybd_event", micByte,micByte,micDWord,micULongExtern.keybd_event dec,0,0,0End Sub'调用函数,执行敲击空格键的效果Call keyBoard(32)2.自动截图,并将图片名称按当前系统时间命名'将当前系统时间转换成yyyymmddhhmmss格式Dim s,ts=nowt=replace(s,":","") '去掉“:”号t=replace(t,"-","") '去掉“-”号t=replace(t," ","") '去掉空格'截取当前屏幕,并按照系统时间保存desktop.CaptureBitmap "D:\QTP测试结果\测试截图\项目明细表"&t&".bmp",true或者(有DataTable参数存在时)'pictureName为截图要显示的名字,parameterName为DataTable的列名Public Sub pictureCapture (pictureName,parameterName)Dim aa=year(now)&month(now)&day(now)& Hour(now)&minute(now)&second(now)Dim perName,dataNamerow=DataTable.GetCurrentRow'获取DataTable当前活动的行perName="_第"&row&"行"If parameterName="" Thendesktop.CaptureBitmap "D:\QTP测试结果\测试截图\"&pictureName&perName&a&".bmp",trueelse'dataName为dataTable中当前单元格中的值dataName=DataTable.GetSheet("Action1").GetParameter(parameterName).ValueByRow(ro w)If (instr(dataName,"\") or instr(dataName,"/") or instr(dataName,":") or instr(dataName,"*") or instr(dataName,"?") or instr(dataName,"<") or instr(dataName,">") or instr(dataName,"|") or instr(dataName,"""")) Thendesktop.CaptureBitmap "D:\QTP测试结果\测试截图\"&pictureName&perName&"【该特殊字符不能用于文件命名】"&a&".bmp",true elsedesktop.CaptureBitmap "D:\QTP测试结果\测试截图\"&pictureName&perName&"【"&dataName&"】"&a&".bmp",trueEnd IfEnd IfEnd Sub使用:Call pictureCapture("业务维护_查询全部","")或者(没有Datatable存在时)'pictureName为截图要显示的名字Public Sub pictureCapture (pictureName)Dim aa=year(now)&month(now)&day(now)& Hour(now)&minute(now)&second(now)desktop.CaptureBitmap "D:\QTP测试结果\测试截图\"&pictureName&a&".bmp",true End Sub3.定格当前步骤,5秒之后继续运行Public Sub MsgBoxTimeout (Text,Title,TimeOut)Set WshShell = CreateObject("WScript.Shell")WshShell.Popup Text, TimeOut,TitleEnd Subcall MsgBoxTimeout ("查询等待5秒","定时msgbox",5)或者Set WshShell = CreateObject("Wscript.Shell")WshShell.Popup"请等待5秒钟,5秒后该窗口自动关闭", 5, "Title"4.QTP的退出函数1、ExitAction() 退出当前操作,无论其本地(操作)循环属性是什么。

QTP的使用 (软件测试基础)

QTP的使用 (软件测试基础)

QTP的使用一、QTP简介QuickTest Professional是新一代自动化测试解决方案,采用了关键词驱动测试的理论,能完全简化测试的创建和维护工作。

QTP是如何工作的?(1)使用无需脚本的Keyword View来表现测试的每个步骤,仅由些就可以创建一个测试。

(2)QTP可以自动引入检查点来验证应用的属性和功能点(3)可以将测试数据输入数据表(Data Table)(4)高级测试人员可以在Expert View中查看和修改他们的测试二、QTP的使用QTP界面介绍QTP测试流程1、设计一个登录程序login.jspprocess.jsp2、准备录制QTP大多数用于软件系统的回归测试。

1)分析被测对象包含哪些功能点,哪些需要测试2)设计相应的测试用例3)设置好浏览器4)准备测试环境5)做好文档记录3、录制应用程序上的会话(1)一般情况下,先录制正确的业务流程,然后进行测试代码的修改,完善测试过程。

关键字视图(2)录制完后,先回放一次,检查录制的过程有无错误。

(3)保存脚本(4)增强测试先将登录用户名参数化为username,datatable选本地表(5)将登录密码参数化为password,datatable选本地表将加密的密码改成明文(6)在datatable中创建一个预期值列表status(7)按照测试用例的设计,填写用户名username,密码password 以及预其值status的参数值(8)切换到专家视图,创建相应的变量(9)创建一个表示datatable中行号i(10)使用for语句,使qtp在测试时能够自动读取每一行中用户名与密码(11)插入一个文本输出点,输出系统的实际提示信息,并将该输出值保存datatable中Action1的outmsg列(12)定义一个读取系统实际提示信息的变量outputvalue(13)将预期提示信息赋予定义的变量istatus(14)将实际输出与预期输出进行比较(15)运行脚本(16)结果分析(17)报告缺陷。

QuickTest Pro操作手册

QuickTest Pro操作手册

错误!未找到引用源。

年月日发布年月日起实施目录1安装步骤: (4)2QUICKTEST PROFESSIONAL 简介 (5)2.1自动测试的好处 (5)2.2测试流程 (5)2.3Q UICK T EST 窗口 (6)2.4关于例子程序 (8)3录制 (9)3.1录制前的准备工作 (9)3.2录制测试脚本 (9)3.2.1执行QuickTest 并开启一个全新的测试脚本 (9)3.2.2开始录制测试脚本 (10)3.2.3进行操作 (11)3.2.4储存测试脚本 (11)3.3分析K EYWORD V IEW 中的测试脚本 (12)4执行并分析测试脚本 (13)4.1执行测试脚本 (13)4.2分析测试结果 (13)5建立检查点 (15)5.1检查点的种类 (15)5.2标准检测点 (16)5.2.1执行QuickTest 并开启Test1sohuEmail测试脚本 (16)5.2.2另存为一个测试脚本 (16)5.2.3确认Active Screen是开启的 (16)5.2.4选取要建立检查点的网页 (16)5.2.5建立一个标准检查点 (16)5.2.6储存测试脚本 (18)5.3网页检查点 (18)5.3.1选取要建立检查点的网页 (18)5.3.2建立一个网页检查点 (18)5.3.3储存测试脚本 (19)5.4文字检查点 (19)5.4.1选取要建立检查点的网页 (19)5.4.2建立文字检查点 (19)5.4.3储存测试脚本 (20)5.5建立表格检查点 (20)5.5.1选取要建立检查点的网页 (20)5.5.2建立表格检查点 (20)5.5.3储存测试脚本 (21)5.6执行并分析使用检查点的测试脚本 (21)5.6.1展开整个Keyword View检视整个测试脚本 (21)5.6.2执行测试脚本 (22)5.6.3查看测试结果 (22)6参数化 (22)6.1定义数据表参数 (23)6.1.1选取要参数化的文字 (23)6.1.2设定要参数化的属性 (23)6.2在数据表中输入参数 (23)6.3修正受到参数化影响的测试步骤 (23)7建立输出值 (23)8使用万用字符表示法 (24)8.1万用字符的表示法 (24)8.2使用万用字符表示法 (24)8.2.1执行QuickTest 并录制脚本 (24)8.2.2选取要建立检查点的文字 (24)8.2.3使用万用字符表示要检查的文字 (24)8.3执行并分析使用万用字符表示法的测试脚本 (25)9将测试脚本切割成多个动作 (25)9.1使用多个动作 (25)9.2建立新动作 (25)9.2.1录制测试脚本 (25)9.2.2将测试脚本分成二个动作 (26)9.3插入新动作 (26)9.3.1将动作设定成可再使用的动作(Reusable Actions) (26)9.4插入已存在的动作 (27)9.4.1插入呼叫(call)的动作 (27)9.4.2插入一个动作的复本 (27)9.5对动作参数化 (28)9.6执行并分析多个动作的测试脚本 (29)10 (29)1安装步骤:按照提示进入注册信息页面,输入序列号8888-8888888888当提示安装Microsoft脚本调试程序时,选择“不下载安装”提示选择许可证类型时,选择网络版。

好的QuickTestProfessional教程

好的QuickTestProfessional教程

好的QuickTestProfessional教程QuickT est Professional学习教程,非常好的目录目录 (1)1 QTP 简介 (2)1.1 自动化测试的好处 (2)1.2 QuickTest工作流程 (2)1.3 QTP程序界面 (3)1.4 Mercury T ours 示范网站 (5)2 录制/执行测试脚本 (5)2.1 录制前的准备 (6)2.2 录制测试脚本 (6)2.2.1 录制测试脚本 (6)2.2.2 分析录制的测试脚本 (8)2.3 执行测试脚本 (10)2.3.1 执行脚本出现错误 (11)2.4 分析测试结果 (11)3 建立检查点 (12)3.1 QuickTest检查点种类 (13)3.2 创建检查点 (13)3.2.1 对象检查 (13)3.2.2 网页检查 (16)3.2.3 文字检查 (17)3.2.4 表格检查 (18)3.3 执行并分析使用检查点的测试脚本 (20)4 参数化 (24)4.1 参数化步骤和检查点中的值 (24)4.1.1 参数化对象和检查点的属性值 (24)4.1.2 参数化操作的值 (25)4.2 参数种类 (26)4.2.1 使用数据表参数 (27)4.2.2 使用环境变量参数 (28)4.2.3 使用随机数字参数 (28)4.3 参数化测试脚本 (29)4.3.1 定义参数 (29)4.3.2 修正受到参数化影响的步骤 (30)4.3.3 执行并分析使用参数的测试脚本 (31)5 输出值 (32)5.1 创建输出值 (33)5.1.1 输出值类型 (33)5.1.2 存储输出值 (34)5.2 输出属性值 (35)5.2.1 定义标准输出值 (35)5.2.2 指定输出类型和和设置 (36)5.3 在脚本中建立输出值 (37)5.3.1 建立输出值 (37)5.3.2 执行并分析使用输出值的测试脚本 (40)1QTP 简介1.1 自动化测试的好处如果你执行过人工测试,你一定了解人工测试的缺点,人工测试非常浪费时间而且需要投入大量的人力。

QuickTest Pro中的检查点到底是什么?

QuickTest Pro中的检查点到底是什么?

QuickTest Pro中的检查点到底是什么?以前,在给一些企业做自动化测试培训的时候,有人经常会问道:“QuickTest的检查点到底是什么?”,“为什么要那样添加,提示的信息本来就是正确的,那样添加肯定是正确的,到底在检查什么啊。

”我们都知道,在使用QuickTest Professional进行自动化功能测试时,最简单的一种实现自动化测试的方式就是将手工测试用例转化为自动测试脚本,那么一般怎么来转化那,我们先来看看手工测试用例是什么样子?在上面的手工测试用例中,我们看到了什么?关注什么?一般来讲,首先要关注测试的目的,其次实现自动化测试脚本最应该关注的是测试步骤和预期结果,那这些都有了,我们怎么来转化为自动化脚本那。

录制测试步骤:首先QuickTest Pro提供的录制方式开始按照上面的步骤录制测试脚本。

当录制到单击“OK”按钮后,弹出了一个警告窗口,这时如果处于手工测试方式,直接人工看一下提示信息文字是否与预期结果相同,就可以判断测试结果了,但是这时需要工具来做判断,其实我们很需要工具也应该能和人工一样,通过某种方式(例如:眼睛)来查看提示的信息和文档中相应的测试用例的预期结果做比较的,但是工具是没有眼睛的,那工具是通过什么来作为他的眼睛的?添加检查点:QuickTest是通过提供的检查点来进行判断的,工具没有眼睛,他并不知道需要判断的提示信息在什么位置上,那么作为工具来讲,首先要解决的就是捕获到要检查的信息在哪里,QuickTest提供的添加检查点的方式就是解决了这个问题,那么其次工具还需要知道预期结果是什么,预期结果在哪里写,QuickTest 解决的方式就是在添加完检查点后将抓取的信息修改成为用例中的预期结果,实际上到目前位为止整个过程都是在设置预期结果,并没有做比较,那接下来运行测试脚本时,工具将设置好的预期结果与实际结果比较进行判断。

总结:通过上面罗里罗嗦的描述,总结一下:QuickTest检查点功能有3个,第一个,设置预期结果,第二个捕获实际结果,第三个,比较。

QTP11操作手册整理

QTP11操作手册整理

QTP11操作手册整理(2012.07.25)第一章欢迎使用Quick Test Professional1.1QTP的背景知识◆QTP是HP公司花了45个亿收购的美科利产品套件之一◆QTP是继WR产品之后推出的以VBS内嵌语言的工具◆QTP是一款用于功能测试的自动化测试工具◆QTP可以和HP的QC产品协作进行自动化测试开发(BPT)◆QTP是一款容易掌握但价格很高的测试自动化工具HP Quick Test Professional支持功能测试和回归测试自动化,用于每个主要软件应用程序和环境,此解决方案使用关键字驱动的测试概念,简化了测试创建和维护过程,它使测试人员能够使用专业的捕获技术直接从应用程序屏幕中捕获流程来构建测试案例。

测试专家还可以通过集成的脚本和调试环境完全访问内在测试和对象属性。

自动化测试包括单元测试自动化,性能自动化,功能自动化。

QTP就属于是功能自动化测试。

1.2QTP文档的概述本手册分成十章课程,在每一个课程中你都会以Quick Test 内附的范例Mercury旅游网站为例作为练习的对象,建立并执行自动化测试脚本(script)。

当你完成手册的课程之后,就可以讲这些技巧应用在你的网站上面了:◆Quick Test Professional简介:比较自动测试与手动测试的差别,介绍Quick TestProfessional的测试流程,并熟悉Quick Test使用者接口,以及Mercury旅游范例网站。

◆录制测试脚本:教导你如何录制测试脚本,并且对测试脚本Keyword View做个介绍◆执行并分析测试脚本:示范如何执行测试脚本以及检查测试脚本执行的结果◆建立检查点:说明如何在测试脚本中建立检查点以验证网站上的信息,是你预期的◆参数化:示范如何通过参数化,是你可以在测试脚本中使用多组资料执行测试脚本◆建立输出值:教导你如何将网页上的数据,输出到参数中◆使用万用字符表示法:教导你如何在测试脚本中使用万用字符◆将测试脚本切割成多个测试动作:如何将测试脚本切割成多个动作,让脚本更加模块化◆从这里出发:告诉你哪里可以获得更多的Quick Test的信息。

QuickTestProfessional基本使用示例

QuickTestProfessional基本使用示例(原创)11设置脚本间的间隔时间Wait(2),单位:秒22循环语句whilei=0do while(i<10)Window("Opera").RestoreWindow("Opera").WinObject("OperaWindowClass").Click 446,232Window("Opera").WinObject("OperaWindowClass").Click 461,278i=i+1loop33循环语句forFor i=1 to 3Window("Opera").RestoreWindow("Opera").WinObject("OperaWindowClass").Click 446,232Window("Opera").WinObject("OperaWindowClass").Click 461,278Next44判断语句Do while(i<20)Browser("XX项目").Page("XX项目").Frame("wap").Link("啤酒").Clickwait(2)Browser("XX项目").Page("XX项目").Frame("wap_2").Link("商铺详情").Clickwait(2)i=i+1If i=5 ThenExit doEnd IfLoop55With语句Do while(i<20)With Browser("XX项目").Page("XX项目").Frame("wap").Link("生活家居").Click.Page("XX项目").Frame("wap_5").Link("出租(火爆招租中)").Click.Page("XX项目").SyncWith .Page("XX项目").Frame("wap_6").Image("image").Check CheckPoint("image")'检查点.Frame("wap_6").Link("返回XX首页").Click.Sync.Frame("wap").Check CheckPoint("生活家居")'检查点End withEnd withi=i+1If i=3 Theni=21End IfLoop66检查点Browser("XX项目").Page("XX项目").Frame("wap").Link("生活家居").ClickBrowser("XX项目").Page("XX项目").Frame("wap_5").Link("出租(火爆招租中)").Click Browser("XX项目").Page("XX项目").SyncBrowser("XX项目").Page("XX项目").Frame("wap_6").Image("image").Check CheckPoint("image")'检查点Browser("XX项目").Page("XX项目").Frame("wap_6").Link("返回XX首页").ClickBrowser("XX项目").Page("XX项目").SyncBrowser("XX项目").Page("XX项目").Frame("wap").Check CheckPoint("生活家居")'检查点77引用函数Function hjq(i)msgbox("hjq")End FunctionDo while(i<20)'开始Browser("XX项目").Page("XX项目").Frame("wap").Link("啤酒").Clickwait(2)Browser("XX项目").Page("XX项目").Frame("wap_2").Link("商铺详情").Click '详情i=i+1If i=3 Theni=21End IfCall hjq(i)Loop88引用action录制action1,在step->action properties中设置该action为reuseable action录制action2,在inser->call to exiting action,选择action1OK99参数化在keyword view中设置对象的value为参数,并设置值With Browser("XX项目_2").Page("XX项目")With .Frame("wap_2").WebEdit("key").Set "1".WebButton("搜").ClickEnd With.Frame("wap_3").Link("重新搜索").ClickWith .Frame("wap").WebEdit("key").Set DataTable("p_Text", dtGlobalSheet).WebButton("搜").ClickEnd With.SyncEnd With1010Vbs随机读取一行文本内容'随机读取文件中的一行randomizeset fso=createobject("scrīpting.filesystemobject")'创建文件系统对象set a=createobject("scrīpting.dictionary")'类似于二维数组set file=fso.opentextfile("D:\hjq.txt") '打开文件do while file.atendofstream<>truem=m+1 'm记录文件中文本行数a.add m,file.readline 'file.readline读取某行记录loopfile.close '关闭文件h=int(rnd*m)msgbox "第" & h & "行: " & a(h) ,4096,"随机内容"msgbox "第1行: " & a(1) ,4096,"内容"msgbox "第2行: " & a(2) ,4096,"内容"msgbox "第3行: " & a(3) ,4096,"内容"1111二维数组的使用set a=createobject("scrīpting.dictionary")'类似于二维数组a.add 0,"返回XX首页"a.add 1,"返回XX首页"a.add 2,"返回XX首页"a.add 3,"返回XX首页"For i=0 to 3With Browser("XX项目").Page("XX项目")With .Frame("wap").WebEdit("key").Set "1".WebButton("搜").ClickEnd With.Frame("wap_2").Link(a(i)).Click.SyncEnd WithNext1212从文件读取文本,并赋予参数set fso=createobject("scrīpting.filesystemobject")'创建文件系统对象set a=createobject("s crīpting.dictionary")'类似于二维数组set file=fso.opentextfile("D:\hjq.txt") '打开文件wait(2)do while file.atendofstream<>trueWith Browser("XX项目").Page("XX项目")With .Frame("wap").WebEdit("key").Set file.readline.WebButton("搜").ClickEnd With.Frame("wap_2").Link("返回XX首页").Click.SyncEnd Withloopfile.close '关闭文件1313读取csv文件并分割字符串Dim aasplitset fso=createobject("scrīpting.filesystemobject")'创建文件系统对象set file=fso.opentextfile("D:\hjq.csv") '打开csv文件wait(2)Do while file.atendofstream<>trueaasplit=split(file.readline,",")'用,分割字符串For i=0 to UBound(aasplit)With Browser("XX项目").Page("XX项目")With .Frame("wap").WebEdit("key").Set aasplit(i).WebButton("搜").ClickEnd With.Frame("wap_2").Link("返回XX首页").Click.SyncEnd WithNextloopfile.close '关闭文件1414怎样识别弹出的web窗口和对象1,进入object identification2,在enviroment中选择web3,选择某个test object class,如browser4,添加mandatory properties5,确定6,重新录制脚本7,OK1515Vbs写文件set fs =createobject("scrīpting.filesystemobject")if (fs.fileexists("c:\hjq.txt")) thenset f =fs.opentextfile("c:\hjq.txt",8)f.write chr(13)+chr(10)f.write "hello"f.write chr(13)+chr(10)f.writeline "beijing"f.closeelseset f=fs.opentextfile("c:\hjq.txt",2, true)f.writeblanklines 2 '写入2个空行f.write "china"f.closeend if1616基本函数QTP的基本使用函数:1, 获取对话框相应的文字: GetV isible Text2, 查找相应的字符串: instr (1,查找目标字符串,所查找的字符串)3, 随机数的获取: Randomnumber.V alue() 或cstr(int(Rnd*10)+1)4, 等待函数: Wait(秒数)5, 获取数组下标: UBound (数组名)6, 拆分数组: Split(MyString, ",", -1, 1)7, 可执行步骤: OptionalStep8, 报告信息: Reporter.ReportEvent 3, "Save Step", "Out of cycle!"9, 判断对话框是否存在: .exist10,事件过滤函数:Reporter.Filter=过滤条件(0,1,2,3),0代表显示所有的error和warning,1,显示error,2,显示waining,3,任何error和warning都不显示。

Quick TestProfessional实践报告wqp

QTP学习与实践经验总结1.QTP的基本概念和流程........................................................................................................... - 1 - 1.1了解测试对象模型 (1)1.2对象在操作过程中的作用 (1)1.3QTP测试原理(对象的映射) (1)1.4QTP对象的调用 (3)1.5QTP录制模式的分类 (4)1.6QTP测试流程 (4)2.QTP的基本使用操作............................................................................................................... - 4 - 2.1检查点 (4)2.1.1检查点概述................................................................................................................... - 4 -2.1.2检查点分类................................................................................................................... - 4 -2.1.3检查点的使用.............................................................................................................. - 5 -1.标准检查点的设置......................................................................................................... - 5 -2.数据库检查点的设置..................................................................................................... - 5 -3.文本检查点的设置 ......................................................................................................... - 7 - 2.2参数化 .. (8)2.2.1参数化的概述............................................................................................................. - 8 -2.2.2参数化的种类和使用................................................................................................. - 8 - 2.3输出值 (12)1.标准输出值.................................................................................................................... - 12 - 2.文本和文本区输出值.................................................................................................... - 12 - 3.数据库输出值................................................................................................................ - 12 - 4.XML输出值.................................................................................................................. - 12 - 2.4数据表 (12)2.4.1 数据表概述................................................................................................................ - 12 -2.4.2 数据表的类别............................................................................................................ - 12 -2.4.3 数据表的操作............................................................................................................ - 12 -2.4.4在数据表中使用公式................................................................................................. - 13 -1.使用公式创建参数化数据 ........................................................................................... - 13 -2.在检查点中使用公式 ................................................................................................... - 14 - 2.5恢复场景 .. (15)2.5.1恢复场景概述............................................................................................................. - 15 -2.5.2定义恢复场景............................................................................................................. - 15 - 2.6正则表达式 . (18)2.6.1 正则表达式的概述.................................................................................................... - 18 -2.6.2正则表达式的使用操作............................................................................................. - 18 - 2.7分析测试结果 (20)2.7.1 设置测试运行结果的存储位置................................................................................ - 20 -2.7.2 调试测试脚本........................................................................................................... - 20 -1.语法检查....................................................................................................................... - 21 -2.使用断点....................................................................................................................... - 21 -3.单步调试....................................................................................................................... - 21 -4.调试查看器的使用....................................................................................................... - 21 -5.运行整个测试............................................................................................................... - 21 - 附:操作中遇见的问题及相应的解决方法............................................................................. - 24 - 1.QTP录制 .. (24)1.1 QTP录制应先作录制计划........................................................................................... - 24 -1.2 QTP录制方法............................................................................................................... - 24 -1.3关于下拉列表选择数据输入框的更改........................................................................ - 24 -1.4 中文输入法对于回放的影响...................................................................................... - 25 -2.QTP自定义操作 (25)2.1 手工添加步骤的方法.................................................................................................. - 25 -2.2 手工添加对象的方法................................................................................................... - 27 -2.3 对脚本进行注释........................................................................................................... - 28 -2.4对于Action screen捕捉不精确的解决办法 .............................................................. - 28 -1.QTP的基本概念和流程1.1了解测试对象模型测试对象模型指的是一组对象类库,QTP用它们来描述被测试的应用程序中的实际对象。

QuickTestProfessional初级使用实验报告

中北大学软件学院实验报告专业:软件工程方向:软件开发与测试课程名称:软件质量保证与测试班级:学号:姓名:辅导教师:2017年9月制成绩:图3-6 Web选项在【Windows Applications】页签,勾选【Record and run on these app(opened on session start)】,而且不要选取任何的应用程序。

此设定可以避免录制到其它应用程序(如Outlook)的操作。

如图3-7所示。

图3-7 Windows Application选项点选【OK】。

QuickTest会开启浏览器浏览Mercury Tours网站,并且开始录制测试脚本。

登入Mercury Tours Web site 网站,在【User Name】与【Password】输入你当初注册的账号与密码。

点选【Sign-In】,开启【Flight Finder】网页。

输入订票数据,选择飞机航班。

点选【CONTINUE】按钮,开启【Book a Flight】页面,输入必要字段,在【Billing Address】勾选【Ticketless Travel】。

按下网页下方的【SECURE PURCHASE】按钮,开启【Flight Confirmation】网页。

检视订票数据,并点选【BACK TO HOME】回到Mercury Tours网站的首页。

3. 停止录制在QuickTest,点选工具列上的【Stop】按钮,停止录制。

现已经完成了预定「纽约-旧金山」机票的动作,QuickTest已经录制了从按下【Record】按钮后,到按下【Stop】按钮之间所有的操作。

4. 储存测试脚本选取【File】>【Save】或是点选工具列上的【Save】按钮,开启【Save】对话窗口。

建立一个【Tutorial】目录,将测试脚本命名为【Recording】。

勾选【Save Active Screen files】。

测试培训QuickTestPro功能测试


录制详细步骤(二)
3、单击“应用”,单击“确定”,关闭 “录制和运行设置”对话框并开始录制测 试。
4、当完成会话录制时,请单击“停止”按 钮,或者选择“测试” > “停止”。
5、保存测试,请单击“保存”按钮,或者 选择“文件” > “保存”。在“保存 QuickTest 测试”对话框中,为该测试分 配一个名称。
➤ 只有当 QuickTest 的正常录制模式不能准确录制您的操 作时,才应使用“模拟录制”或“低级录制”。
➤ “模拟录制”和“低级录制”要求比正常录制模式更多 的磁盘空间。
➤ 对于特定的步骤,您可以在录制会话期间切换到“模拟 录制”或“低级录制”。在以“模拟录制”或“低级录 制”模式录制了必要的步骤之后,就可以返回到正常录 制模式来完成录制会话的其余部分。
性。 ➤ 更改 QuickTest 标识对象的方式。 ➤ 确定希望如何组织对象库文件。 ➤ 考虑使用操作来简化测试过程。 ➤ 链接到 WinRunner 测试并从 QuickTest 测试中调用
WinRunner TSL 函数。
录制测试
• 默认情况下, QuickTest 以正常录制模式进行录制。 如果无法以标准录制模式对给定环境中的对象进行录制, 或者如果要用精确的 x 坐标和 y 坐标录制鼠标单击和 键盘输入,可能需要使用模拟录制或低级录制对这些对 象进行录制。
更改,以便使 QuickTest录制该步骤。
录制详细步骤(一)
1、打开测试。 ➤ 要新建测试,请单击“New”按钮,或者选择“File” > “New” > “Test”。 ➤ 要打开现有的测试,请单击“Open”按钮,或者选择“File” >“打 开”。
2、单击“Record”按钮。如果要录制新测试且尚未在“录制和运行设 置”对话框中设置录制和运行设置,将打开“录制和运行设置”对 话框。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

QuickTestProfessional基本使用示例(原创)11设置脚本间的间隔时间Wait(2),单位:秒22循环语句whilei=0do while(i<10)Window("Opera").RestoreWindow("Opera").WinObject("OperaWindowClass").Click 446,232Window("Opera").WinObject("OperaWindowClass").Click 461,278i=i+1loop33循环语句forFor i=1 to 3Window("Opera").RestoreWindow("Opera").WinObject("OperaWindowClass").Click 446,232Window("Opera").WinObject("OperaWindowClass").Click 461,278Next44判断语句Do while(i<20)Browser("XX项目").Page("XX项目").Frame("wap").Link("啤酒").Clickwait(2)Browser("XX项目").Page("XX项目").Frame("wap_2").Link("商铺详情").Clickwait(2)i=i+1If i=5 ThenExit doEnd IfLoop55With语句Do while(i<20)With Browser("XX项目").Page("XX项目").Frame("wap").Link("生活家居").Click.Page("XX项目").Frame("wap_5").Link("出租(火爆招租中)").Click.Page("XX项目").SyncWith .Page("XX项目").Frame("wap_6").Image("image").Check CheckPoint("image")'检查点.Frame("wap_6").Link("返回XX首页").Click.Sync.Frame("wap").Check CheckPoint("生活家居")'检查点End withEnd withi=i+1If i=3 Theni=21End IfLoop66检查点Browser("XX项目").Page("XX项目").Frame("wap").Link("生活家居").ClickBrowser("XX项目").Page("XX项目").Frame("wap_5").Link("出租(火爆招租中)").Click Browser("XX项目").Page("XX项目").SyncBrowser("XX项目").Page("XX项目").Frame("wap_6").Image("image").Check CheckPoint("image")'检查点Browser("XX项目").Page("XX项目").Frame("wap_6").Link("返回XX首页").ClickBrowser("XX项目").Page("XX项目").SyncBrowser("XX项目").Page("XX项目").Frame("wap").Check CheckPoint("生活家居")'检查点77引用函数Function hjq(i)msgbox("hjq")End FunctionDo while(i<20)'开始Browser("XX项目").Page("XX项目").Frame("wap").Link("啤酒").Clickwait(2)Browser("XX项目").Page("XX项目").Frame("wap_2").Link("商铺详情").Click '详情i=i+1If i=3 Theni=21End IfCall hjq(i)Loop88引用action录制action1,在step->action properties中设置该action为reuseable action录制action2,在inser->call to exiting action,选择action1OK99参数化在keyword view中设置对象的value为参数,并设置值With Browser("XX项目_2").Page("XX项目")With .Frame("wap_2").WebEdit("key").Set "1".WebButton("搜").ClickEnd With.Frame("wap_3").Link("重新搜索").ClickWith .Frame("wap").WebEdit("key").Set DataTable("p_Text", dtGlobalSheet).WebButton("搜").ClickEnd With.SyncEnd With1010Vbs随机读取一行文本内容'随机读取文件中的一行randomizeset fso=createobject("scrīpting.filesystemobject")'创建文件系统对象set a=createobject("scrīpting.dictionary")'类似于二维数组set file=fso.opentextfile("D:\hjq.txt") '打开文件do while file.atendofstream<>truem=m+1 'm记录文件中文本行数a.add m,file.readline 'file.readline读取某行记录loopfile.close '关闭文件h=int(rnd*m)msgbox "第" & h & "行: " & a(h) ,4096,"随机内容"msgbox "第1行: " & a(1) ,4096,"内容"msgbox "第2行: " & a(2) ,4096,"内容"msgbox "第3行: " & a(3) ,4096,"内容"1111二维数组的使用set a=createobject("scrīpting.dictionary")'类似于二维数组a.add 0,"返回XX首页"a.add 1,"返回XX首页"a.add 2,"返回XX首页"a.add 3,"返回XX首页"For i=0 to 3With Browser("XX项目").Page("XX项目")With .Frame("wap").WebEdit("key").Set "1".WebButton("搜").ClickEnd With.Frame("wap_2").Link(a(i)).Click.SyncEnd WithNext1212从文件读取文本,并赋予参数set fso=createobject("scrīpting.filesystemobject")'创建文件系统对象set a=createobject("s crīpting.dictionary")'类似于二维数组set file=fso.opentextfile("D:\hjq.txt") '打开文件wait(2)do while file.atendofstream<>trueWith Browser("XX项目").Page("XX项目")With .Frame("wap").WebEdit("key").Set file.readline.WebButton("搜").ClickEnd With.Frame("wap_2").Link("返回XX首页").Click.SyncEnd Withloopfile.close '关闭文件1313读取csv文件并分割字符串Dim aasplitset fso=createobject("scrīpting.filesystemobject")'创建文件系统对象set file=fso.opentextfile("D:\hjq.csv") '打开csv文件wait(2)Do while file.atendofstream<>trueaasplit=split(file.readline,",")'用,分割字符串For i=0 to UBound(aasplit)With Browser("XX项目").Page("XX项目")With .Frame("wap").WebEdit("key").Set aasplit(i).WebButton("搜").ClickEnd With.Frame("wap_2").Link("返回XX首页").Click.SyncEnd WithNextloopfile.close '关闭文件1414怎样识别弹出的web窗口和对象1,进入object identification2,在enviroment中选择web3,选择某个test object class,如browser4,添加mandatory properties5,确定6,重新录制脚本7,OK1515Vbs写文件set fs =createobject("scrīpting.filesystemobject")if (fs.fileexists("c:\hjq.txt")) thenset f =fs.opentextfile("c:\hjq.txt",8)f.write chr(13)+chr(10)f.write "hello"f.write chr(13)+chr(10)f.writeline "beijing"f.closeelseset f=fs.opentextfile("c:\hjq.txt",2, true)f.writeblanklines 2 '写入2个空行f.write "china"f.closeend if1616基本函数QTP的基本使用函数:1, 获取对话框相应的文字: GetV isible Text2, 查找相应的字符串: instr (1,查找目标字符串,所查找的字符串)3, 随机数的获取: Randomnumber.V alue() 或cstr(int(Rnd*10)+1)4, 等待函数: Wait(秒数)5, 获取数组下标: UBound (数组名)6, 拆分数组: Split(MyString, ",", -1, 1)7, 可执行步骤: OptionalStep8, 报告信息: Reporter.ReportEvent 3, "Save Step", "Out of cycle!"9, 判断对话框是否存在: .exist10,事件过滤函数:Reporter.Filter=过滤条件(0,1,2,3),0代表显示所有的error和warning,1,显示error,2,显示waining,3,任何error和warning都不显示。

相关文档
最新文档