通过几个函数就可以对软件本地化进行测试,真牛,佩服!

############################################################
# Function:
#       translate_get_value()
#
# Description:
#       Looks up a given value and gets the translated value.
#
# Parameters:
#       translate_from - What to translate from (column heading 1)
#       translate_to - What to translate to (column heading 2)
#       from_value - Value to translated
#       to_value - Translated value
#
# Returns:
#       0 on success, or standard WinRunner error code on failure.
#       
# Syntax:
#       rc = translate_get_value(in translate_from, in translate_to, in from_value, out to_value);
#
# Examples:
# pause(translate_get_value("English", "Spanish", "Yes", value) &" " & value);
# pause(translate_get_value("Spanish", "English", "Uno", value) & " " & value);
############################################################
function translate_get_value(in translate_from, in translate_to, in from_value, out to_value)
{
        auto rc;                       #Used to store the return code
        auto table;            #Used to store the translation table
        auto temp_value;       #Used to read the from_value from translation table
 
        # Set the value for the translation table, and open it
        table = getvar("testname") & "\\default.xls";
        rc = ddt_open (table);
        if (rc != E_OK)
        {
               to_value = "ERROR: Table could not be opened!";
               return (rc);
        }
 
        # Check to see if the translate_from is a column in the transation table
        rc=ddt_is_parameter(table, translate_from);
        if (rc!=E_OK)
        {
               to_value = "ERROR: Invalid column header [" & translate_from & "]!";
               ddt_close(table);
               return (rc);
        }
 
        # Check to see if the translation_to is a column in the transation table
        rc=ddt_is_parameter(table, translate_to);
        if (rc!=E_OK)
        {
               to_value = "ERROR: Invalid column header [" & translate_to & "]!";
               ddt_close(table);
               return (rc);
        }
 
        # Assume that the from_value is not found
        to_value = "ERROR: Value is not found [" & from_value & "]!";
        rc = E_STR_NOT_FOUND;
 
        # Search the translation table for the from_value
        do
        {
               temp_value=ddt_val(table,translate_from);
               if (temp_value == from_value)
               {
                       # Return the translated value
                       to_value=ddt_val(table, translate_to);
                       rc = E_OK;                     
               }
        } while (ddt_next_row(table)==E_OK);
 
        # Close the translation table and exit
        ddt_close(table);
        return (rc);
}
 
############################################################
# Function:
#       translate()
#
# Description:
#       Returns the translated value given a lookup value.
#
# Parameters:
#       translate_from - What to translate from (column heading 1)
#       translate_to - What to translate to (column heading 2)
#       from_value - Value to translated
#
# Returns:
#       translated value, or empty string on error.
#       
# Syntax:
#       rc = translate(in translate_from, in translate_to, in from_value);
#
# Examples:
# pause(translate("English", "Spanish", "Yes"));
# pause(translate("Spanish", "English", "Uno"));
############################################################
function translate(in translate_from, in translate_to, in from_value)
{
        auto to_value;
        auto rc;
 
        rc = translate_get_value(translate_from, translate_to, from_value, to_value);
 
        if (rc == E_OK) 
               return (to_value);
        else
               return ("");
}
        
 

牛人是怎样用函数实现本地化测试的相关推荐

  1. 转:不是技术牛人,如何拿到国内IT巨头的Offer

    转自:http://blog.csdn.net/lsldd/article/details/13506263 不久前,byvoid面阿里星计划的面试结果截图泄漏,引起无数IT屌丝的羡慕敬仰.看看这些牛 ...

  2. STM32:从菜鸟到牛人就是如此简单!为了学习单片机而去学习单片机的思路是不对的

    来源于知乎,版权归原作者所有 为了学习单片机而去学习单片机的思路是不对的 你问: 如何系统地入门学习stm32? 本身就是一个错误的问题 假如你会使用8051 会写C语言 那么STM32本身并不需要刻 ...

  3. 计算机视觉界CV牛人牛事

    CV人物1:Jianbo Shi史建波毕业于UC Berkeley,导师是Jitendra Malik.其最有影响力的研究成果:图像分割.其于2000年在PAMI上多人合作发表"Noraml ...

  4. keil 查看 stm32 io波形_这样学习STM32单片机,从菜鸟到牛人很简单!

    我想说,为了学习单片机而去学习单片机的思路不对. 你问,如何系统地入门学习stm32呢? 这本身就是一个错误的问题.假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习. 你要考 ...

  5. 牛人学习h264运动估计的方法

    转载自:http://bbs.chinavideo.org/forumdisplay.php?fid=29 Chinavideo,一个非常棒的学习论坛 从答辩结束(2008-12-13)起就想写一篇文 ...

  6. 计算机视觉中的牛人贡献及其主页

    CV人物1:Jianbo Shi史建波毕业于UC Berkeley,导师是Jitendra Malik.其最有影响力的研究成果:图像分割.其于2000年在PAMI上多人合作发表"Noraml ...

  7. 计算机科学申请文书,美国留学:看牛人怎么写申请计算机CS专业的文书

    下面给大家分享一篇牛人申请美国计算机CS专业的文书,希望对想申请美国计算机专业的学生提供帮助. 声明的目的 我长的和令人愉快的互动与计算机科学追溯到一年半几十年来,当我第一次学习编程的那一刻.上大学前 ...

  8. 不是技术牛人,如何拿到国内IT巨头的Offer(转载)

    转载的文章,中间有几段需要去学习. byvoid 面阿里星计划的面试结果截图泄漏,引起无数IT屌丝的羡慕敬仰.看看这些牛人,NOI金牌,开源社区名人,三年级开始写Basic-在跪拜之余我们不禁要想,和 ...

  9. 机器视觉牛人及其相关领域分类科普

    机器视觉方向的明星人物介绍 简要归类 以下进行了简要的归类:可能部分类别有重叠或重复,详见人物介绍和相应网址 领域 人物编号 图像分割 CV1.CV10.CV14.CV18.CV33.CV34 图像图 ...

最新文章

  1. Hide the common top menu in Ubuntu 12.04
  2. Python进阶09 filter函数
  3. 关于self.用法的一些总结
  4. 一个按钮触发两个事件可以吗?
  5. [云炬创业学笔记]第一章创业是什么测试10
  6. MongoDB API实现增删改查
  7. 完美解决IE8有两个进程的问题
  8. 安装rpm报错:requires Ruby version >= 2.*.*
  9. 阿里P6Java工程师的学习经历自述,希望新人少走弯路
  10. block,inline和inlinke-block细节对比
  11. 抄袭、借鉴与创新,有什么区别?
  12. js控制iframe高度自动撑开
  13. shell之判断文件是否存在
  14. 威海二职工业机器人专业_工业机器人专业主要学什么?
  15. Astah Professional三维图,网络上轻松上传图表
  16. 各个版本JDK官方下载地址
  17. 线性代数系列(三)--向量空间
  18. LeetCode第874题解析
  19. 【测试类型功能点】分析图
  20. linux下查找java进程占用CPU过高原因

热门文章

  1. 如何在Python中调用Windows的cmd命令?
  2. 使用LeNet对于旋转数字进行识别:合并数字集合
  3. RT-Thread优化智能车设计
  4. 计算机jsp外文文献,计算机 JSP web 外文翻译 外文文献 英文文献
  5. mysql 物理备份工具_mysql物理备份工具Xtrabackup安装配置
  6. python模拟内置函数reversed_Python内置函数reversed
  7. php 字符串 中文,PHP的中文字符串截取
  8. 年前最后一项技能树 Rust ,攻碉堡 ing (Bilibili 视频整理)
  9. cat卡特鞋有实体店吗_保养课堂 | 小小密封件,竟然是CAT油缸和连杆耐用的秘密...
  10. FPGA之道(39)HDL的命名规则