qtp-10.0教-程剖析

上传人:今*** 文档编号:106806448 上传时间:2019-10-16 格式:PPT 页数:32 大小:572KB
返回 下载 相关 举报
qtp-10.0教-程剖析_第1页
第1页 / 共32页
qtp-10.0教-程剖析_第2页
第2页 / 共32页
qtp-10.0教-程剖析_第3页
第3页 / 共32页
qtp-10.0教-程剖析_第4页
第4页 / 共32页
qtp-10.0教-程剖析_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《qtp-10.0教-程剖析》由会员分享,可在线阅读,更多相关《qtp-10.0教-程剖析(32页珍藏版)》请在金锄头文库上搜索。

1、Mercury QuickTest Professional 9.0 教 程,1.QTP简介,1.1 自动化测试的好处: 快速(Fast) 可靠(Reliable) 可重复(Repeatable) 可程序化(Programmable) 广泛的(Comprehensive),手工与自动测试效率的比较,1.2 QTP测试流程,录制脚本前的准备 录制测试脚本 加强测试脚本 对测试脚本除错(debug) 在新版应用程序执行测试脚本 检查测试结果 回报缺陷,1.2.1录制前的准备,取消IE的自动完成设定 关闭所有浏览器窗口 加载Web add-in 检查Active Screen录制级别 Recordi

2、ngRecord and Run Settings Web tab中选择第二项 (演示一:录制Mercury范例网站脚本),2.加强测试脚本,2.1建立检查点 2.2参数化脚本 2.3建立输出值,2.1建立检查点,检查点:是将指定属性的当前值与该属性的期望值相比较的验证点。 检查点类型: 标准检查点 图片检查点 表格检查点 网页检查点 文字/文字区域检查点 图像检查点 数据库检查点 Accessibility检查点 XML检查点,2.2参数化脚本,参数化:通过将固定值替换为参数,扩展基本测试或组件的范围 参数化类型: 测试或操作组件参数 数据表参数 环境变量参数 随机数字参数,2.3建立输出值

3、,输出值:检索测试或组件中的值,并将这些值作为输出值存储。 输出值类别: 标准输出值 文本和文本区输出值 数据库输出值 XML输出值,3 配置值,配置值:将值定义为常量或参数来配置属性和其他项目的值。也可以在值中使用正则表达式,以提高测试和组件的灵活性与适应性。,4 虚拟对象,虚拟对象:指示QTP将任何区域识别成一个对象。 注意事项: 录制和运行测试或组件时,网页或应用程序窗口的大小和位置必须和定义虚拟对象时的大小和位置相同。 不能在虚拟对象上插入任何检查点,也不能使用“对象探测器”来查看其属性。 注意父类层次的选择。 如何录制时禁用虚拟对象。,5 QTP进阶,QTP对象识别机制 关键字驱动测

4、试 描述性编程,5.1 QTP的对象识别机制,关于配置对象标识: 强制属性(Mandatory Properties): QTP对于特定测试对象类始终要记住的那些属性。 辅助属性(Assistive Properties): 只有在以下情况下QTP要记住的那些属性,即QTP针对应用程序中的特定对象记住的强制属性不足以创建唯一描述。如果为一个对象类定义了几个辅助属性,那么QTP每次记住一个辅助属性,并在其为该对象创建了唯一属性后立即停止。,5.1.1定义对象识别,注意:不能将同一属性既放在强制属性中,又放在辅助属性中。,如何配置属性,提示:可以使用attribute/标记向Web对象添加属性名。

5、,选择序号标识符,选择序号标识符,序号标识符为对象指定一个数字值 该数字批示该对象相对于其他具有相同描述的对象(对于强制属性列表和辅助属性列表中指定的所有属性都具有相同描述的对象)的顺序。 在强制和辅助属性不足以创建唯一描述时,QTP可以通过该顺序创建唯一的描述。,序号标识符的类型-索引,索引-批示该对象在应用程序代码中相对于其他描述都相同的对象的显示顺序。 假如,页面中有下列对象: 名为Apple的图像 名为UserName的图像 名为UserName的WebEdit对象 名为Password的对象 名为Password的WebEdit对象 WebEdit(“Name:=UserName”,

6、”Index:=0”) WebElement(“Name:=UserName”,”Index:=0”) 注意:Index属性值是特定于对象的。,序号标识符的类型-位置,位置-指示该对象在父窗口、框架或对话框中相对于其它对象的显示顺序。,序号标识符的类型-CreationTime,CreationTime-(仅限于浏览器对象)该值指示浏览器打开的顺序-相对于其它描述都相同的其他打开的浏览器。 问题: 1:顺序打开几个浏览器,并关掉其中几个, CreationTime的值如何变化? 2:如果在CreationTime=6的浏览器上回放步骤,但具 有该CreationTime值的浏览器没有打开,那么

7、该步骤会不会由于找不到CreationTime=6的浏览器而失败?,启用和禁用智能标识,1:仅为具有定义的智能标识配置的测试对象类启用智能标识机制。 2:如果不录制智能标识属性,则不能在以后为某个对象启用智能标识机制。 3:恢复所有测试对象的默认对象标识设置。 4:为对象标识设置生成自动脚本。,配置智能标识,基本筛选器属性 可选筛选器属性 智能标识的进程: 1:QTP“忘记”录制的测试对象描述,创建一个新的候选对象列表,该列表包含与基本筛选器属性列表中定义的所有属性匹配的对象。 2:在该对象列表中,QTP筛选任何与“可选筛选器 属性”列表中列出的第一个属性不匹配的对象。其余对象成为新的候选对象

8、列表。 3:QTP计算新的候选对象列表: 如果新的候选对象表仍然有多个对象,QTP将使用新的(列小的候选对象列表中的下一个可选筛选器属性重复步骤2) 如果新的候选对象为空,QTP将忽略该可选筛选器属性,返回以前的候选者列表,对列表中的下一个可可选筛选器属性重复步骤2。 如果候选对象列表中只包含一个对象,那么QTP认为它已标识该对象并执行包含该对象的语句。 4:QTP继续在步骤2和3中描述的进程,直到它标识一个对象,或者没有可选筛选器属性可用。,映射用户定义的测试对象类,将QTP无法识别的类或自定义类的对象映射到标准Windows类。 注意:无法识别的对象应仅映射到带有兼容行为的标准Window

9、s类。例如,不要将行为与按钮类似的对象映射到编辑类。,QTP的对象识别机制,在关键字视图和专家视图中分别显示为:,Browser(“iTreasuryPro资金管理平台“).Page(“iTreasuryPro资金管理平台“).WebButton(“提交“).Click,5.2 关键字驱动测试,关键字驱动或者称为关键词驱动(KeywordDriven),是为了解决通过录制的方法来产生脚本的问题。就是先把所有需要的Web对象都添加到对象库中,然后在关键字视图中手动添加测试步骤,这样就是一个设计脚本的工作,可视化程度非常高,非常直观。 这中方法的缺点有: 如果不手动添加脚本,仍然只能实现简单的测试

10、任务。,5.3 描述性编程,通常情况下,当在录制一个操作时,QTP会将被操作对象加入到对象库里(Object Repository)。一旦对象存在于对象库里,我们就可以在专家视图里通过添加相关的对象方法来对该对象进行操作。我们可以通过引用层次型对象库里的对象描述(Object Description)来添加相应的方法。 因为QTP对象库中的每个对象都具有唯一名称,所以在引用时对象名是必须需要指定的。然后在测试运行期间,QTP在对象库中根据这个对象的名称和父对象来查找对象,并使用为这个测试对象存储的测试对象描述,在网站或应用程序中标识该对象。 描述性编程,简单的来说,就是在专家视图中,手动编写脚

11、本,对某个对象执行某种操作。譬如,在用户名的输入框中输入“123”,用户名的输入框的在该页面的标识是loginno,其类型为WebEdit,对此输入框执行的是set一个值“123”,所以生成的脚本如下: WebEdit(“loginno”).set “123”,描述性编程,如果Web对象没有被添加到对象库中,或者通过该Web对象的标识QTP无法识别该对象(这种现象在识别Browser中经常遇到),就可以通过直接在脚本中输入编程描述的方式来解决。 常规语法为: TestObject(“PropertyName1:=PropertyValue1“, “.“ , “PropertyNameX:=Pr

12、opertyValueX“ TestObject - 测试对象的类。 PropertyName:=PropertyValue - 测试对象的属性及其值。各个property:=value 对之间应用逗号和引号分开。,描述性编程,例如,在页面上点击一个客户编号的超链接,形成的脚本如下: Dim bs_Title,pageTitle bs_Title=”XXX- Microsoft Internet Explorer” pageTitle=”YYY” Browser(“Title:=”&bs_Title).Page(“title:=”&pageTitle).Link(“text:=”&DataTa

13、ble(“客户编号”,dtLocalSheet).Click,描述性编程,此外,还可以使用description对象。使用 Description 对象可以返回包含一组 Property 对象的 Properties 集合对象。Property 对象由属性名和值组成。然后,可以在语句中指定用返回的 Properties 集合代替对象名。(每个 property 对象都包含一个属性名和值)。要创建 Properties 集合,可以使用以下语法输入 Description.Create 语句: Set MyDescription = Description.Create() 例如前面的例子,使用d

14、escription对象就变成: Set bs_Title= Description.Create() Set pageTitle= Description.Create() bs_Title(“title”).value=”XXX- Microsoft Internet Explorer” pageTitle(“title”).value=”YYY” Browser(bs_Title).Page(pageTitle).Link(“text:=”&DataTable(“客户编号”,dtLocalSheet).Click 当然bs_Title和pageTitle这两个对象中可以存放多个Key和其对应的Value。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号