• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

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

发布: 2008-6-18 10:47 | 作者: 不详 | 来源: ibm | 查看: 253次 | 进入软件测试论坛讨论

领测软件测试网

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


为了拓展脚本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;
 }
}
 

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网