QTP基础教程-内部学习_第1页
QTP基础教程-内部学习_第2页
QTP基础教程-内部学习_第3页
QTP基础教程-内部学习_第4页
QTP基础教程-内部学习_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

QTP根底教程学习2014年8月18日参数化4建立检查点3QTP简介输入您的文本请在此处输入您的文本1录制/执行测试脚本处输入您的文本请在此处输入您的文本2目录5输出值1QTP简介QuickTestProfessioal是HP公司出品的B/S系统的自动化功能测试的利器,软件程序测试工具,它可以覆盖绝大多数的软件开发技术,简单高效,并具备测试用例可重用的特点。甚至可以使新测试人员在几分钟内提高效率。您只需要通过按“记录”按钮,并使用执行典型业务流程的应用程序即可创立测试脚本。系统使用简明的英文语句和屏幕抓图来自动记录业务流程中的每个步骤。用户可以在关键字视图中轻松修改、删除或重新安排测试步骤。

01020304自动化测试的好处QTP的工作流程QTP的程序界面QTP测试案例如果你执行过人工测试,你一定了解人工测试的缺点,人工测试非常浪费时间而且需要投入大量的人力使用人工测试的结果,往往是在应用程序交付前,无法对应用程序的所有功能都作完整的测试。

使用QuickTest可以加速整个测试的过程,并且建置完新版本的应用程序或网站后,可以重复使用测试脚本进行测试。以QuickTest执行测试,就与人工测试一样。QuickTest会仿真鼠标的动作与键盘的输入,不过QuickTest比人工测试快了很多。01自动化的好处1.录制测试脚本前的准备

在测试前需要确认你的应用程序及QuickTest是否符合测试需求?

确认你已经知道如何对应用程序进行测试,如要测试哪些功能、操作步、预期结果等。同时也要检查一下QuickTest的设定,如Test

Settings以及Options对话窗口,以确保QuickTest会正确的录制并储存信息。确认QuickTest以何种模式储存信息。

2.录制测试脚本

操作应用程序或浏览网站时,QuickTest会在Keyword

View

中以表格的方式显示录制的操作步骤。每一个操作步骤都是使用者在录制时的操作,如在网站上点击了链接,或那么在文本框中输入的信息。

3.加强测试脚本

在测试脚本中参加检查点,可以检查网页的链接、对象属性、或者字符串,以验证应用程序的功能是否正确。将录制的固定值以参数取代,使用多组的数据测试程序。使用逻辑或者条件判断式,可以进行更复杂的测试。

02QTP的工作流程4.对测试脚本进行调试

修改正测试脚本后,需要对测试脚本作调试,以确保测试脚本能正常并且流畅的执行。

5.在新版应用程序或者网站上执行测试脚本

通过执行测试脚本,QuickTest会在新本的网站或者应用程序上执行测试,检查应用程序的功能是否正确。

6.分析测试结果

分析测试结果,找出问题所在。

7.测试报告

如果你安装了TestDirector〔Quality

Center〕,那么你可以将发现的问题回报到TestDirector〔Quality

Center〕数据库中。TestDirector〔Quality

Center〕是Mercury测试管理工具。

03QTP的程序界面在学习创立测试之前,先了解一下QuickTest的界面。以下图是QTP启动后,首先翻开的插件管理对话框。

以下是启动首界面窗口〔在这里已把说明书界面关闭〕。

QTP录制完了,各窗体如下:

除了大家熟悉的一些常用组件外,QTP主窗口还包括了一些专用的工具栏和面板,现在暂时对几个重要的组件进行简单的说明。文具工具栏管理测试脚本常用的工具栏,如下:

测试工具栏管理测试脚本常用的工具栏,如下:

调试工具栏用于调试测试脚本,与其它编程语言一样,QTP也具有单步执行、增加监视数、设置断点等调试脚本的功能,如下:

动作工具栏包含所有的功能按钮,以及一个显示测试动作的下拉式清单,方便测试人员检查整个测试过程中的动作,如下:

测试面板QTP以两种方式显示了测试人员录制的脚本,即关键字视图〔如以下图1〕和专家视图〔如以下图2〕。关键字视图实际就是一个表格,其中包括具有层次结构的对象、对象被执行的动作或者被设定的值等信息,让测试人员很直观的了解每个步骤的意义。而专家视图是以VBSctipt语音的形式记录脚本。关键字里的步骤和专家视图中的语句是一一对应的,任何一个视图中的改动都会在另外一个视图中表现出来。关键字视图直观易懂,方便不熟悉脚本语言的用户阅读和使用,专家视图在增强和控制脚本方面比较灵活,适用于VBScript熟悉的测试人员适用,最好的方法是将两者结合起来适用,这样才能够实现QTP强大的功能。图1图204测试案例以下是QTP的两个版本的测试案列:单机版FlightReservation;HPTours;2录制和执行脚本当浏览网站或使用应用程序时,QTP会纪录测试员的每一个操作步骤,并分别以keywordview〔关键字视图〕和Expertview〔专家视图〕两种方式记录下来。01020304录制前的准备录制测试脚本执行测试脚本分析测试结果01录制前的准备在录制脚本前,首先要确认以下几项:有Mercury

Tours示范网站的用户账号和密码,这里默认的用户名和密码都是mercury;

在正式开始录制一个测试之前,关闭所有已经翻开的IE窗口。这是为了能够正常的进行录制,这一点要特别注意;关闭所有与测试不相关的程序窗口。

02录制测试脚本

web应用录制翻开QTP,〔插件管理器对话框中选择web的情况下〕,进入QTP的主窗口,创立一个空白的测试;单击测试工具栏的Record按钮,系统翻开RecordandRunSettings对话框,如以下图:不录制和运行浏览器中已翻开的应用程序。录制和运行完毕关闭浏览器。需要勾选3.在HPTours主界面分别输入用户名和密码,进入机票预订向导页面,如下;在selectFlight页面中,适用默认选项,直接单击continue按钮进入Bookaflight页面;在Bookaflight页面中,仅输入必要的旅客姓名和信用卡等信息,其他内容无需更改或填写,单击SECUREPURCHASEpurchase按钮进入Flightconfirmation页面;提交完订单后,关闭网页,单击QTP测试工具栏的stop按钮,停止录制。这样QTP自动录制了整个的订票动作;保存测试脚本,将测试保存为BasicScript。保存时,最好勾选SaveScreeningpages选项,这样保存的脚本中就包含被操作的页面

windows应用程序录制翻开QTP,录制Daemon,〔插件管理器对话框中选择visuslbasie的情况下〕,进入QTP的主窗口,创立一个空白的测试;单击测试工具栏的Record按钮,系统翻开RecordandRunSettings对话框,如以下图操作:

录制时ActiveScreen的设置ActiveScreen可以存储测试界面相关的信息,它的设置如下:Gapturelevel中可设置ActiveScreen捕获信息的级别,有以下4个:Complete:捕获和存储所有信息;Partial:捕获和存储第一个步骤所执行的应用程序窗口,以及该窗口下属的对象属性;Minmum:仅捕获和存储录制的对象及其父亲对象的属性;None:屏蔽ActiveScreen捕获和存储对象属性的功能;

在现有脚本中添加测试步骤方法一:定位要放置的位置,然后单击录制按钮,继续录制脚本;方法二:如以下图1操作,翻开“stepGenerator”界面,做图2操作,得到图3:图1图2图3

查看测试脚本QTP以两种方式记录测试人员的每一个动作。关键字视图:专家视图:

编写脚本主要在专家视图中进行。03执行测试脚本

测试结果保存Newrunresultsfolder:首次运行创立的结果目录名为Res1,用于存储结果信息,以后再次运行时,目录名将会+1,即第一次存在Res1目录下,第二次存在Res2目录下;Temporaryrunresultsfolsder:运行结果,系统将会保存在一个临时目录中,每次运行时都会覆盖原来的结果。该目录在Run对话框中是只读的,不能修改。结果路径设置完毕后,单击OK按钮,系统开始逐行执行测试脚本。

脚本运行方式翻开录制的脚本,设置运行选项,点击Tool-options,点击run,如以下图:设置画面的存储结果,点击run下的Screencapture,勾选Savestillimagecapturetoresult,如以下图:调试运行,按F9设置/取消断点,如图:按F5或单击工具栏的“run”按钮,到断点就进入调试模式,按F11或者Debug菜单下的“stepinto”选项,单步运行,运行到哪一条,黄色箭头将指向正在执行的测试步骤,如以下图:

分析测试脚本执行完成后,quicktest会自动显示测试结果窗口,如以下图:

分析测试脚本执行完成后,quicktest会自动显示测试结果窗口,如以下图:3建议检查点“检查点”是将指定属性的当前值与该属性的期望值进行比较的验证点。这能够确定网站或应用程序是否正常运行。当添加检查点时,QuickTest

会将检查点添加到关键字视图中的当前行并在专家视图中添加一条“检查检查点”语句。运行测试或组件时,QuickTest

会将检查点的期望结果与当前结果进行比较。如果结果不匹配,检查点就会失败。可以在“测试结果”窗口中查看检查点的结果。010203QuickTest检查点种类创立检查点执行并分析使用检查点的测试脚本01Quicktest检查点种类首先我们了解一下QuickTest支持的检查点种类,如下表所示,QuickTest支持以下检查点。检查点类型说明范例标准检查点检查对象的属性检查某个按钮是否被选取图片检查点检查图片的属性检查图片的来源位图检查点检查图片的范围检查图片的范围大小文字检查点检查网页/窗体的文字检查登录成功的文字网页检查点检查网页的属性检查加载的时间或者页面访问不正确的链接Outvalue检查图片的长度和宽度检查图片的长度和宽度02创立检查点翻开Flight测试脚本,将脚本另存为“Checkpoint”测试脚本。我们在Checkpoint测试脚本中创立4个检查点,分别是:标准检查、位图检查、文字检查以及Outvalue。以下所有操作在Activescreen中完成。标准检查点登录界面,选择login,在Activescreen中,右键insertstandardcheckpoint,翻开checkpointproperties对话框,如以下图:

位图检查点在Activescreen中,右键insertBitmapcheckpoint,翻开Bitmapcheckpointproperties对话框,选中它的范围,如以下图:

位图检查点在Activescreen中,右键insertTextcheckpoint,翻开Textcheckpointproperties对话框,选择匹配类型,如以下图:

位图检查点在Activescreen中,右键insertOutputValue,翻开insertOutputValueproperties对话框,选择高度和宽度,如以下图:

运行中存在数据运行中去除数据03执行并分析使用检查点的测试脚本在上一节创立4个检查点后,运行checkpoint测试脚本,分析插入检查点后,脚本的运行情况。在工具栏点击“run”按钮,弹出以下窗口:这个页面是专门设置讲脚本存在哪一个目录,点击“确定”后,quicktest会按照脚本的操作,一步一步进行测试,操作的过程与手工完全一样。当QuickTest执行完测试脚本后,测试执行结果窗口会自动弹出。如果所有的检查点都通过了检验,运行结果为Passed。如果有一个或多个检查点没有同过验证,这运行结果显示为Failed,如以下图所示:当QuickTest执行完测试脚本后,测试执行结果窗口会自动弹出。如果所有的检查点都通过了检验,运行结果为Passed。如果有一个或多个检查点没有同过验证,这运行结果显示为Failed,如以下图所示:展开树视图,左边是操作的测试步骤,点击某一个检查点,右边对应的是这个检查点的详细信息。假设实际值与预期值相同,那么passed。假设不相同,那么failed,如图:4参数化实际测试过程中总有一些数据不一定是固定值,但是代码写好了总不能为了经常变的数据而经常改脚本,因此把那些数据做成参数。010203确定被参数化对象使用DataTable进行参数化输入测试数据04执行参数化的测试脚本05参数化技巧01确定被参数化对象选择出发地“London”,目的地到“Frankfurt”,设计测试用例变为订6次票,每次出发地和目的地不一样,在以下关键字视图中可看出要参数化的对象是flyfrom和flyto两步骤的值“London”和“Frankfurt”,如图:02使用DataTable进行参数化用鼠标点击出发地flyfrom步骤中的value值“London”,再定睛“#”按钮,如图:默认弹出valueconfigurationoptions,如图1,选择parameter,点击下拉框,如图2:图1图2这里的参数方式选择datatable,然后命名参数的名称,datatable表中发生以下变化,如以下图:03输入测试数据在DataTable中输入数据,如图:04执行参数化的脚本在执行测试脚本的时候,可以清晰的看到,QTP使用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论