对QTP中Check Point的较为深入理解

原创 2007年09月19日 13:17:00
 对QTP中Check Point的较为深入理解      
  
1. 定义:
将特定属性的当前数据与期望数据进行比较的检查点,用于判定被测试程序功能是否正确
Check Point可以分两类:QTP内置验证点和自定义验证点
 
2. QTP内置验证点实现原理及优缺点
       A.录制时,根据用户设置的验证内容,记录数据作为基线数据
       B.回放时,QTP捕获对象运行时的数据,与脚本中的基线数据进行比较
       C.如果基线数据和运行数据相同,结果为PASS,反之为Failed.
       D.优点是 操作简单方便
       E.缺点是 QTP默认的检查的属性有时不符合自己的要求,如希望得到检查的属性没有在里面, 而默认的属性不需要检查等。
 
3. QTP内置验证点结果的应用
       A.录制的验证点在没有进行调整前,仅仅是给出了检查结果是通过还是错误的
       B.实际的测试过程中,可以根据验证点的结果进行不同的操作
       If Window("Flight Reservation").WinEdit("Name:").Check(CheckPoint("Name:")) = True then
              msgbox "oh, success!"
Else
              msgbox "oh, failure!"
End If
 
4. 自定义验证点的应用及优缺点
       A.使用条件语句对实际值和期望值进行对比,然后用Reporter对象报告结果
       '检查Ticket Number
If CStr(dbTicketNumber) = CStr(DataTable("oTicketNumber", dtLocalSheet)) Then
       Reporter.ReportEvent micPass, "打开订单- TicketNumber", "期望结果是:" & dbTicketNumber & ", 界面显示实际结果是:" & DataTable("oTicketNumber", dtLocalSheet)
Else
       Reporter.ReportEvent micPass, "打开订单- TicketNumber", "期望结果是:" & dbTicketNumber & ", 界面显示实际结果是:" & DataTable("oTicketNumber", dtLocalSheet)
End If
       B.优点是 非常灵活,前者实现的所有检查都可以用此方法来实现;
       C.缺点是 代码量大,对测试人员的要求高。
 
5. 对Check Point的深入理解
摘自:51Testing,http://bbs.51testing.com/viewthread.php?tid=86742&highlight=check
A.个人认为在比较简单的和有Active Screen的情况下可以使用QTP内置的Check Point,在比较复杂的情况下可以通过编程和使用Reporter来完成.
B.在使用check方法时,必须先在Keyword View或者Active Screen中新建CheckPoint。否则无法对该对象进行check,系统报错说无法在对象仓库中找到此对象。如果插入检查点,系统会自动把相关的对象添加到对象库中。
我认为检查点并不是一个实实在在的对象。因为你可以对同一个对象设置不同的检查点,可以把它的某个属性既设定成True,也可以设定为False。而对象库中的对象的属性值是必须依赖于对象的实际属性值的。如果随意更改有可能无法识别。还有就是可以针对同一个对象设定多个检查点。在测试窗口中可以看到这两个检查点的名称是区分开来的。所以我认为检查点并不是实际存在的对象,而是一些类似映射的东西。
尽管检查点并不是对象库中的实在的对象,但是它必须对应到对象库中的某个实实在在的对象,好像它的一个映像一样,而且在实际的操作过程中,QTP还是把它作为一个对象来处理的。
因为我们无法像其他对象一样把“检查点对象”添加到对象库中,而QTP又认为它是个对象,所以我们无法在专家视图中直接添加检查点脚本。但是我们可以采用编成描述的方式来实现检查点的功能。
CheckPoint 是一个依赖于Object Repository(对象库)中的某个对象的“虚拟对象”。其具体含义是:如果它所依赖的QTP 对象库中的对象没有了,那么此CheckPoint 也就不存在了;这个“虚拟对象”的属性是从它所依赖的对象的属性中“抽取”出来的,它具有它所依赖的对象的一个或几个属性,但不能增加它所依赖的对象没有的任何属性。
CheckPoint 是一个“虚拟对象”的重要原因是:每个Object都能在Object Repository找到它的Name、Class Properties,而CheckPoint 在Object Repository中就根本不存在。选择脚本中的某个对象后,在Object Property 的对话框里面有个Respository按钮,点击它后,你会看到此对象在Object Respository 的Name、Class 和 Properties。
选择一个CheckPoint后,在CheckPoint Properties 的对话框里没有 Respository 按钮,在Object Respository中也找不到此CheckPoint的Name、Class 和 Properties(因为它在对象库中根本就不存在!)。

QTP关键技术(二) - 对Check Point的较为深入理解

 1. 定义:将特定属性的当前数据与期望数据进行比较的检查点,用于判定被测试程序功能是否正确Check Point可以分两类:QTP内置验证点和自定义验证点 2. QTP内置验证点实现原理及优缺点  ...
  • softesting
  • softesting
  • 2007年09月19日 02:22
  • 2408

QTP检查点CheckPoint解析

1)理解检查点 QuickTest enables you to add checks to your test or component. 检查点比较指定属性的当前值与期望值,以判断当前的程...
  • angelatan2012
  • angelatan2012
  • 2012年04月23日 11:18
  • 787

QTP关键技术(二)---对Check Point的较为深入理解【转】

1. 定义:将特定属性的当前数据与期望数据进行比较的检查点,用于判定被测试程序功能是否正确Check Point可以分两类:QTP内置验证点和自定义验证点2. QTP内置验证点实现原理及优缺点    ...
  • zrg9399
  • zrg9399
  • 2007年11月23日 14:44
  • 313

对String的深入理解

我们先来看一段代码:package com.ykp.test;public class StringTest { public static void main(String[] args) ...
  • ghgzczxcvxv
  • ghgzczxcvxv
  • 2016年03月12日 14:54
  • 505

机器学习之深入理解SVM

在浏览本篇博客之前,最好先查看一下我写的另一篇文章机器学习之初识SVM,这样可以更好地为了结一下内容做铺垫!...
  • sinat_35512245
  • sinat_35512245
  • 2017年02月11日 18:21
  • 5952

深入理解SpringMVC-基础篇

深入理解SpringMVC-入门篇 SpringMVC是一个轻量级的MVC框架,SpringMVC由于其轻量级的实现以及与Spring框架的无缝整合等诸多优势,近年来在MVC框架中脱颖而出,受到诸多开...
  • u010820702
  • u010820702
  • 2016年06月11日 13:57
  • 4072

深入理解C++11

第2章 保证稳定性和兼容性 finaloverride 控制 局部和匿名类型作模板实参 第3章 通用为本专用为末 继承构造函数 委派构造函数 右值引用移动语义和完美转发 移动语义 右值和左值的区别 s...
  • zhzdeng
  • zhzdeng
  • 2017年08月17日 14:23
  • 280

深入理解java---反射篇

深入理解java---反射篇  背景    在Java中如果我们预先不知道一个对象的确切类型,RTTI可以告诉你,但是有一个限制,那就是在编译的时候这个对象类型必须是确定的(需要有一个确定的编译类型...
  • yinbingqiu
  • yinbingqiu
  • 2016年10月29日 10:37
  • 627

深入理解CSS

做web开发也快两年了,今天总结一下对CSS的理解,主要对以下几点进行解析: 1.display属性 首先应说几个概念,块级元素:block element;行内元素:inline element...
  • zhengxiaojunkite
  • zhengxiaojunkite
  • 2016年03月08日 21:39
  • 563

909422229_SpringBoot深入理解

spring-boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过...
  • a909422229
  • a909422229
  • 2017年05月17日 14:04
  • 892
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对QTP中Check Point的较为深入理解
举报原因:
原因补充:

(最多只允许输入30个字)