专注于软件测试理论+实践,自动化测试(功能、性能),希望广交天下爱好测试的朋友,积极加入我的圈圈!测试者家园期待您的加入!

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

上一篇 / 下一篇  2007-06-27 14:28:54

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




############################################################
# 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 ("");
}
        
 


测试者家园 2006-10-26 12:18 发表评论


Link URL: http://www.cnblogs.com/tester2test/archive/2006/10/26/540517.html

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2011-06-05  
   1234
567891011
12131415161718
19202122232425
2627282930  

数据统计

  • 访问量: 8959
  • 日志数: 150
  • 建立时间: 2007-04-23
  • 更新时间: 2007-06-21

RSS订阅

Open Toolbar