书签 分享 收藏 举报 版权申诉 / 106
上传文档赚钱

类型《软件测试》课件:QTP功能点讲解.ppt

  • 上传人(卖家):罗嗣辉
  • 文档编号:2152433
  • 上传时间:2022-03-07
  • 格式:PPT
  • 页数:106
  • 大小:2.64MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《《软件测试》课件:QTP功能点讲解.ppt》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    软件测试 软件 测试 课件 QTP 功能 讲解
    资源描述:

    1、QTP功能点讲解陈大卫2022年3月4日说明说明 该PPT是对QTP自动化测试工具的常用功能点进行分别性的讲解。该课程的讲解应该在QTP基础介绍(QuickTest Professional Tutorial)后进行,主要目的是对基础介绍中的关键功能点进一步的强化和细化,并且对于基础介绍中没有提及的部分功能进行补充性讲解。目录目录 基本录制与回放 三种录制模式 测试对象 QTP插件(QTP-Addin) 参数化测试 检查点(CheckPoint) 同步点(Synchronization)目录目录 模块化测试脚本 正则表达式 VBS描述性编程 虚拟对象 错误处理机制 插入事务基本录制与回放基本录

    2、制与回放 录制:菜单Automation /Record,快捷按钮Redord,或者快捷键F3 回放:菜单Automation /Run,快捷按钮Run,或者快捷键F5 停止:菜单Automation /Stop,快捷按钮Stop,或者快捷键F4 结果查看:菜单Automation /Results录制选项录制选项菜单Automation /Record and Run Settings可以更改设置关键字视图关键字视图专家视图专家视图脚本回放脚本回放结果查看结果查看三种录制模式三种录制模式 标准录制Normal Recording 模拟录制Analog Recording 低级录制Low Le

    3、vel RecordingNormal Recording QTP默认的录制模式,它通过识别被测试程序中的对象,进而操作被测试程序或者识别被测试程序的属性。避免了由于屏幕坐标发生位移等扰动,而导致的脚本失败。但是标准录制并不能保证被测试程序的所有对象都能够被识别,因此还需要其它两种录制模式来补充。Analog Recording 模拟录制中,QTP记录的是用户对键盘和鼠标的操作全过程,就如同用户真实操作鼠标和键盘一样。 注意,此种录制模式生成的脚本的可编辑性很差。Low Level Recording 采用低级录制,无论是多么特殊的对象或者操作,可以被记录下来,QTP会将所有的对象都默认为是W

    4、indow或者WinObject对象。你也可以用低级录制记录下你测试中的精确坐标。 注意,低级录制可能会出现无法正确执行的错误。录制方式的选择原则录制方式的选择原则 我们首先推荐标准录制模式,如果确认标准录制模式无法满足我们的脚本录制需求,则可以考虑采用模拟录制或者低级录制; 如果采用模拟录制或者低级录制模式,可能需要占用比标准录制更多的磁盘空间; 三种录制模式可以综合运用,例如可采取如下策略:录制主体采用标准录制,而部分无法正确录制部分,使用模拟录制和低级录制来弥补。测试对象测试对象 对象类型 对象库 分配“逻辑名称”识别对象 Test Object & Run-time Object 对象

    5、探测器对象类型对象类型对象类型对象类型对象属性对象属性对象库对象库 对象库是QTP存储对象信息的场所。对象库对象库分配分配“逻辑名称逻辑名称”识别对象识别对象 QTP中通过存储于对象库中的对象来识别被测试程序,每一个对象在对象库中都有一个逻辑名,该逻辑名称必须是唯一的。Test Object & Run-time Object Test Object:测试控件是QTP创建的控件,用于在测试中识别出Web或者应用程序中的实际控件。 Run-time Object:运行时对象是指在测试过程中,执行Web或者运行应用程序时的实际的对象。 GetTOProperty SetTOProperty Get

    6、ROProperty对象探测器对象探测器 Tools /Object SpyQTPQTP插件插件( (QTP-Addin) ) QTP插件简介 内部插件与外部插件 插件的管理与关联 插件与检查点类型的关系QTP插件简介插件简介 QTP支持广泛的应用程序类型,对于不同的应用程序类型,要使用不同的插件来进行测试。 QTP在使用不同插件时需要为插件提供不同的License。 需要使用哪个插件就加载哪个,不要加载不用的插件,这样可以提高运行效率; 在Help /About QuickTest Professional中,或者QTP启动过程中可以查看当前安装和加载的插件。内部插件与外部插件内部插件与外部

    7、插件 内部插件就是安装完QTP自带的Activex, VB和Web插件; 外部插件是可以通过外部的安装来扩充的插件,例如Java, .NET插件等;外部插件需要额外购买; 目前Flex也有了相关插件,可以参阅Adobe公司相关产品介绍http:/ 如果启动时没有插件选择界面,可以在Tools /Options /General选项卡进行设置; 插件关联可以在File /Setting中设置Modify;插件与检查点类型的关系插件与检查点类型的关系S-支持;NS-不支持;NA-不适用WebStandard WindowsVBActiveX其它对象标准SSSSNA图像SNSNSNSNA表SNSNS

    8、SNA文本SSSSNA文本区域NSSSSNA位图SSSSNA可访问性SNSNSNSNAXMLSNSNSNSS(文件)页面SNANANANA数据库NANANANAS(DbTable)参数化测试参数化测试 参数化设置 值配置选项 查看参数化的测试结果 输出数据设置 输出数据属性查看 查看测试结果中的输出数据 数据关联参数化设置参数化设置值配置选项值配置选项 查看参数化的测试结果查看参数化的测试结果输出数据输出数据设置设置输出数据属性查看输出数据属性查看查看测试结果中的输出数据查看测试结果中的输出数据数据关联数据关联检查检查点点( (CheckPoint) ) 什么是检查点 检查点的工作原理 添加检

    9、查点 检查点的类型对象检查点文本检查点位图检查点 使用检查点分析测试什么是检查点什么是检查点 “检查点”是将指定属性的当前值与该属性的期望值进行比较的验证点。以便能够确定网站或应用程序是否正常运行。 当运行测试或组件时,QTP 会将检查点的期望结果与当前结果进行比较。如果结果匹配,检查点就会通过。如果结果不匹配,检查点就会失败。可以在“测试结果”窗口中查看检查点的结果。检查点的工作原理检查点的工作原理录制录制检查点的工作原理检查点的工作原理回放回放添加检查点添加检查点 在录制或编辑时添加检查点: 使用Insert /Checkpoint菜单命令,或者单击“测试”工具栏上的“插入检查点”按钮旁边

    10、的箭头。这将显示与关键字视图的选定步骤相关的检查点选项的菜单。添加检查点添加检查点 在编辑时添加检查点: 右键单击关键字视图中您要添加检查点的步骤,然后选择“插入标准检查点”。 右键单击 Active Screen 中的任意对象,然后选择“插入标准检查点”。可使用该选项为 Active Screen 中的任意对象创建检查点(即使该对象不是关键字视图中任一步骤的组成部分)。检查点的类型检查点的类型检查点类型检查点类型描述描述用法示例用法示例标准检查点检查对象的属性值。检查是否选中某单选按钮。图像检查点检查图像的属性值。检查图像源文件是否正确。表检查点检查表中的信息。检查表单元格中的值是否正确。页

    11、面检查点检查网页的特性。检查加载网页所需的时间,或者检查网页是否包含中断链接。文本/检查文本字符串是否显示在网页或应用程序窗口中的适当位置。检查预期的文本字符串是否显示在网页或对话框上的预期位置。文本区域检查点位图检查点将网页或应用程序的某个区域捕获为位图后对其进行检查。检查网页或网页的任何部分是否能按预期显示。数据库检查点检查应用程序或网站所访问的数据库内容检查数据库查询中的值是否正确。可访问性检查点对网站区域进行识别,以检查是否符合 508 部分。检查网页上的图像是否包含 ALT 属性(该属性是 W3C Web 内容可访问性规则所要求的)。XML 检查点检查 XML 文档的数据内容。注意:

    12、注意:XML 文件检查点用于检查特定的 XML 文件;XML 应用程序检查点用于检查网页中的 XML 文档。对象检查点对象检查点 对象检查点即为标准检查点,可以通过检查点属性设置对话框,同时对某对象的多个属性进行检查。文本检查点文本检查点 “文本检查点”检查文本字符串是否显示在应用程序或网页的适当位置中。 文本检查点在所有加载项环境中受到支持。参见“插件与检查点类型的关系”位图检查点位图检查点 “位图检查点”检查位图格式的网页或应用程序区域。使用检查点分析测试使用检查点分析测试同步点同步点( (Synchronization) 同步点的作用 插入同步点 全局等待时间的设置同步点的作用同步点的作

    13、用 QTP在运行脚本时,脚本经常需要“等待”被测程序,否则就可能因为提前执行了后续操作,而导致脚本运行的失败,例如:等待进度条100%完成;等待某一状态信息的出现;等待按钮变为可用状态;等待窗口初始化或刷新完毕;等待一弹出消息(pop-up message)完成操作; 通过插入同步点操作,保证了脚本运行与被测试程序运行的同步。插入同步点插入同步点 录制脚本的过程中,可通过Insert/ Synchronization Point插入同步点Dialog(Login).WinButton(OK).WaitProperty enabled, true, 10000全局等待时间设置全局等待时间设置 通

    14、过菜单File /Setting的Run选项卡中可以设定全局性的对象等待时间。模块模块化测试脚本化测试脚本 模块化测试脚本的意义 Action的划分原则 添加Action 插入已存在的Action模块化测试脚本的意义模块化测试脚本的意义 测试脚本模块化的设计可以便于脚本的集中控制,降低复杂性,限制了改动带来的影响,提高了脚本的可移植和可复用性。 在QTP中Action是一个可以被重复使用的最小单位,当建立一个全新的测试脚本时,测试脚本中只有一个Action,名为Action1,我们可以插入新的Action或者将原有Action切割成为多个,让测试脚本更为模块化且更容易被重复使用。Action的

    15、划分原则的划分原则 一个Action应该对应至少一项完整的逻辑任务操作,就如同函数或子程序一样,具有明确的功能实现; 被多次使用的测试操作,应尽量划分为独立的Action; Action尽量做到高内聚,低耦合,并且尽量减少测试执行顺序对其带来的限制; 创建Action0,来集中控制测试脚本中其它各个Action;Action划分例子划分例子 登录和退出系统的操作相对独立,可以被划为两个Action,中间的业务操作可以作为另外一个Action,如果中间业务操作很多,则可以进一步细分。添加添加Action 可以使用以下的菜单选项或工具栏上的按钮,在录制测试脚本时或是录制完测试脚本后,插入Actio

    16、n:菜单Insert /Call to New Action或是工具栏上的Insert Call to New Action按钮菜单Edit /Action /Split Action或工具栏上的Split Action按钮菜单Insert /Call to Copy of Action或是在Action上点鼠标右键,选取Insert Call to Copy of Action菜单Insert /Call to Existing Action或是在Action上点鼠标右键,选取Insert Call to Existing Action插入新插入新Action拆分已有拆分已有Action插入

    17、已存在的插入已存在的Action 插入可复用的Action将Action设置为可复用可复用Action的查看 插入已存在Action的复本将将Action设置为可复用设置为可复用 菜单Edit /Action /Action Properties或是在Action上点鼠标右键,选取Action Properties。在弹出的Action属性对话框中勾选上Reusable action选项。可复用可复用Action的查看的查看插入已存在的插入已存在的Action正则表达式正则表达式 QTP中的正则表达式 正则表达式的特殊字符QTP中的中的正则表达式正则表达式 通过正则表达式, QuickTest

    18、 可以使用不同的值来标识对象和文本字符串。我们可以在以下操作中使用正则表达式: 在对话框或编程描述中定义对象的属性值 参数化步骤 使用不同的值来创建检查点 如果在“常量值选项”或“参数选项”对话框的“值”框中输入一个特殊字符,QTP 会询问您是否要在每个特殊字符前面添加一个反斜杠 ()。如果单击“是”,则相应的特殊字符前面就会加上一个反斜杠 (),以指示 QTP将该字符作为文字处理。如果单击“否”, QTP将该特殊字符作为正则表达式字符处理。正则表达式正则表达式的特殊字符的特殊字符 默认情况下,除了句点 (.)、连字符 (-)、星号 (*)、插字号 ()、方括号 ( )、圆括号 ()、货币符号

    19、 ($)、垂直线 (|)、加号 (+)、问号 (?) 和反斜杠 () 以外,QuickTest 将正则表达式中的所有字符作为文字处理。当一个特殊字符前面带有反斜杠 () 时, QuickTest 将其作为文字字符处理。VBS描述性编程描述性编程 为什么使用描述性编程 描述性编程的运行原理 直接描述的方法 创建Description对象 描述性编程例子 描述性编程的特点为什么使用为什么使用描述性编程描述性编程 录制方式创建测试脚本是最简单和快捷的,但是它所具有的局限性也是很明显的,就是必须依赖测试对象库,测试脚本中使用的对象都必须是测试对象库中的对象。 在测试过程中,有些界面元素是动态出现或动态

    20、变化的,或者在录制的时候没有添加到对象库中。描述性编程的运行原理描述性编程的运行原理 用描述性编程编写的测试脚本在运行时,QTP会使用测试脚本中给出的对象描述来查找对象,查找的位置不是对象库,而是测试程序运行时QTP所创建Run-time Object进行匹配。直接描述的方法直接描述的方法 TestObject(“PropertyName1:=PropertyValue1”,”) 例如Window(Text:=Myfile.txt - Notepad).Move 50, 50Window(Text:=Myfile.txt - Notepad).WinEdit (AttachedText:=Fi

    21、nd what:).Set helloWindow(Text:=Myfile.txt - Notepad).WinButton (Caption:=Find next).Click 如果希望在一个测试或组件中多次使用相同的编程描述,则可以将创建的对象赋值给变量。Set MyWin = Window(Text:=Myfile.txt - Notepad)MyWin.Move 50, 50MyWin.WinEdit(AttachedText:=Find what:).Set helloMyWin.WinButton(Caption:=Find next).Click 此外,还可以使用 With 语

    22、句:With Window(Text:=Myfile.txt - Notepad) .Move 50, 50 .WinEdit(AttachedText:=Find what:).Set hello .WinButton(Caption:=Find next).ClickEnd With创建创建Description对象对象 set PropertiesColl = Description.Create 例如set ButtonDesc = Description.Create() ButtonDesc(text).Value = OK ButtonDesc(enabled).Value =

    23、True描述性编程例子描述性编程例子Set myDesc=description.Create()myDesc(attached text).value=Agent Name:Dialog(Login).WinEdit(myDesc).Set DavidDialog(Login).WinEdit(Password:).SetSecure 4d6cf96d823798963719ba6e340569a768e86b8fDialog(Login).WinButton(text:=OK).Click描述性编程的特点描述性编程的特点 如果在测试对象层次结构的某一点开始使用了描述性编程,则该测试对象层次

    24、结构下的后续测试对象都要使用描述性编程的方式来描述对象。(后续强迫性)虚拟对象虚拟对象 了解虚拟对象 虚拟对象的管理 定义虚拟对象 虚拟对象的使用了解虚拟对象了解虚拟对象 应用程序可能包含行为与标准对象相似,但 QTP无法识别的对象。您可以将这些对象定义为虚拟对象,并将它们映射到标准类,例如按钮或复选框。 QTP在运行会话过程中模拟虚拟对象上的用户操作。在测试结果中,虚拟对象显示时类似标准类对象。 QTP不支持用于模拟或低级录制的虚拟对象。了解虚拟对象了解虚拟对象 QTP 根据虚拟对象的边界来标识虚拟对象。标记对象的边界将指定其大小以及在网页或应用程序窗口中的位置。将某个测试对象指定为您的虚拟

    25、对象的父类时,请将虚拟对象边界的坐标指定为与该父对象相关。录制测试或组件时, QTP会识别父对象中的虚拟对象,并将其作为测试对象添加到对象库中,以便 QTP可以在运行会话过程中标识该对象。 注意:录制和运行测试或组件时,网页或应用程序窗口的大小和位置必须和定义虚拟对象时的大小和位置相同。 注意:仅当录制和运行测试或组件时,才能使用虚拟对象。您不能在虚拟对象上插入任何类型的检查点,也不能使用“对象探测器”来查看其属性。虚拟对象的管理虚拟对象的管理 虚拟对象管理器包含在您的计算机中定义的所有虚拟对象集合。在虚拟对象管理器中,您可以定义和删除虚拟对象及集合。 Tools /Virtual Objec

    26、ts / Virtual Object Manager错误处理机制错误处理机制 三种错误处理方式全局错误响应VBScript 的On Error 错误处理方式场景恢复Recovery Scenarios 三种错误处理方式的优先级别定义虚拟对象定义虚拟对象 使用向导可以将虚拟对象映射到标准对象类Tools /Virtual Objects /New Virtual Object虚拟对象的使用虚拟对象的使用 定义了虚拟对象的扫雷游戏新游戏按钮,可以同标准按钮一样操作。全局错误响应全局错误响应 全局错误响应在Test Settings的Run选项卡中进行设置:菜单File /Settings 全局错

    27、误响应是QTP 的系统缺省的错误处理,就是说当没有使用其他错误处理方式时,系统会自动调用在这里指定的方式进行错误处理。全局错误四种设置选项全局错误四种设置选项 pop up message box:QTP在出现错误时显示一个错误消息对话框。要继续或结束运行会话,您必须单击该消息框中的某个按钮; process to next action iteration:QTP在出现错误时继续下一个Action循环; stop run: QTP在出现错误时停止测试; process to next step: QTP在出现错误时跳过错误语句,继续下一步骤;VBScript的的On Error错误处理方错误

    28、处理方式式 由于QTP 使用了VBScript 作为脚本语言,自然地,VBScrip 的错误处理方式在QTP 中都适用。在VBScript中,与错误处理相关的三者为:On Error Resume Next 语句, On Error GoTo 0 语句,以及Err对象。VBScript的的On Error错误处理方错误处理方式式 On Error Resume Next 一旦这个语句已被处理,脚本引擎将继续运行后面的程序,而不理会已经发现的任何错误。 On Error GoTo 0 使用On Error Goto 0 语句恢复缺省的错误处理行为。在运行这个语句后,发生的运行期错误将导致缺省错误

    29、处理。在QTP 中,缺省错误处理就是全局错误响应。 Err 对象 Err 对象重要的属性有三个:Number, Source, Description。分别是错误号,错误来源,错误描述 Err 对象会在运行时错误发生的时候赋予新的值,旧的值会被舍弃。 Err 对象不会受到函数调用的影响,它完全是全局的。 Err 对象可以用Clear 方法清空 任何时候调用On Error Resume Next 或者On Error GoTo 0 的时候,都会清空Err 对象Err对象例子对象例子On Error Resume NextErr.Raise 6 Raise an overflow error.M

    30、sgBox (Error # & CStr(Err.Number) & & Err.Description)Err.Clear Clear the error. 场景恢复场景恢复Recovery Scenarios 测试运行期间的意外事件、错误和应用程序崩溃会破坏运行并歪曲结果。这是一个问题,尤其是在无人值守情况下运行测试或组件时,测试或组件会挂起,直到您执行恢复所需的操作。 “恢复场景管理器”提供了一个向导,该向导指导用户完成定义恢复场景(对意外事件和恢复运行会话所必需的操作的定义)的过程。恢复场景管理器恢复场景管理器 菜单Resources /Recovery Scenarios Mana

    31、ger可以创建恢复场景。新建场景新建场景step1step1新建场景新建场景step2step2新建场景新建场景step3step3新建场景新建场景step4step4新建场景新建场景step5step5新建场景新建场景step6step6新建场景新建场景step7step7三种错误处理方式的优先级别三种错误处理方式的优先级别 错误恢复场景中的错误处理优先级最高 (Recovery Operation) On Error Resume Next 优先级次之 错误恢复场景中的后处理方式优先级别再次之 (Post-Recovery Test Run Options) 缺省错误响应优先级别最低 注意

    32、:On Error GoTo 0 其实就是指采用缺省错误处理,不可和On Error Resume Next 处理的优先级别等同起来插入事务插入事务 什么是事务 在LR中运行QTP脚本的注意事项 插入事务 验证脚本是否可被LR使用什么是什么是事务事务? 事务(Transaction)是LoadRunner中的一个重要概念,我们可以理解为对某一特定操作组合/任务的范围标记。以便在执行过程中,能够对标记范围内的性能参数进行记录与统计。LoadRunner脚本中可以插入多个事务。 有关事务的性能指标很多,例如Average Transaciton Response Time(事务平均响应时间);Tr

    33、ansactions per Second(每秒通过事务数/TPS);Transaction Response Time(Percentile)(事务响应时间(百分比))等。在在LR中运行中运行QTP脚本的注意事项脚本的注意事项1、QTP的Tools-Options-Run的Alow other Mercury products to run tests and components选项要打勾;2、在QTP脚本中设置事务,Services.StartTransaction “事务名”与Services.EndTransaction “事务名”,把需要在LR运行的脚本放在此事务里面;3、在LR中

    34、运行时选择QTP脚本,文件扩展名为.usr的;4、在LR中运行QTP脚本时,要把QTP关闭;5、只能在LR的Controller中运行;不能在Virtual User Generator中打开及回放;6、LR要使用global的license,单单WEB的license不行,会报错;7、Controller运行中,只能执行1个虚拟用户,超过1个以上的虚拟用户会提示错误;并发会报错插入事务插入事务Services.StartTransaction loginServices.EndTransaction login验证脚本是否可被验证脚本是否可被LR使用使用 QTP工具组件中的Silent Test Runner可以测试QTP脚本是否能够被LR所使用。 测试时需要关闭QTP程序。问题与讨论问题与讨论谢谢谢谢 大家大家

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:《软件测试》课件:QTP功能点讲解.ppt
    链接地址:https://www.163wenku.com/p-2152433.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库