WEB开发网
开发学院软件开发Java 用Rational Functional Tester创建随需应变的自动... 阅读

用Rational Functional Tester创建随需应变的自动测试脚本

 2010-01-11 00:00:00 来源:WEB开发网   
核心提示: 四 摆脱语言的束缚如今的软件大多都要求支持"全球化",能够适应多种语言环境,用Rational Functional Tester创建随需应变的自动测试脚本(10),就用户界面而言,需要在不同的语言环境中展示出本地语言界面,这里为简单起见,我们将URL和搜索按钮的文本的多语言

四 摆脱语言的束缚

如今的软件大多都要求支持"全球化",能够适应多种语言环境。就用户界面而言,需要在不同的语言环境中展示出本地语言界面。多语言环境下的人工测试往往不尽如人意,自动化测试反而更为迅速和准确。

我们仍然以这个场景为例,所不同的是:用户进入IBM中国网站。再搜索关键字"lotus",验证"www.lotus.com"这一链接存在于结果集内。测试过程的逻辑并没有变化,但界面截然不同, "Search"按钮在这里显示为"搜索"按钮。


用Rational Functional Tester创建随需应变的自动测试脚本

为了拓展脚本SearchLotusLink对多语言的支持能力,我们在SearchLotusLinkHelper查找对象的过程中,加上一个中间层,通过它来衔接固定的操作逻辑和多变的界面。原先的方法findTestObjectInBrowser(String property1, String value1, String property2, String value2)只是按这两个属性值找出合适的对象;现在则要对属性做适当的转换,使它能适应其他语言环境,在不同语言的界面里都能定位到这个页面对象。

将Rational Functional Tester切换到"Java透视图",在SearchLotusLinkHelper所在的resources包中,添加一个类:utilities,来实现对多语言环境的支持。这里为简单起见,我们将URL和搜索按钮的文本的多语言表示直接保存在这个类里。用户可以通过它来获取某一属性在特定语言环境下的表示。


public class utilities { 
 /** 
 * Script Name  : <b>utilities</b> 
 * Generated   : <b>2005-10-25 16:51:51</b> 
 * Description  : Functional Test Script 
 * Original Host : WinNT Version 5.1 Build 2600 (S) 
 * 
 * @since 2005/10/25 
 * @author zhangguojun 
 */ 
 public static String EN_LOCALE = "en"; 
 public static String CN_LOCALE = "cn"; 
 public String CurrentLocale = EN_LOCALE; 
 private Hashtable textRepositoryForEN = new Hashtable(); 
 private Hashtable textRepositoryForCN = new Hashtable(); 
 private static utilities _instance = null; 
 
 private utilities(){ 
 textRepositoryForEN.put("Search","Search"); 
 textRepositoryForEN.put("IBMurl","www.ibm.com");  
 textRepositoryForCN.put("Search","搜索"); 
 textRepositoryForCN.put("IBMurl","www.ibm.com/cn"); 
 } 
 public static utilities getInstance() { 
 if (null == _instance) 
  _instance = new utilities(); 
 return _instance; 
 } 
 public void setCurrentLocale(String locale) 
 { 
 CurrentLocale=locale; 
 } 
 public String getLocalText(String textId) 
 { 
 return getLocalText(CurrentLocale,textId); 
 } 
 public String getLocalText(String locale, String textId) 
 { 
 String returnVal = null; 
 if(locale.equals(EN_LOCALE)) 
  returnVal = (String)textRepositoryForEN.get(textId); 
 else if(locale.equals(CN_LOCALE)) 
  returnVal = (String)textRepositoryForCN.get(textId); 
 if(null==returnVal) 
  return textId; 
 else 
  return returnVal; 
 } 
} 

上一页  5 6 7 8 9 10 

Tags:Rational Functional Tester

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接