WinRunner 编码规范

发表于:2008-11-04来源:作者:点击数: 标签:规范编码winrunnerWinRunnerWinrunner
1 路径不能写死 从一台机器拷贝到另一台机器上之后, WinRunner 的脚本需要能够正常的运行。 测试脚本 所依赖的所有的东东(gui maps, text files, compiled modules, dll’s)都要和测试脚本有一样的父级目录。 例外: 如果确实有需要的话,指向K drive中的

 1 路径不能写死

        从一台机器拷贝到另一台机器上之后,WinRunner的脚本需要能够正常的运行。测试脚本所依赖的所有的东东(gui maps, text files, compiled modules, dll’s)都要和测试脚本有一样的父级目录。

        例外:

        如果确实有需要的话,指向K drive中的永久文件的路径可以写死。(警告:当脚本在不同的机器上运行,读取存放在K drive中的同样的文件的时候,有可能会出现问题。)

        错误的示范:

            reload("C:\\WR_TESTS\\Aclearcase/" target="_blank" >cceptance_6\\acceptance_functions");

        正确的示范:

            reload(getvar("testname") & "\\..\acceptance_functions");

        2 采用缩进格式增强代码的可读性

        错误的示范:

         for(counter = count - 24; counter < count - 1; counter++)
        {
        list_get_item("ListBox",counter,item);
        str = str & item & "\r\n";
        }

        正确的示范一:

        for(counter = count - 24; counter < count - 1; counter++)

        {
        list_get_item("ListBox",counter,item);
        str = str & item & "\r\n";
        }

        正确的示范二:

         for(counter = count - 24; counter < count - 1; counter++){
        list_get_item("ListBox",counter,item);
        str = str & item & "\r\n";
        }

        3 尽量避免将测试外部环境的依赖写死 不要将一些随着外部测试环境的变化而改变的信息写死。包括有:安装目录、DSN名、数据库服务器名、数据库用户名、数据库密码。最好在测试脚本的开始就将这些东东定义为变量,这样你就没有必要在环境变化后,在整个脚本中作多次的修改,只要改一个地方就好了。

        错误的示范一:

         set_window("SQL Server Login",10);
        edit_set("Login ID:", "sa");
        edit_type("Password:", "password");

        正确的示范一:

        db_username = "sa";
        db_password = "password";

        set_window("SQL Server Login",10);
        edit_set("Login ID:", db_username);
        edit_type("Password:", db_password);

        错误的示范二:

         invoke_application("C:\\iAvenue\\Windows\\UAdmin.exe","","c:\\Power_db",SW_SHOW);

        正确的示范二:

        install_dir = "c:\\iAvenue\\Windows";

        invoke_application(install_dir & "\\UAdmin.exe","",getvar("testname") & "\\..\Power_db",SW_SHOW);



原文转自:http://www.ltesting.net