功能点讲解课件_第1页
功能点讲解课件_第2页
功能点讲解课件_第3页
功能点讲解课件_第4页
功能点讲解课件_第5页
已阅读5页,还剩101页未读 继续免费阅读

下载本文档

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

文档简介

QTP功能点讲解 陈大卫2020年2月28日 说明 该PPT是对QTP自动化测试工具的常用功能点进行分别性的讲解 该课程的讲解应该在QTP基础介绍 QuickTestProfessionalTutorial 后进行 主要目的是对基础介绍中的关键功能点进一步的强化和细化 并且对于基础介绍中没有提及的部分功能进行补充性讲解 目录 基本录制与回放三种录制模式测试对象QTP插件 QTP Addin 参数化测试检查点 CheckPoint 同步点 Synchronization 目录 模块化测试脚本正则表达式VBS描述性编程虚拟对象错误处理机制插入事务 基本录制与回放 录制 菜单Automation Record 快捷按钮Redord 或者快捷键F3回放 菜单Automation Run 快捷按钮Run 或者快捷键F5停止 菜单Automation Stop 快捷按钮Stop 或者快捷键F4结果查看 菜单Automation Results 录制选项 菜单Automation RecordandRunSettings可以更改设置 关键字视图 专家视图 脚本回放 结果查看 三种录制模式 标准录制NormalRecording模拟录制AnalogRecording低级录制LowLevelRecording NormalRecording QTP默认的录制模式 它功过识别被测试程序中的对象 进而操作被测试程序或者识别被测试程序的属性 避免了由于屏幕坐标发生位移等扰动 而导致的脚本失败 但是标准录制并不能保证被测试程序的所有对象都能够被识别 因此还需要其它两种录制模式来补充 AnalogRecording 模拟录制中 QTP记录的是用户对键盘和鼠标的操作全过程 就如同用户真实操作鼠标和键盘一样 注意 此种录制模式生成的脚本的可编辑性很差 LowLevelRecording 采用低级录制 无论是多么特殊的对象或者操作 可以被记录下来 QTP会将所有的对象都默认为是Window或者WinObject对象 你也可以用低级录制记录下你测试中的精确坐标 注意 低级录制可能会出现无法正确执行的错误 录制方式的选择原则 我们首先推荐标准录制模式 如果确认标准录制模式无法满足我们的脚本录制需求 则可以考虑采用模拟录制或者低级录制 如果采用模拟录制或者低级录制模式 可能需要占用比标准录制更多的磁盘空间 三种录制模式可以综合运用 例如可采取如下策略 录制主体采用标准录制 而部分无法正确录制部分 使用模拟录制和低级录制来弥补 测试对象 对象类型对象库分配 逻辑名称 识别对象TestObject Run timeObject对象探测器 对象类型 对象类型 对象属性 对象库 对象库是QTP存储对象信息的场所 对象库 分配 逻辑名称 识别对象 QTP中通过存储于对象库中的对象来识别被测试程序 每一个对象在对象库中都有一个逻辑名 该逻辑名称必须是唯一的 TestObject Run timeObject TestObject 测试控件是QTP创建的控件 用于在测试中识别出Web或者应用程序中的实际控件 Run timeObject 运行时对象是指在测试过程中 执行Web或者运行应用程序时的实际的对象 GetTOPropertySetTOPropertyGetROProperty 对象探测器 Tools ObjectSpy QTP插件 QTP Addin QTP插件简介内部插件与外部插件插件的管理与关联插件与检查点类型的关系 QTP插件简介 QTP支持广泛的应用程序类型 对于不同的应用程序类型 要使用不同的插件来进行测试 QTP在使用不同插件时需要为插件提供不同的License 需要使用哪个插件就加载哪个 不要加载不用的插件 这样可以提高运行效率 在Help AboutQuickTestProfessional中 或者QTP启动过程中可以查看当前安装和加载的插件 内部插件与外部插件 内部插件就是安装完QTP自带的Activex VB和Web插件 外部插件是可以通过外部的安装来扩充的插件 例如Java NET插件等 外部插件需要额外购买 目前Flex也有了相关插件 可以参阅Adobe公司相关产品介绍 插件的管理与关联 如果启动时没有插件选择界面 可以在Tools Options General选项卡进行设置 插件关联可以在File Setting中设置Modify 插件与检查点类型的关系 S 支持 NS 不支持 NA 不适用 参数化测试 参数化设置值配置选项查看参数化的测试结果输出数据设置输出数据属性查看查看测试结果中的输出数据数据关联 参数化设置 值配置选项 查看参数化的测试结果 输出数据设置 输出数据属性查看 查看测试结果中的输出数据 数据关联 检查点 CheckPoint 什么是检查点检查点的工作原理添加检查点检查点的类型对象检查点文本检查点位图检查点使用检查点分析测试 什么是检查点 检查点 是将指定属性的当前值与该属性的期望值进行比较的验证点 以便能够确定网站或应用程序是否正常运行 当运行测试或组件时 QTP会将检查点的期望结果与当前结果进行比较 如果结果匹配 检查点就会通过 如果结果不匹配 检查点就会失败 可以在 测试结果 窗口中查看检查点的结果 检查点的工作原理 录制 检查点的工作原理 回放 添加检查点 在录制或编辑时添加检查点 使用Insert Checkpoint菜单命令 或者单击 测试 工具栏上的 插入检查点 按钮旁边的箭头 这将显示与关键字视图的选定步骤相关的检查点选项的菜单 添加检查点 在编辑时添加检查点 右键单击关键字视图中您要添加检查点的步骤 然后选择 插入标准检查点 右键单击ActiveScreen中的任意对象 然后选择 插入标准检查点 可使用该选项为ActiveScreen中的任意对象创建检查点 即使该对象不是关键字视图中任一步骤的组成部分 检查点的类型 对象检查点 对象检查点即为标准检查点 可以通过检查点属性设置对话框 同时对某对象的多个属性进行检查 文本检查点 文本检查点 检查文本字符串是否显示在应用程序或网页的适当位置中 文本检查点在所有加载项环境中受到支持 参见 插件与检查点类型的关系 位图检查点 位图检查点 检查位图格式的网页或应用程序区域 使用检查点分析测试 同步点 Synchronization 同步点的作用插入同步点全局等待时间的设置 同步点的作用 QTP在运行脚本时 脚本经常需要 等待 被测程序 否则就可能因为提前执行了后续操作 而导致脚本运行的失败 例如 等待进度条100 完成 等待某一状态信息的出现 等待按钮变为可用状态 等待窗口初始化或刷新完毕 等待一弹出消息 pop upmessage 完成操作 通过插入同步点操作 保证了脚本运行与被测试程序运行的同步 插入同步点 录制脚本的过程中 可通过Insert SynchronizationPoint 插入同步点Dialog Login WinButton OK WaitProperty enabled true 10000 全局等待时间设置 通过菜单File Setting的Run选项卡中可以设定全局性的对象等待时间 模块化测试脚本 模块化测试脚本的意义Action的划分原则添加Action插入已存在的Action 模块化测试脚本的意义 测试脚本模块化的设计可以便于脚本的集中控制 降低复杂性 限制了改动带来的影响 提高了脚本的可移植和可复用性 在QTP中Action是一个可以被重复使用的最小单位 当建立一个全新的测试脚本时 测试脚本中只有一个Action 名为Action1 我们可以插入新的Action或者将原有Action切割成为多个 让测试脚本更为模块化且更容易被重复使用 Action的划分原则 一个Action应该对应至少一项完整的逻辑任务操作 就如同函数或子程序一样 具有明确的功能实现 被多次使用的测试操作 应尽量划分为独立的Action Action尽量做到高内聚 低耦合 并且尽量减少测试执行顺序对其带来的限制 创建Action0 来集中控制测试脚本中其它各个Action Action划分例子 登录和退出系统的操作相对独立 可以被划为两个Action 中间的业务操作可以作为另外一个Action 如果中间业务操作很多 则可以进一步细分 TEST Action0 CallAction1 CallAction2 CallAction3 Action1 Login Action2 Action3Signoff 添加Action 可以使用以下的菜单选项或工具栏上的按钮 在录制测试脚本时或是录制完测试脚本后 插入Action 菜单Insert CalltoNewAction或是工具栏上的InsertCalltoNewAction按钮菜单Edit Action SplitAction或工具栏上的SplitAction按钮菜单Insert CalltoCopyofAction或是在Action上点鼠标右键 选取InsertCalltoCopyofAction菜单Insert CalltoExistingAction或是在Action上点鼠标右键 选取InsertCalltoExistingAction 插入新Action 拆分已有Action 插入已存在的Action 插入可复用的Action将Action设置为可复用可复用Action的查看插入已存在Action的复本 将Action设置为可复用 菜单Edit Action ActionProperties或是在Action上点鼠标右键 选取ActionProperties 在弹出的Action属性对话框中勾选上Reusableaction选项 可复用Action的查看 插入已存在的Action 插入可复用的Action 插入已存在Action的复本 正则表达式 QTP中的正则表达式正则表达式的特殊字符 QTP中的正则表达式 通过正则表达式 QuickTest可以使用不同的值来标识对象和文本字符串 我们可以在以下操作中使用正则表达式 在对话框或编程描述中定义对象的属性值参数化步骤使用不同的值来创建检查点如果在 常量值选项 或 参数选项 对话框的 值 框中输入一个特殊字符 QTP会询问您是否要在每个特殊字符前面添加一个反斜杠 如果单击 是 则相应的特殊字符前面就会加上一个反斜杠 以指示QTP将该字符作为文字处理 如果单击 否 QTP将该特殊字符作为正则表达式字符处理 正则表达式的特殊字符 默认情况下 除了句点 连字符 星号 插字号 方括号 圆括号 货币符号 垂直线 加号 问号 和反斜杠 以外 QuickTest将正则表达式中的所有字符作为文字处理 当一个特殊字符前面带有反斜杠 时 QuickTest将其作为文字字符处理 VBS描述性编程 为什么使用描述性编程描述性编程的运行原理直接描述的方法创建Description对象描述性编程例子描述性编程的特点 为什么使用描述性编程 录制方式创建测试脚本是最简单和快捷的 但是它所具有的局限性也是很明显的 就是必须依赖测试对象库 测试脚本中使用的对象都必须是测试对象库中的对象 在测试过程中 有些界面元素是动态出现或动态变化的 或者在录制的时候没有添加到对象库中 描述性编程的运行原理 用描述性编程编写的测试脚本在运行时 QTP会使用测试脚本中给出的对象描述来查找对象 查找的位置不是对象库 而是测试程序运行时QTP所创建Run timeObject进行匹配 直接描述的方法 TestObject PropertyName1 PropertyValue1 例如Window Text Myfile txt Notepad Move50 50Window Text Myfile txt Notepad WinEdit AttachedText Findwhat Set hello Window Text Myfile txt Notepad WinButton Caption Findnext Click 如果希望在一个测试或组件中多次使用相同的编程描述 则可以将创建的对象赋值给变量 SetMyWin Window Text Myfile txt Notepad MyWin Move50 50MyWin WinEdit AttachedText Findwhat Set hello MyWin WinButton Caption Findnext Click 此外 还可以使用With语句 WithWindow Text Myfile txt Notepad Move50 50 WinEdit AttachedText Findwhat Set hello WinButton Caption Findnext ClickEndWith 创建Description对象 setPropertiesColl Description Create例如setButtonDesc Description Create ButtonDesc text Value OK ButtonDesc enabled Value True 描述性编程例子 SetmyDesc description Create myDesc attachedtext value AgentName Dialog Login WinEdit myDesc Set David Dialog Login WinEdit Password SetSecure 4d6cf96d823798963719ba6e340569a768e86b8f Dialog Login WinButton text OK Click 描述性编程的特点 如果在测试对象层次结构的某一点开始使用了描述性编程 则该测试对象层次结构下的后续测试对象都要使用描述性编程的方式来描述对象 后续强迫性 虚拟对象 了解虚拟对象虚拟对象的管理定义虚拟对象虚拟对象的使用 了解虚拟对象 应用程序可能包含行为与标准对象相似 但QTP无法识别的对象 您可以将这些对象定义为虚拟对象 并将它们映射到标准类 例如按钮或复选框 QTP在运行会话过程中模拟虚拟对象上的用户操作 在测试结果中 虚拟对象显示时类似标准类对象 QTP不支持用于模拟或低级录制的虚拟对象 了解虚拟对象 QTP根据虚拟对象的边界来标识虚拟对象 标记对象的边界将指定其大小以及在网页或应用程序窗口中的位置 将某个测试对象指定为您的虚拟对象的父类时 请将虚拟对象边界的坐标指定为与该父对象相关 录制测试或组件时 QTP会识别父对象中的虚拟对象 并将其作为测试对象添加到对象库中 以便QTP可以在运行会话过程中标识该对象 注意 录制和运行测试或组件时 网页或应用程序窗口的大小和位置必须和定义虚拟对象时的大小和位置相同 注意 仅当录制和运行测试或组件时 才能使用虚拟对象 您不能在虚拟对象上插入任何类型的检查点 也不能使用 对象探测器 来查看其属性 虚拟对象的管理 虚拟对象管理器包含在您的计算机中定义的所有虚拟对象集合 在虚拟对象管理器中 您可以定义和删除虚拟对象及集合 Tools VirtualObjects VirtualObjectManager 定义虚拟对象 使用向导可以将虚拟对象映射到标准对象类Tools VirtualObjects NewVirtualObject 虚拟对象的使用 定义了虚拟对象的扫雷游戏 新游戏按钮 可以同标准按钮一样操作 错误处理机制 三种错误处理方式全局错误响应VBScript的OnError错误处理方式场景恢复RecoveryScenarios三种错误处理方式的优先级别 全局错误响应 全局错误响应在TestSettings的Run选项卡中进行设置 菜单File Settings全局错误响应是QTP的系统缺省的错误处理 就是说当没有使用其他错误处理方式时 系统会自动调用在这里指定的方式进行错误处理 全局错误四种设置选项 popupmessagebox QTP在出现错误时显示一个错误消息对话框 要继续或结束运行会话 您必须单击该消息框中的某个按钮 processtonextactioniteration QTP在出现错误时继续下一个Action循环 stoprun QTP在出现错误时停止测试 processtonextstep QTP在出现错误时跳过错误语句 继续下一步骤 VBScript的OnError错误处理方式 由于QTP使用了VBScript作为脚本语言 自然地 VBScrip的错误处理方式在QTP中都适用 在VBScript中 与错误处理相关的三者为 OnErrorResumeNext语句 OnErrorGoTo0语句 以及Err对象 VBScript的OnError错误处理方式 OnErrorResumeNext一旦这个语句已被处理 脚本引擎将继续运行后面的程序 而不理会已经发现的任何错误 OnErrorGoTo0使用OnErrorGoto0语句恢复缺省的错误处理行为 在运行这个语句后 发生的运行期错误将导致缺省错误处理 在QTP中 缺省错误处理就是全局错误响应 Err对象Err对象重要的属性有三个 Number Source Description 分别是错误号 错误来源 错误描述Err对象会在运行时错误发生的时候赋予新的值 旧的值会被舍弃 Err对象不会受到函数调用的影响 它完全是全局的 Err对象可以用Clear方法清空任何时候调用OnErrorResumeNext或者OnErrorGoTo0的时候 都会清空Err对象 Err对象例子 OnErrorResumeNextErr Raise6 Raiseanoverflowerror MsgBox Error CStr Err Number Err Description Err Clear Cleartheerror 场景恢复RecoveryScenarios 测试运行期间的意外事件 错误和应用程序崩溃会破坏运行并歪曲结果 这是一个问题 尤其是在无人值守情况下运行测试或组件时 测试或组件会挂起 直到您执行恢复所需的操作 恢复场景管理器 提供了一个向导 该向导指导用户完成定义恢复场景 对意外事件和恢复运行会话所必需的操作的定义 的过程 恢复场景管理器 菜单Resources RecoveryScenariosManager可以创建恢复场景 新建场景 step1 新建场景 step2 新建场景 step3 新建场景 step4 新建场景 step5 新建场景 step6 新建场景 step7 三种错误处理方式的优先级别 错误恢复场景中的错误处理优先级最高 RecoveryOperation OnErrorResumeNext优先级次之错误恢复场景中的后处理方式优先级别再次之 Post RecoveryTestRunOptions 缺省错误响应优先级别最低注意 OnErrorGoTo0其实

温馨提示

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

评论

0/150

提交评论