RFT自动化测试使用指导书.doc_第1页
RFT自动化测试使用指导书.doc_第2页
RFT自动化测试使用指导书.doc_第3页
RFT自动化测试使用指导书.doc_第4页
RFT自动化测试使用指导书.doc_第5页
免费预览已结束,剩余85页可下载查看

下载本文档

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

文档简介

RFT自动化测试指导书RFT: IBM提供的一个基于Eclipse框架的GUI自动化测试工具,可以支持Java、.NET、Web等界面测试。RFTRunner: 工具组开发的能够提供公共测试能力的界面自动化测试执行器。1、安装RFT安装步骤:先获取自动化安装包,如下:注意:安装文件的路径下面不能包含中文!Step2文件夹中包含RFT6.1版本的安装程序,Step3包含RFT6.1版本的升级包程序。安装时请注意:在安装RFT6.1版本之前,需要先安装java JDK,且java JDK的版本最好在1.5.0_08以上。1.1 RFT6.1安装进入到Step2目录,启动extracter.exe应用程序,弹出“安装映像”对话框,如下图:注:extrator.exe只是将实际的安装文件解压缩出来,并不是安装。点击“下一步”在“浏览”中选择释放的路径。我们选择了D:temp。注:实际安装包大小在1.2GB左右,请保证有足够的磁盘空间。点击“下一步”如图:点击“下一步”,开始创建安装映像创建安装映像结束如下图。注意:不要选择“立即启动安装向导”,不然后面的安装会有问题。取消选中“立即启动安装向导”,点击“完成”,通过手动方式启动安装向导。在映像的目录下如D:tempdisk1RFT Windowssetup,双击setup.exe。启动IBM Rational Functional Tester V6.1的安装向导。如下图:点击“下一步”如图选择“我接受许可证协议中的全部条款”,点击“下一步”选择程序的安装路径。点击“下一步”在弹出的“选择要安装的IBM Rational Funtional Tester V6.1 功能部件”中,我们只选择安装如下图所示的两个部件,即图中打勾的两个部件。再强调一下,请只选择下面打勾的部件,否则后续的安装会有问题。注:(1)选择VB.NET,需要先安装VS2003,如果没有安装VS2003的VB.NET,就会出错;(2)如果选择了“Manual Tester”后,在后面的升级会不成功;强调:如果需要安装RFT英文版,请不要选中语言包(即下图选中的第二项),那是个中文语言包。仅仅选择第一项就是安装英文版。点击“下一步”点击“下一步”开始安装程序点击“下一步”点击“完成”,程序安装完成。RFT6.1安装完成之后,可以删除extrater.exe创建的安装映象。1.2 RFT升级安装完后,RFT要经过升级才可以使用。在升级RFT时,首先要升级rft601,然后才能升级rft6111,升级顺序不能变。(1)更新第一个升级包“rft601”进入Step3文件夹,该文件夹下有rft_601和rft_61111两个升级包,以及一个SetXmlPath脚本文件。SetXmlPath这个脚本文件主要是方便用户修改rft601和rft6111升级包中的policy文件的。从服务器上拷贝升级包到本机后,执行SetXmlPath,会自动将rft601和rft6111升级包目录下的policy文件中的url属性修改为正确的配置,避免手动修改容易出错。如果想要手动修改,可以参考如下内容:进入rft_601文件夹,使用文本编辑器打开该文件夹下的policy_601.xml文件,该文件内容如下:将第四行的url的值修改为绝对路径,即添加上rft_601文件夹的路径。比如rft_601文件夹所在路径为E:temprft updaterft_601,则url的值修改为:然后保存关闭该文件。注意,rft_601文件夹路径请勿包含中文字符。运行“开始-所有程序-IBM Rational-Rational Product Updater”,下图所示启动RFT更新程序:启动RFT的产品更新程序,界面如下:点击更新程序的“首选项更新站点” 菜单项,弹出输入选择文件的对话框,我们选择rft_601目录下的policy_601.xml文件。前面已假设rft601更新包放到了 E:temprft updaterft_601目录,那么我们输入如下所示: 点击“确定”后,在Rational Product Updater的主界面中点击“查找更新”,如下图:点击“查找更新”后,弹出如下对话框:点击“确定”,Rational Product Updater会自动进行rft601的更新升级。之后更新程序会关闭重新启动,等待程序重启之后,我们看到界面上多了一个“回滚”页签,同时主菜单“首选项”下多了“代理设置”一项。这说明rft601升级成功。(2)更新第二个升级包“rft6111”如果已经执行了SetXmlPath脚本文件,则rft6111升级包中的policy文件不用修改。否则,请参考如下内容进行手动修改:进入rft_6111rft文件夹,使用文本编辑器打开该文件夹下的policy_6111.xml文件,该文件内容如下:将第四行的url的值修改为绝对路径,即添加上rft_6111文件夹的路径。比如rft_6111文件夹所在路径为E:temprft updaterft_6111,则url的值修改为:然后保存关闭该文件。注意,rft_6111文件夹路径请勿包含中文字符。再次点击更新程序的“首选项更新站点”菜单项,这次我们选择rft_6111rft目录下的policy_6111.xml文件。前面已假设rft6111更新包放到了E:temprft updaterft_6111目录下,那么我们的输入如下图所示:点击“确定”,我们转到“已安装产品”页签上,点击该页签上的“查找更新”按钮。执行“查找更新”后,更新程序会查找rft6111更新包并读取相关信息,等待查找结束后,我们转到“更新”页签上,使用“安装更新”按钮进行更新包的安装,如下图所示:点击“安装更新”,就进入了更新安装步骤。选择“我接受许可协议中的条款”点击确定后,程序进行更新如图:更新完成后,如下所示:我们在“已安装的产品”页签可以看到当前RFT的版本信息,这个版本应该是,如下图所示:到此两个升级包升级结束,本地的升级包可以删除。1.3 安装RFTRunner安装文件如下所示:双击运行后点击下一步点击“Install”结束后会默认启动RFT,单击Finish完成。升级,目前我们升级到的RFTRunner版本如下,双击安装即可。安装完成!1.4 RFT6.1安装卸载过程中的一些问题(1)如何安装RFT6.1英文版请参照上面的安装指导进行安装。(2)RFT6.1安装后无法使用一般是JDK版本问题,请卸载本机的所有JDK,安装Step1中的JDK版本1.5.0_08。也有可能是软件冲突,目前发现rft与loadrunner有冲突,与FrameWork 2.0疑似有冲突,请卸载一些可疑的软件。(3)重装RFT6.1因为种种原因,有时候我们需要重新安装RFT6.1。重装RFT时一定要注意,先从系统中卸掉,再把安装目录删除。无法删除文件夹时,请根据告警,到我的电脑-属性-管理-服务,将锁定该文件夹的服务体停止,再去删除。保险起见,重装的时候最好换一个盘符安装,否则,在重装、升级的过程中,会遇到很多莫名其妙的错误。附:GUIRunner安装指南GUIRunner是RFTRunner的缩小版本。可以完成RFTRunner的大部分功能,我们用GUIRunner就可以了,它的使用和RFTRunner是一模一样的。下面介绍GUIRunner的安装。安装前请先获取安装升级包:1、安装GUIRunner双击GUIRunnerV300R001C02B031(for 6.0),出现图1,点击next选择安装路径,下面是默认路径,点击Next是否在桌面创建快捷方式,看用户需要。点击Next点击InstallOk,点击Finish,安装完成。如暂时不需要启动GUIRunner,可以勾掉“Lanuch GUIRunner”复选框2、升级安装双击GUIRunnerV300R001C02B032(plugin for 6.0),出现下图界面,点击Next点击Install点击Finish点击确定,完成安装另一个升级包安装双击GuiRunner patch for tmss(2009-07-21),单击Next单击Install点击FinishOK,GUIRunner安装全部完成,可以使用了2、RFT使用说明2.1 新建RFTRunner项目 特性说明RFTRunner项目是实际上也是一个普通的RFT项目,可以在RFT本身的项目视图上正常使用。 使用方法 我们可以单击菜单栏的图标,根据向导提示新建一个RFT项目,该项目在RFT项目视图中显示如下:2.2 连接RFTRunner项目 特性说明连接RFTRunner项目即打开一个已有的RFTRunner项目和其对应的log工程。 使用方法 我们先断开刚才新建的RFTRunner项目,断开的方法是在项目节点上右键单击“断开与项目的连接”。然后单击菜单栏的图标,最后根据向导提示重新连接刚才断连的项目RFT项目。2.3 RftRunner项目管理视图1. 保证当前透视图为RFT透视图,在菜单栏单击窗口显示视图其他RftRunnerRftRunner项目,打开RftRunner工程管理视图,并把该视图拖动到左边布局界面,如下图所示。2. 在RftRunner工程管理视图下新建一个工程,可以单击上图中能看到的图标,新建工程向导弹出后直接单击完成,生成的项目结构显示如下图:3. 其中MapResources文件夹及其子文件夹固定作为映射文件存放的文件夹,MapResources文件夹作为根映射文件夹不允许删除,其右键菜单中支持的功能如下图:4. 其他文件夹右键菜单中支持的功能如下图,相对RFT工程视图也大大简化了。注意:a、在RFTRunner工程管理视图中只会显示RFTRunner2.0版本以上的工程,而RFTRunner工程也是RFT工程,可以在RFT工程视图中正常显示和操作。b、映射文件支持复制、粘贴,使用的是java导航视图默认的强大的复制、粘贴功能,该功能甚至支持把视图中的映射文件复制到桌面上等任何文件夹下。2.4 生成映射文件 特性说明我们既可以单击界面上的图标生成一个空的映射文件;也可以单击图标,按照提示向导操作录制页面上的控件生成一个映射文件。下面以录制方式生成映射文件为例介绍使用方法。 使用方法1. 鼠标选中映射文件要存放的文件夹(必需是以MapResources为根目录的文件夹),单击图标,弹出向导页如图:2. 拖动手型按钮,选中页面上某一控件后,可以发现下一步和完成可以单击了,默认不勾选向导中间的checkbox框,则会录制页面上的所有控件,如果勾选向导中间的checkbox框,则只录制所选控件及其子控件。3. 单击下一步,给文件命名。4. 单击完成,映射文件就被自动生成了。2.5 映射文件编辑器 特性说明RFTRunner针对映射文件增加了一个编辑器,当我们打开一个映射文件时,展现在我们眼前的就是这个编辑器的界面,其中包括了我们对映射文件支持的各种操作。 使用方法 1. 编辑映射文件打开一个映射文件,在任意控件信息上单击鼠标右键可以看到有对控件的新建、查找、编辑、删除等操作选项,我们单击“编辑”项或双击选中的控件,会弹出编辑对应控件的对话框(如下图),在这里我们可以修改自动生成的控件映射信息的属性,其中“是否框架”属性指该控件是否可以作为其他控件的父控件,如果选中这个复选框,那么在编辑其他控件的“查找框架”下拉框时就会发现这个控件可以作为框架来选择了。其中“是否有效”属性指该控件是否可以确定在被测页面上唯一存在,初始通过录制页面控件生成的控件都默认为有效的;无效的控件在编辑器中会显示为红色字体,我们可以通过控件有效性校验功能来检验整个映射文件中控件的有效性,关于控件有效性校验功能,请参见后面的内容。2. 突出显示页面上的对应控件映射文件编辑器中,在任意控件信息上单击鼠标右键可以看到“突出显示”的操作选项。使用“突出显示”功能前要保证被测页面已被打开,这样才能在被测页面上把选中的控件突出显示出来,我们突出显示上图中选中的控件,实际效果如图:3. 追加录制控件信息映射文件编辑器中,在任意控件信息上单击鼠标右键可以看到“追加录制选定控件”和“追加录制区域控件”的操作选项。所谓“追加录制”,就是在已有映射文件中自动录制页面上的控件,而不是通过 “新建”操作手动增加。“追加录制”功能支持追加单一控件和选中区域的控件,其操作向导和录制方式生成映射文件相似。4. 校验控件有效性“检验控件有效性”这一功能与“追加录制控件信息”都是针对整个映射文件的操作,对单一控件有效性的校验可以通过“突出显示”功能来达到相同的效果。使用“检验控件有效性”功能前要保证Map文件引用的被测页面已被打开并且最好是唯一被打开的web页面,这样才能以被测页面为基准唯一校验出映射文件中的所有控件。校验操作完成后,所有在被测页面上能找到的可以准确定位的控件会用黑色字体标识,没被找到或找到多个而无法准确定位的控件会用红色字体标识。对webmail页面用提供的示例映射文件校验效果如下图:5. 静态控件录入脚本文件中读取录制的控件,输出到指定的映射文件中。具体操作如下:工程中存在录制方式生成的脚本文件,如下图脚本中含有三个录制的控件信息,我们的目的是把其中的text_textfield控件录制到映射文件中。新建一个映射文件并打开新建一个控件选择静态录制从下拉列表中选择要录制控件的源脚本资源名称选择要录制的控件text_textfield完整输入基本信息(也可以单击advanced后在弹出对话框中选),如下图:确定后,源脚本资源中的text_textfield控件就被录入到映射文件中了,从下图可以看出,widget1识别属性已经更新为到scripts.Test这个脚本文件中查找名为text_textfield的属性了。首选项配置 特性说明支持录制细节在首选项可配置功能,用户可以根据自己产品的特点配置自己的录制细节,达到生成映射文件不需要修改或少量修改即可使用的效果。 使用方法1. 配置控件类型和属性类型从编辑控件的控件类型说起,有时候我们想新建一个类型的控件,但在编辑对话框的“控件类型”属性中并没有我们提供需要的属性,这时候就需要在首选项中把我们需要的控件类型配置上去了。对于识别属性也会出现同样的情况。要配置控件类型和属性类型,首先在菜单栏单击窗口首选项RftRunner,如图,单击在映射文件上可以新增控件类型和属性类型,并可以对已有的控件类型和属性类型进行编辑。“添加”或“编辑”一个控件类型,弹出对话框如图,就可以对该控件的录制属性进行编辑或新增了。2. 配置映射文件录制规则在菜单栏单击窗口首选项RFTRunnerMapMap Rule,如图,初始显示了当前在用的RftRunner内置规则,这个规则是不可修改、删除的(可以看到相关操作都是灰掉的)。不过我们可以在内置规则基础上新建一个录制规则。2.6 页面结构查看器 特性说明本版本开始加入页面结构查看器的功能,以替代RFT本身较弱的页面结构查看功能。 使用方法首先要保证被查看页面是被打开的状态,单击菜单栏中的 图标,显示如图,可以看到这里根据查看区域提供了四种查看方式,分别是“查看选中的控件”、“查看选中区域下的控件”、“查看指定框架下的控件”、“查看指定页面下的控件”。(1)“查看选中的控件”即查看所抓取的控件及其各级父节点结构。“查看选中区域下的控件”与“查看指定页面下的控件”,操作方式与录制映射文件时的抓取控件的操作步骤类似。(2)“查看指定框架下的控件”方式如下图,多了指定框架类型配置项和向上查找次数配置项,其含义为从页面抓取的控件节点向上嵌套查找到第个类型为的控件节点作为主查看框架,显示该主查看框架以下的所有节点控件信息。如下图显示的默认情况,以被选中控件向上查找各级父控件中遇到的第一个Html.HtmlDoucument类型控件为查看框架,显示其下的所有信息。“选择查看区域”后,直接单击手型图标抓取页面的控件,页面会直接跳转到查看结果页面,如下图就是查看整个webmail页面结构的树形显示页面。上半部分默认显示的是“精简的树”,下半部分当前选中控件属性默认显示的是常用属性(这两部分的显示比例大小是可以通过拖动中间的分割线调整的)。所谓“精简的树”是不会显示页面上的一些如Html.HEAD、Html.BODY、Html.TD, Html.TR、Html.TBODY、Html.SCRIPT、Html.!、Html.META, Html.BASE, Html.TITLE、Html.HTML、Html.IFRAME等用户一般不需要操作的控件类型的;而“完整的树”自然是显示页面所有的控件。下图显示webmail页面“完整的树”和“显示所有属性”的情况,请用户和上图对比。另外,在对话框的空白处双击鼠标左键,可以将对话框最大化显示,便于查看复杂页面树的结构。3、AW开发指导3.1新建RFTRunner工程1、设置工作空间第一次打开RFT,会提示设置用户的工作区间,工作区间是用户的主要工作地,后续用户的工程、脚本文件等都在此工作区间下,如下所示设置好工作区间:后续要变更工作区间时,可通过菜单来切换工作区间,如下所示:注:工作空间是Eclipse平台自身的功能,这里强烈建议用户在使用RFT前先对Eclipse平台的使用进行一定的了解。2、新建RFTRunner项目有了工作空间后,就可以新建我们需要的RFTRunner项目了,建议在RFTRunner工程管理视图下新建项目,便于维护管理。在菜单栏单击窗口显示视图其他RftRunnerRftRunner项目,打开RftRunner工程管理视图,并把该视图拖动到左边布局界面,如图所示:点击界面上的图标新建一个RFTRunner项目,按照新建向导填写好项目名称后,点击完成,即可得到一个新的RFTRunner工程,如下所示为新建的工程的文件架构,相比RFTRunner2.0版本做了很大的简化:3、 RFTRunner工程简介下面对新建的RFTRunner工程的文件架构作一个简要介绍,如下:序号文件夹/文件描述1MapResources保存映射文件的文件夹,在RFTRunner2.1新建的映射文件都限定为必须存放在该文件夹,已存在的映射文件也需要挪到这个文件中,因为RFTRunner2.1的只会在这个文件夹下找映射文件。2scripts建议保存脚本文件的文件夹,RFTRunner提供的示例文件保存在此文件夹下,用户的业务AW或其他脚本文件也可以保存在此文件夹下,便于管理3scriptssample在RFTRunner2.1版本中,这里保存了一个业务AW的示例4scriptstoolkitDebugUse调试AW时,调用AW或KW前,需要执行的初始化接口的脚本文件,具体用法参考示例5常用jar包中的文件夹:com.huawei.rftrunner.keyword这是RFTRunner的jar包里的文件夹,RFTRunner提供的KW都在此文件夹下,包括基本的GUI控件的操作和验证的操作。目前此文件夹下有一个AutoSpaceKw类,是提供给AutoSpace直接使用的通用AW;还有一个Keyword类,是供通用AW调用的Keyword接口,请注意不要混淆。3.2 创建AW1、新建脚本首先,需要新建一个空的Functional Test脚本,用于编写我们自己的AW代码。建议测试组的脚本最好在scripts目录下建立自己的文件夹,将新建的脚本放在该目录下以便于统一管理和维护。点击如下菜单新建脚本:按照新建向导填写好脚本名称后,点击完成,即可得到一个空的Functional Test脚本,如下所示为新建的空的Functional Test脚本:2、编写AW实现代码可以看到,在生成的脚本中已经有一个testMain()函数,这个函数是RFT执行的入口函数,相当于java的main()函数。如果我们需要对AW进行调试的话,可以在该函数中直接调用AW的代码来进行调试。因此,首先我们需要先编写我们自己的AW。在此,先简单的介绍一下AW的概念:Action Word,简称AW,它是第三代自动化测试架构中的一个非常重要的概念。AW是一种业务的抽象,比如测试用例里的测试步骤、检查验证等等,它的格式通常包含名字定义和参数部分,它的形式非常像我们的自然语言。例如:摘机 拨号 84565008挂机检查话单 1.2元其中,名字定义描述测试步骤的动作或事件,参数部分表示动作需要用到的参数。了解了基本概念,我们就开始创建自己的AW。假设我们要做一个登录web mail邮箱的业务AW,我们手工操作的话会按照下面所述的步骤进行:1. 打开IE浏览器,输入网址:;2. 在“Username:”对话框中输入用户名;3. 在“Password:”对话框中输入密码;4. 点击Login按钮登录邮箱。因此,我们可以按照上述的登录行为把登录的业务动作抽象成一个AW,我们把这个AW命名为login,编写该AW的实现如下:在AW实现中,参数都必须是ParameterTable类型的,这个类型实现了将从AutoSpace平台传下来的参数串解析成参数列表的功能。从login这个AW的实现上来看,基本上是把登录的每一步动作都封装成了一个函数,我们只需要在login这个AW中调用这些函数就可以了。诸如OpenIE、TextInput以及Click这些动作我们都已经在RFTRunner的类com.huawei.rftrunner.keyword.Keyword中封装好了,可以直接调用。当然,如果有自己特殊的实现,也可以自己封装这些动作,具体的代码实现可以通过eclipse的代码跳转功能来查看。另外,我们在login这个AW的实现中看到有个ActivatePage函数,这个函数的作用是激活所要操作页面对应的控件信息映射文件。web mail这个页面对应的控件信息映射文件为“webmail.map”,这个文件会在新建项目时的示例文件夹中生成,里面包含了web mail页面上的控件的信息。像输入用户名和输入密码中所使用到的“Username:”和“Password:”就是两个文本输入框所对应的控件名称。3.3 AW的调试1、运行脚本AW编写完成后,还需要进行调试,确认没有bug,能够正常跑通业务后才可以使用。上一章节提到,在新建脚本的时候,会自动生成一个testMain()函数,我们在testMain()函数中调用AW中的代码来进行调试,代码如下:然后在脚本上点击“运行”或者点击快捷按钮就可以直接运行该脚本了,请参见下图:2、调试代码如果写了一些测试脚本运行都没有问题的话,那么我们的AW就可以使用了。但是有的时候,经常会有这样那样的问题导致脚本运行出现问题,这时候就需要用到调试功能了。在想要调试的代码处打上断点(可以使用快捷方式Ctrl+Shift+B或者点击右键菜单中的“切换断点”),然后脚本上右键点击“调试”或者点击快捷按钮就可以进入调试状态,请参见下图:当脚本运行到设置的断点处时,运行会暂停,然后我们可以通过F5(单步跳入)、F6(单步跳过)、F7(单步返回)、F8(继续)等快捷键对代码进行调试执行。基本上,和VC、Eclipse等IDE的调试功能类似。3.4 设计AW定义文件1、AW设计工具AW调试无问题后,要在AutoSpace平台上能够使用,还需要设计AW的定义文件。AW定义文件是一个xml文件,里面包含了所有AW的信息,包括AW的名称、AW的实现体、AW的执行器信息以及AW的参数定义等信息。下面是一个AW定义文件的例子:我们可以通过AutoSpace平台提供的AW设计工具来设计AW定义文件,在TMSS上通过点击“AutoSpace-AW Settings”或者点击快捷按钮来打开AW设计工具,AW设计工具的界面如下所示:关于AW设计工具的详细使用方式,请参考“统一工具平台用户手册.chm”。下面一个章节的内容在该用户手册中有更加详细的描述,如果对AW设计工具不甚了解的话,请务必在用户手册的指导下,进行下一章节内容所提到的操作。2、新建AW定义文件我们从新建一个AW定义文件开始,首先打开AW设计工具,然后点击“File-New”或者快捷按钮:就会在AW树显示区新生成一个xml文档:3、新建AW生成AW定义文件后,选中该文件,在右键菜单中选择“New AW”新建一个AW:假设我们把新建的AW取名为“登录webmail”,那么显示如下:4、编辑AW参数从编写的AW代码中我们知道,该AW有两个参数:“UserName”、“Password”,因此我们需要在定义的AW中编辑这两个参数,在“AW Property”中,点击右键菜单“New Para”新建一个参数:然后修改该参数名称为“UserName”,请记住,这里定义的参数名称和参数说明中的“Alias”必须有一个和AW实现代码中的参数名称保持一致:在右边的参数子列表中有关于该参数的一些信息描述,可以根据需要填写或修改。参数“Password”进行同样的操作即可。具体如何编辑参数子列表请参考“统一工具平台用户手册.chm”。编辑好后的参数描述如下:5、编辑AW基本信息和运行信息如果是通过AutoSpace平台执行用例,那么还需要编辑AW的基本信息和运行信息,以便于AutoSpace平台知道调用哪个执行器来执行AW,以及调用AW实现体中的哪个方法来执行对应的AW。编辑好后的AW信息描述如下:这里简要说明一下这些信息的作用:Function Name是指实现“登录webmail”这个AW的具体方法名,格式是:包路径.类名.方法名;Execute Type是指执行器类型,这里选择的当然是RFT;Implement是指AW的实现体,对于RFT来说,实现体为*.project文件。6、保存AW定义文件AW设计完成后,保存该定义文件,工具会提示要保存到哪个目录下。一般来说,AW定义文件要保存到TMSS安装目录AutoSpaceAWRel目录下。3.5使用AW编写用例并在AutoSpace上运行1、登录并配置好AutoSpace平台前面的工作都做好后,接下来就是在AutoSpace平台上运行AW了。首先登录TMSS,选择“AutoSpace-Config Manage”打开配置页面:选择“WorkSpace”下的“Platform”,在右边的视图中可以看到平台的一些配置信息,我们需要为“AWDefine”这个配置项配置上我们之前设计好的AW定义文件:然后保存,平台会重新加载配置项并激活该AW定义。2、编写用例TMSS是以用例为级别来运行的,因此,我们需要使用开发好的AW来编写用例并运行。在AW树的显示窗口,我们可以看到刚才设计的AW:我们首先在TMSS中新建一个自动化的用例,然后通过拖放的方式,将“登录webmail”这个AW拖到最右边的用例编辑窗口中,这时会弹出一个对话框要求输入参数:输入相应的参数后,点击“OK”,即生成了一个由“登录webmail”AW构成的用例。如果设计了多个业务AW并且一个用例需要多个AW来完成的话,可以通过这种方式拖放多个AW来组合生成用例:然后点击保存用例。3、运行用例编写完成用例后,点击“AutoSpace-Run”或者点击快捷按钮或者按F7就可以运行用例了,在Output窗口中,我们可以看到用例执行打印的日志信息,如下所示:至此为止,我们就完成了我们自己的一个AW的开发了。4、平台接口说明4.1 RFT整体结构介绍RFTRunner中,主要包括四个模块:Finder模块、widgetmanager模块、component模块、keyword模块以及一些辅助模块,例如log模块、exception包。4.2 各模块提供的接口介绍1、Finder模块finder模块主要提供查找各种控件,以及获取录制的控件等功能。 finder模块主要包括如下接口:函数名称函数功能setFinder设置IFinder接口的具体实现类。findWidgets通用的控件查找接口,对外开放。如果不指定查找起点,则从root开始查找。findWidgdtsByType在指定控件下,按照控件类型查找子控件。findWidgetsBySpecProp通过指定的属性查找控件。getMappedWidget从指定脚本的对象地图中获取录制的控件实例。setClassLoader设置类所使用的ClassLoader。setMaxFindTime设置最大查找等待的时间,单位:秒。2、Widgetmanager模块widgetmanager模块主要提供map对象地图中的控件管理功能。widgetmanager模块主要包括如下接口:函数名称函数功能getWidget根据控件别名返回控件实例对象,通过此接口获取的控件都会自动注册到IWidgetManager中,可调用unregisterWidget接口完成注销操作。getWidgets根据控件别名返回控件实例数组,通过此接口获取的控件都会自动注册到IWidgetManager中,可调用unregisterWidget接口完成注销操作。activePage激活一个映射信息配置文件。getCurrentFrame获取当前缓存的主框架对象数组。setFrame设置一个控件对象作为主框架。clearFrame清除手工设置的主框架。清除后,将使用控件原来引用的的frame作为查找的起点。unregisterWidget根据控件别名注销对应控件。unregisterWidgets注销除主框架控件外当前所有记录控件。unregisterFrames注销当前的主框架控件。dispose注销主框架控件,普通控件,及其他清理工作,及自身实例。getIWidgetInfoManager获取当前IWidgetManager中使用的IWidgetInfoManager对象。3、Component模块component模块主要提供各种基础控件的操作处理功能,主要包括11种基础控件,如下图:4、Keyword模块keyword模块主要提供底层的kw功能,供上层通用kw调用。keyword模块主要包括如下接口:函数名称函数功能Click点击控件。可以是按钮、链接、图片。DoubleClick双击控件。可以是按钮、链接、图片。RightClick右键点击击控件。可以是按钮、链接、图片。TextInput向文本输入框中输入文本。CheckBoxSelect勾选或去勾选复选框。CheckBoxSelect勾选或去勾选一组复选框。RadioSelect勾选单选框。ComboBoxSelect选择下拉列表中的某项。ComboBoxSelect选择下拉列表中的某几项。IsExist判断对象是否存在。CheckProperty判断对象的属性值是否正确。CheckProperties判断对象的属性值是否正确。ActivatePage激活某个页面。Sleep等待一段时间。WaitForExistence等待对象稳定。OpenIE打开IE页面。CloseIE关闭IE页面。LoadUrl加载网页。Maximize最大化当前浏览器。Forward页面前进。Back页面回退。Refresh刷新页面。WaitForIEExistence等待浏览器对象稳定。WaitForIEExistence在设定的最长超时时间内等待浏览器对象稳定。ClickMenu点击菜单。ClickNode点击树的叶子节点。ClickDialogButton点击对话框中的按钮。DialogIsExist判断当前是否存在弹出对话框。ClickTableCell根据行文本和列号点击表中的某个单元格中的控件对象,包括图片、链接、按钮。ClickTableCell根据行文本和列的内容点击表中的某个单元格中的控件对象,包括图片、链接、按钮。ClickTableCell根据行号和列的内容点击表中的某个单元格中的控件对象,包括图片、链接、按钮。ClickTableCell根据行号和列号点击表中的某个单元格中的控件对象,包括图片、链接、按钮。InputTableText根据行文本和列号在表中的某个单元格中的文本输入框中输入文本。InputTableText根据行文本和列的内容在表中的某个单元格中的文本输入框中输入文本。InputTableText根据行号和列的内容在表中的某个单元格中的文本输入框中输入文本。InputTableText根据行号和列号在表中的某个单元格中的文本输入框中输入文本。SelectTableCheckBox根据行文本和列号勾选或去勾选表中的某个单元格中的复选框。SelectTableCheckBox根据行文本和列的内容勾选或去勾选表中的某个单元格中的复选框。SelectTableCheckBox根据行号和列的内容勾选或去勾选表中的某个单元格中的复选框。SelectTableCheckBox根据行号和列号勾选或去勾选表中的某个单元格中的复选框。SelectTableRadio根据行文本和列号勾选表中的某个单元格中的单选框。SelectTableRadio根据行文本和列的内容勾选表中的某个单元格中的单选框。SelectTableRadio根据行号和列的内容勾选表中的某个单元格中的单选框。SelectTableRadio根据行号和列号勾选表中的某个单元格中的单选框。SelectTableComboBox根据行文本和列号选择表中的某个单元格中的下拉列表中的某项。SelectTableComboBox根据行文本和列的内容选择表中的某个单元格中的下拉列表中的某项。SelectTableComboBox根据行号和列的内容选择表中的某个单元格中的下拉列表中的某项。SelectTableComboBox根据行号和列号选择表中的某个单元格中的下拉列表中的某项。SelectTableComboBox根据行文本和列号选择表中的某个单元格中的下拉列表中的某几项。SelectTableComboBox根据行文本和列的内容选择表中的某个单元格中的下拉列表中的某几项。SelectTableComboBox根据行号和列的内容选择表中的某个单元格中的下拉列表中的某几项。SelectTableComboBox根据行号和列号选择表中的某个单元格中的下拉列表中的某几项。GetTableCellText根据行文本和列号得到表中的某个单元格的的text属性。GetTableCellText根据行文本和列的内容得到表中的某个单元格的的text属性。GetTableCellText根据行号和列的内容得到表中的某个单元格的的text属性。GetTableCellText根据行号和列号得到表中的某个单元格的的text属性。5、Map信息输入外挂使用说明解决RFT界面自动化中Map信息输入容易出错、效率不高的问题。在编辑AW参数信息时,可以通过双击参数来打开本外挂,初始时,没有设置Map文件的路径,所以会提示,如下所示:打开的外挂页面如下所示:此时,点击按钮Settings就可以设置Map文件的路径,在Map File Path项选择Map文件存放路径。在Save Value Type项选择Include Path Info表示将Map文件路径完整的写进去,可以避免因为Map文件重名引起的找不着控件的错误。选择Only File Name表示只写Map的文件名,不包含路径。如下图所示目前Map路径就是RFT工程中的MapResource,设置好后可以查看Map文件以及Map文件中的控件名称信息,如下所示:(3)选择页面名称在左边的树中双击某个Map文件或先选择某个Map文件,然后按OK按钮,则可以将Map文件名称作为参数值输入进去,如下所示:(在RFT中的AW:ActivePage中就需要输入Map文件名称)(4)选择控件名称在右边的列表中,双击指定的控件名称,或选择指定的控件名称,然后点击OK按钮,则可以将控件名称作为参数值输入进去,如下所示:6、常见问题以及解决办法5.1“找不到控件”错误可能原因第一,可能是相应的映射文件没有激活,激活映射文件即可;第二,可能是运行速度太快,还没来得及查找到页面就过了,可以先暂停一下,时间看具体情况定。第三,工程中map文件是存放在MapResource文件夹下的不同文件夹中,而在这些文件夹中有map文件重名(如下图),机器不知道到哪个文件中找对应的控件,可以将map文件重命名或者激活map文件的时候填写完整的路径。5.2 找不到对象屏幕点这种情况属于能在页面找到控件,但是控件在不可见范围内1、可能是因为没有自动拖动滚动条而看不见被遮挡页面的东西。可以先点击下面的某个控件先把控件所在位置显示出来。2、有些提示信息或者是描述信息是以冒泡方式显示出来的,只有在鼠标定位到某个控件上的时候才能显示出来。这种情况表现是录制控件的时候就不是很好录,但是我们有时候又必须要用到。我们可以通过查看源代码将控件手动添加进去,但是这时候控件突出显示是显示不出来的,也不提示找不到控件错误,因为控件确实是在页面上,只是被遮挡住了。现在我们是先将鼠标定位到页面上出冒泡提示的控件上,然后再查看或点击冒泡提示里面的信息。例如:下图要查看图片办公动力的详情当鼠标放在办公动力图片上的时候会有一个冒泡信息显示出来,如下图:我们要先将鼠标定位到图片办公动力上,然后在点击查看详情。5.3 录制控件后突出显示提示找到多个控件开发不规范,有的控件没有id,寻找的时候不能唯一定位。可以按其他属性查找。但是有的页面可能同时包含几个相同的控件,如果我们采用动态查找的话就不能唯一定位了,这时候我们不能单纯的用手型按钮来录制控件解决办法:第一,可以采用静态录制,具体办法见参考文档第二,还是采用动态录制,下面的例子详细的介绍了具体办法:例:如下所示页面由于左边的导航用的比较多,我们可以将左边页面单独录制在一个map文件中。现在我们来录制左边导航集团业务下的“已开通的业务”链接”录制好后突出显示,发现找到2个匹配控件:而且通过查看,这两个的属性是完全一致的。这时候我们可以考虑把集团业务的整个菜单都录下来,然后以它作为查找框架来查找控件,这样就不会冲突了,即:但是通过手型按钮发现集团业务并不能抓取到。这时候我们可以有两种办法将集团业务录制下来,如果会看源代码的可以选择查看源代码。另一种更简单的办法是查看页面的结构,方法如下:点击上图所选图形,录制控件“已开通的业务”,然后点击显示所有属性然后看Html.A的父节点,查看父节点的属性,通过查看可以发先HTML.UL就是集团业务整个框架对应在map文件中新建控件,如果控件类型选择中没有你需要的类型,可以自己手动写进去。将“集团业务”设置成一个框架,然后再这个框架下寻找“已开通业务”这时候就可以唯一识别了,同理可以设置其他导航链接,这样找效率也比较快。5.4 所有用例全部报错,出错信息提示:未知原因原因:运行界面自动化用例时锁定了电脑,出现屏保,报如下错误:解决办法:运行界面自动化用例不能锁定电脑,用例一直自动运行的话是不会出现屏保的,也不会出现上面的问题。5.5 IE文本框中不能输入或者手型按钮无法抓取页面控件,不识别浏览器1、可能是RFT环境问题,按下面介绍的环境测试方法测试RFT环境是否好用。RFT6.0和7.0环境配置基本一致。第一 安装java运行环境。确保你电脑的环境变量path中,只有一个java环境,其他删除。例如:有时候装了Oracle,就会在path增加一个1.3或者1.4的java环境,从而导致rft运行,需要在path下删除他。建议Jre版本最好是1.5版本的,最为安全。第二 打开IE,工具 Internet选项 高级,查看是有是有了java(sun)选项,并将其勾选。若没有,则需卸载原来的jre,重新安装。第三

温馨提示

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

评论

0/150

提交评论