RFT与Spring结合进行自动化脚本开发之一
Spring有一个强大的功能:Ioc,可以用xml将一个测试对象注入到另一个测试对象中。此外,RFT的find方法可以用来将Spring的配置文件配置到RFT测试对象映射中。目前,大多数自动化脚本开发人员使用RFT的测试对象图来管理测试脚本的测试对象。RFT的测试对象映射有两种类型:公共测试对象映射和私有测试对象映射。
(1)大多数脚本使用私有的测试对象图。如果被测试程序的顶层对象发生变化,那么与每个脚本相关联的测试对象映射就必须被修改。原因之一是:在RFT中,测试对象映射不能被继承(它们只能被合并)。如果两个测试对象映射可以被继承,那么公共的测试对象将被放置在父测试对象映射中。其他测试对象映射继承这个公共测试对象映射(同时,继承公共测试对象映射)。如果被测程序的顶层框架发生变化,只能修改父测试对象图,但目前还不能在RFT中实现(据我所知)。
(RFT中还有一类测试对象图,就是公共测试对象图,公共测试对象图是可以重用的。如果测试对象是相同的,RFT只在公共测试对象图中保留这个测试对象的一个实例,但是将多个测试对象插入到一个测试对象图中也很难管理。
(3)此外,RFT中的测试对象图与脚本紧密耦合。如果程序稍有改动,就需要更新测试对象图,修改脚本等等。
(4)一个spring配置文件可以被另一个spring文件导入。这样就可以将公共的测试对象放在一个spring配置文件中,然后导入其他的spring配置文件,就可以实现测试对象图(spring配置文件)的继承。另外,在spring的配置文件中,可以注入一个对象的属性,这样可以手动改变测试对象的父框架,也可以注入测试对象的标识属性,这样可以手动改变测试对象的标识属性(这样可以更好的处理被测程序的变化)。
例如:
XML
<-从类路径导入base-test-object-map.xml文件可以使用base-test-object-map.xml文件中定义的bean-->
<-导入应该包括完整的包名-->
< import resource = " class path:pkg/base-test-object-map . XML "/>
< property name = " object properties " >
< list >
<-Use =-->
<-属性名和属性用正则表达式匹配,使用:-->
< value >。class = html.formvalue >然后如何使用测试对象
< value >。名称:。spring配置文件中的form value >
list >
property >。
<-browserTestObject引用base-test-object-map.xml文件中已定义的bean-->
< property name = " parent testobject " >
< ref bean = " browserTestObject "/>
property >
通过以下语句引用脚本中的测试对象:
Java代码
TextGuiTestObject text _ userName = new TextGuiTestObject((TestObject)context . getbean(" userName text "));
text _ username . settext(" system ");
0条评论