RFT與Spring結合進行自動化測試腳本開發

發表于:2009-02-18來源:作者:點擊數: 標簽:自動化腳本RFTSpringspring
Spring具有強大的功能:Ioc,可以實現在xml中把一個測試對象注入到另一個測試對象中,再加上可以利用 RFT 的find方法可以把spring的配置文件配置成一張RFT測試對象地圖。目前,大部分 自動化腳本 開發 者利用RFT的測試對象地圖管理 測試腳本 的測試對象,RFT
 Spring具有強大的功能:Ioc,可以實現在xml中把一個測試對象注入到另一個測試對象中,再加上可以利用RFT的find方法可以把spring的配置文件配置成一張RFT測試對象地圖。目前,大部分自動化腳本開發者利用RFT的測試對象地圖管理測試腳本的測試對象,RFT的測試對象地圖有兩種類型:公有測試對象地圖和私有測試對象地圖。 

  (1)大部分腳本采用的都是私有測試對象地圖,如果被測試的程序頂層對象發生變化,這樣每個腳本關聯的測試對象地圖都要進行修改,之所以這樣,有一個原因:在RFT中測試對象地圖不能夠繼承(僅僅可以合并),如果兩個測試對象地圖之間可以進行繼承,這樣把公用的測試對象放在父測試對象地圖中,其他的測試對象地圖繼承這個公用的測試對象地圖(同時繼承公有的測試對象),如果被測試程序頂層框架發生變化,僅僅只修改父測試對象地圖就可以了,但是目前RFT中不能實現(據我了解)。

  (2)RFT中還有一種類型的測試對象地圖是公有的測試對象地圖,公有的測試對象地圖可以實現公用的測試對象重復使用,如果測試對象是一模一樣的,RFT在公有的測試對象地圖中只保留此測試對象的一個實例,但是把多個測試對象都插入到一個測試對象地圖中,同樣又面臨著難以管理的困難。

  (3)另外,RFT中的測試對象地圖與腳本緊緊的耦合,如果程序即使發生很小的變動,也要更新測試對象地圖,修改腳本等等。

  (4)一個spring配置文件可以被另一個spring文件import進來。這樣可以把公有的測試對象放在一個spring配置文件中,然后有其他的spring配置文件進行導入,可以實現測試對象地圖(spring的配置文件)的繼承。另外,在spring的配置文件中,可以注入一個對象的屬性,這樣可以人工的更改這個測試對象的父框架,另外可以可以注入測試對象的識別屬性,這樣可以進行人為的進行測試對象識別屬性的更改(這樣可以更好的應對被測試程序的變化)。

  例如:

  xml 代碼
  
<!--從classpath(類路徑)中導入base-test-object-map.xml文件 可以使用base-test-object-map.xml文件中定義的bean--> 
<!--導入時候要包含完整的包名--> 
<import resource=\"classpath:pkg/base-test-object-map.xml\"/> 

<!--設置待查找對象的識別屬性 格式:propertyName-propertyValue--> 
<property name=\"objectProperties\"> 
<list> 
<!--屬性名稱和屬性精確匹配用=--> 
<!--屬性名稱和屬性用正則表達式匹配用:--> 
<value>.class=Html.FORMvalue> 然后是怎么使用spring配置文件中的測試對象 
<value>.name:.*Formvalue> 
list> 
property> 

<!--設置從什么對象開始查找 注入父測試對象--> 
<!--browserTestObject 引用的是base-test-object-map.xml文件中已經定義的bean--> 
<property name=\"parentTestObject\"> 
<ref bean=\"browserTestObject\"/> 
property> 

  在腳本中引用測試對象通過如下語句:

  

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97