我的地盘我做主! 博客:http://tester2test.cnblogs.com/   msn:win_soft@163.com

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

上一篇 / 下一篇  2007-04-09 07:27:14 / 个人分类:其他

通过几个函数就可以对软件本地化进行测试,真牛,佩服!51Testing软件测试网x] e9e,r3s

o-sMA8Kbl051Testing软件测试网X&^8g$l,a)Mo|
51Testing软件测试网3yY@d6xO

a$r0qoI Ww]0############################################################
# 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 ("");
}
        
 
51Testing软件测试网QqM;xn A8U
51Testing软件测试网 E!C(M?mjf'z
测试者家园 2006-10-26 12:18 发表评论
51Testing软件测试网5x7`*Ki#_4fb"`9BB&?
51Testing软件测试网*[n#t8ri
Link URL: http://www.cnblogs.com/tester2test/archive/2006/10/26/540517.html

TAG:

 

评分:0

我来说两句

日历

« 2023-04-28  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

数据统计

  • 访问量: 255935
  • 日志数: 689
  • 建立时间: 2006-12-05
  • 更新时间: 2009-04-15

RSS订阅

Open Toolbar