版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
FunctionTester高级(gāojí)应用
清华大学出版社共二十七页目录(mùlù)测试对象映射(yìngshè)和对象识别
测试脚本模块化框架共二十七页测试(cèshì)对象映射FunctionalTester在自动生成测试脚本的同时,也创建了一系列对象,这些对象包含在测试对象映射里,脚本中包括(bāokuò)对这些测试对象的引用。本节主要介绍在应用程序变更时,测试对象映射对增加测试脚本回放弹性所扮演的角色。共二十七页什么(shénme)是测试对象映射FunctionalTester测试对象映射是一个静态视图,描述了FunctionalTester能够识别的被测试应用程序中的被测试对象。每个FunctionalTester脚本都必须与一个测试对象映射文件相关联。一个测试对象映射可以是专用的(*.rftxmap),即仅仅与一个脚本相关联,也可以是共用的(*.rftmap),与一个或者多个脚本相关联。录制脚本时,FunctionalTester建立一个专用的测试对象映射,或者使用一个已存在的共享测试对象映射。FunctionalTester中可以通过测试对象映射向脚本快速添加测试对象。测试对象映射包含被测试对象的多种信息,如果在一个测试对象映射中更改(gēnggǎi)了某个对象的信息,那么任何引用了该测试对象映射的脚本都将共享该更新的信息,从而减轻了脚本编辑的工作量。共二十七页查看测试(cèshì)对象映射通过查看测试对象(duìxiàng)映射,可以查看FunctionalTester从应用程序中捕获的GUI对象(duìxiàng)信息。通过以下步骤查看测试对象(duìxiàng)映射。⑴在脚本资源管理器窗口,扩展测试对象目录,该目录中列出了脚本中引用的所有测试对象。共二十七页查看测试对象(duìxiàng)映射(续)共二十七页查看测试对象(duìxiàng)映射(续)⑵双击要查看的测试对象映射或者某个测试对象,打开脚本的专用测试对象映射窗口。⑶在脚本的专用测试对象映射窗口单击某个对象,查看该对象的信息。识别标签:显示出在脚本执行期间用于识别对象的信息。管理标签:显示出测试对象的内部管理信息。这些属性被用来管理和描述(miáoshù)测试对象。更新这个标签中的属性将会影响到使用这个测试对象的脚本程序代码。共二十七页建立(jiànlì)并使用测试对象映射1.建立一个共用的测试对象(duìxiàng)映射选择菜单“文件”
“新建”
“测试对象映射”;在打开的创建测试对象映射窗口选择文件夹,输入映射名称;
说明:可以选中复选框将该测试对象映射设置为新脚本的缺省选择,即在录制或建立一个新脚本时,FunctionalTesterer使用这个测试映射作为缺省的测试对象映射;点击“下一步”按钮;共二十七页建立并使用测试对象(duìxiàng)映射(续)出现将测试对象(duìxiàng)复制到新的测试对象(duìxiàng)映射窗口,根据需要进行选择;需要建立一个空的测试对象映射点击“不复制任何测试对象”点击“完成”按钮需要建立一个使用一个或多个已经存在的测试对象映射作为范本的测试对象映射点击“选择”要从中复制对象的测试对象映射和脚本选择测试对象映射和脚本点击“完成”按钮出现如图所示的测试对象映射窗口。共二十七页建立并使用测试对象(duìxiàng)映射(续)共二十七页建立并使用测试(cèshì)对象映射(续)向测试对象映射中加入测试对象
建立测试对象映射后可以向其中加入测试对象,启动包含(bāohán)该测试对象的应用程序,选择对象加入对象映射。具体操作步骤如下:从测试对象映射窗口的菜单中,点击“应用程序”
“运行”打开选择应用程序对话框;在应用程序名称区,选择某个应用程序(该应用程序中包含你想要加入的测试对象),并点击“确定”;从测试对象映射窗口的菜单中,点击“测试对象”
“插入对象”;FunctionalTesterer打开如图所示的将GUI对象插入对象映射对话框;共二十七页建立并使用(shǐyòng)测试对象映射(续)共二十七页建立并使用(shǐyòng)测试对象映射(续)点击对象查找器图标,并将它拖到你想要加入到测试对象映射中的对象上。出现选择对象选项页面,选择下列选项之一:仅选中的对象-仅将选中的对象插入到测试对象映射中。包含所选中对象的兄弟对象-将选中的对象及其直接子对象插入到测试对象映射中。包含本窗口所有可用的对象-将目前窗口所有可用的对象插入测试对象映射中。点击完成。如果(rúguǒ)有必要,重复上面的步骤加入其它的对象。点击测试对象映射窗口工具栏中的保存按钮,保存测试对象图;如果有必要,编辑对象的信息。共二十七页建立并使用测试对象(duìxiàng)映射(续)利用测试对象映射,将测试对象加入到脚本中
建立脚本时,可以选择与新脚本一起使用的测试对象映射,测试对象映射可以是专用测试对象映射或共用测试对象映射(扩展名为vrftmap的文件)。利用共用测试对象映射,可以将测试对象加入到脚本中。操作步骤如下(rúxià):⑴打开共用测试对象映射;⑵为了将共用测试对象映射中的测试对象加入到多个脚本:点击测试对象映射窗口的菜单“测试对象”
“关联的脚本”。在关联的脚本对话框,选择你想要向其中加入测试对象的脚本,并点击“确定”。共二十七页建立并使用测试对象(duìxiàng)映射(续)⑶在测试对象映射窗口中,选择你想要(xiǎnɡyào)包含在测试脚本中的测试对象;⑷点击测试对象映射的工具栏按钮:添加到脚本或菜单“测试对象”
“添加到脚本”。测试对象将被加入到脚本资源管理器中;⑸在脚本编辑器中,将鼠标的光标放置在你想要加入对象的地方;⑹在脚本资源管理器中,右键点击要在脚本中应用的对象,点击在光标处插入;⑺FunctionalTesterer列表显示该对象可用的方法,双击你想使用的方法。共二十七页对象(duìxiàng)识别 1.识别权重Recognition标签里列出了RationalFunctionalTester在录制脚本时捕获的对象(duìxiàng)属性,通常包括.class、.classIndex、.priorLabel、name等,回放脚本时FunctionalTester利用这些属性寻找该对象并对它进行操作。每一个属性都有一个相应的识别权重weight,权重值从0到100,决定该属性的重要程度,如.name属性(权值100)的重要程度是.priorlabel属性(权值25)的四倍,用户可以灵活调节权值大小。共二十七页对象(duìxiàng)识别(续)2.对象识别计分
RationalFunctionalTester回放脚本时,对测试对象不是精确的在应用程序里匹配,而是用一个(yīɡè)评分系统在应用程序里寻找最和对象映射里匹配的对象。RationalFunctionalTester将对象映射里的对象属性和应用程序里的目标对象属性比较。在比较结束的时候,每个匹配候选都会收到一个基于每个属性权重的识别记分。例如,如果匹配候选与对象图中的某个属性值不同,并且这个属性具有一个100的权重,那么匹配候选将收到一个值为10,000的识别记分。识别记分反应了匹配候选与对象映射中的对象的差异程度。一个完美的匹配将收到一个值为0的记分,这意味着两个对象完全相同。一个与对象图中对象差异很大的匹配候选将收到一个值很高的记分。如果该分数在一个可以接受的容忍值内,那么就对该对象进行操作。共二十七页对象(duìxiàng)识别(续)3.ScriptAssure™ScriptAssure™意味着即使被测试应用程序的GUI对象发生微小变化,脚本回放仍然成功,从而节约脚本维护成本。可以通过:“窗口”
“首选项”
“FunctionalTester”
“回放”
ScriptAssure(TM)对ScriptAssure进行设置。ScriptAssure设置分为标准(biāozhǔn)和高级两种。标准的ScriptAssure设置包括识别级别和警告级别。识别级别决定了FunctionalTester确定一个对象的识别属性与匹配候选之间差异的严格程度。用户可以在容许与严格间进行选择。警告级别决定了在哪一个点上FunctionalTester将向测试日志报告一个匹配差异。共二十七页对象(duìxiàng)识别(续)4.举例说明RationalFunctionalTester在脚本回放时识别测试对象的技术选择“文件”
“新建”
使用记录器的FunctionalTester脚本,打开录制新脚本的对话框,输入脚本名字,点击“完成”;启动测试应用程序ClassicsJavaA;点击“PlaceOrder”按钮;出现登录(dēnɡlù)窗口“MemberLogon”;选择默认的客户TrentCulpito;
输入密码secret。
点击复选框“RememberPassword”。
点击“OK”;共二十七页对象(duìxiàng)识别(续)出现“PlaceanOrder”窗口;点击“Cancel”按钮;点击应用程序的“关闭”按钮关闭程序;点击录制(lùzhì)工具栏的结束录制(lùzhì)按钮完成录制(lùzhì);回放脚本,脚本运行成功;修改脚本,将脚本行startApp("ClassicsJavaA")改为startApp("ClassicsJavaB");说明:ClassicsJavaB是ClassicsJavaA的后续版本;运行修改后的脚本,仔细观察回放过程;回放过程中,在点击复选框RememberthePassword前等待对象出现的时间较长。查看日志。共二十七页对象(duìxiàng)识别(续)共二十七页对象(duìxiàng)识别(续)日志中有一个警告:对象识别困难(在警告阀值以上)。复选框对象rememberPassword的accessibleContext.accessibleName属性值在应用程序ClassicsJavaA中为RememberPassword,而在ClassicsJavaB为RememberThePassword,因此回放脚本时,该对象将收到一个较高的识别分数。双击测试对象remembePassword打开(dǎkāi)测试对象映射,将该对象的accessibleContext.accessibleName属性的权重值改为0,关闭对象映射,运行脚本,复选框对象基于accessibleContext.accessibleName属性的识别计分将为0,因此很容易识别到该对象并对它进行操作。共二十七页目录(mùlù)测试对象映射(yìngshè)和对象识别测试脚本模块化框架共二十七页测试(cèshì)脚本模块化框架模块化测试脚本(jiǎoběn)框架是一种基本的测试自动化框架。一个测试自动化框架就是一个由假设、概念以及为自动化测试提供支持的实践的集合。软件测试自动化框架使得测试脚本(jiǎoběn)的维护量减至最少。共二十七页测试(cèshì)脚本模块化框架测试脚本模块化框架(TheTestScriptModularityFramework)首先创建能够代表测试下应用程序(application-under-test)的模块,零件(Section)和函数的小的、独立的脚本。然后用一种分级的方式将这些小脚本组成更大的测试,实现一个特定的测试用例。以自动化测试Windows计算器程序,测试其基本功能(加,减,乘和除)为例。脚本层次结构的最下层是独立测试加减乘除的脚本,层次结构中上层的两个脚本用来代表视图菜单中的标准视图和科学视图,这两个脚本调用最下层测试加减乘除的脚本。最后,在层次结构中最顶层的脚本是用来测试应用程序不同(bùtónɡ)视图的测试用例。如果修改了该计算器程序,计算器上的某一个控制键被移动了,这时只需要改变底层测试这个控制键的脚本,而不需要修改测试这个控制键的所有测试用例。在所有的测试自动化框架中,这种框架是最容易精通且掌握的。它应用了抽象或封装的原则,把应用程序从在部件的修改中隔离开来并规定了在应用程序设计中的模块性。为了提高自动化测试套件(testsuite)的可维护性和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旅游景区墙面施工合同
- 2025股权最高额质押合同书
- 艺术馆彩钢瓦屋面搭建协议
- 矿山开采冲击钻施工协议
- 电子厂彩钢瓦改造合同
- 银行门禁施工合同
- 临时厨师合同样本
- 2024商铺股权收购与知识产权保护服务合同3篇
- 《生物专题复习》课件
- 合同管理办法
- 安徽华塑股份有限公司年产 20 万吨固碱及烧碱深加工项目环境影响报告书
- 优秀团队申报材料【优秀5篇】
- 2020九年级英语上册全册Module1-12重点难点易错点整理新版外研版
- ABB变频器培训学习
- 森林防火制度汇编
- GB/T 9239.1-2006机械振动恒态(刚性)转子平衡品质要求第1部分:规范与平衡允差的检验
- GB/T 26996-2011非正规教育与培训的学习服务学习服务提供者基本要求
- 财会数码字书写规范素材
- 语文六年级上册期末易读错写错字汇总
- 中层管理干部领导力提升课件
- 夏季高温施工安全教育交底
评论
0/150
提交评论