51Testing软件测试论坛

标题: WinRunner 脚本标准格式 [打印本页]

作者: jiangyuetian    时间: 2007-9-28 10:20
标题: WinRunner 脚本标准格式
目录结构
      存放目录要求:
        1、根目录与项目名称相同,如江西移动BOSS 测试目录为JXBOSS
        2、根目录下应该是按子项目存放,如SALES、ACCOUNT。如果有公共脚本,存
放在Share 目录下面
        3、子项目下面应该根据功能/TestCase 来存放,如果有公共脚本也应该存放在
Share 目录下
        4、为存取及备份方便,目录不能使用中文。使用的名称应该尽量与开发保持一致
        5、GUI 文件应该存放在脚本的同一目录,并且名称相同
        6、正确性测试(使用完全正确数据来检查程序功能是否完成)目录名称规定为
validity
        以下是一个目录例子
        JxBoss
                -Sales
                        --ChangeSimCard
                            --validity
                                --CheckSimNoExistAnIdError
                                --Share
                             --Share
                       -Account
        脚本要求        
        注释要求
        脚本创建及修改说明注释
        每个脚本的开头注释格式如下:
     #脚本名称:文件名称
     #创建人:创建人
     #创建日期:格式为YYYY/MM/DD
     #功能:脚本完成的功能描述
     #运行前要求:运行前的要打开的窗口及状态要求、数据库中的数据要求、被测试
程序运行目录等
     #参考文档:描述录制代码是参考的有关设计测试文档
     #修改历史:
     # 修改人:
     # 修改时间:格式为YYYY/MM/DD
     # 主要修改内容:
     注意创建人及修改人必须是中文完整姓名,不允许使用其它任何名称。运行前的要求一
定要描述清楚
      子功能注释
       在各小段功能前应该加入功能注释,注意不能只是WinRunner 自己产生的注释
如:
    # insert a record
    # Flight Reservation
    set_window ("Flight Reservation", 1);
    obj_mouse_click ("Button", 13, 16, LEFT);
    obj_type ("MSMaskWndClass","101002");
    list_select_item ("Fly From:", "London"); # Item Number 2;
    list_select_item ("Fly To:", "Paris"); # Item Number 3;
    obj_mouse_click ("FLIGHT", 56, 22, LEFT);
    注释可以使用英文或中文。
       修改代码说明注释
      在具体修改的代码附近应该加入如下注释
    #修改人
    #修改日期
    #修改原因/增加功能
    注释可以放在一行中,简单修改可以忽略“修改原因/增加功能”,复杂修改应该不能忽
    略(简单及复杂标准待定)
      代码要求
      路径要求
      代码中使用的路径都应该使用相对路径,不允许出现类似“d:\\”、“\\”下的代码,应该
使用类似“..\\..\\”的代码。
      在Script 里面打开和关闭GUI
    各Script 的GUI 的文件应该分开保存在与Script 保存在同一个目录,应该使用用
    GUI_load 在SCRIPT 开始以前就装载GUI,在SCRIPT 开始增加:
    if (GUI_load(".\\login.gui")!=0)
    {
    pause ("Can't load login.gui");
        texit;
    }
    在SCRIPT 完毕的时候加入
    GUI_close(".\\login.gui");
关闭GUI,注意代码中的路径一定要使用相对路径。
      错误报告
    在使用错误报告的时候,应该注意包括出错的脚本文件名称,这样当脚本文件被其他脚
本调用时候,也能很清楚在什么地方没有通过。Report_msg 的参数格式定义为“文件名称:
错误描述”。同时鉴于WinRunner 的Check 函数不能提供清楚的错误报告,要求错误报告使
    用以方式
    if ( win_check_bitmap("Flight Reservations", "Img1", 1)!=E_OK)
    {
        report_msg("DateCheck:月份输入错误提示不对!");
    }
      附件:一个完整的例子
    #脚本名称:DateCheck
    #创建人:谢慧强
    #创建日期:2002/09/08
    #功能:检查FLIGHTA 程序在输入错误月份的时候提示是否正确
    #运行前要求:要求FLIGHA 进入定票窗口(New_Order 状态)且无任何数据输入
    # 或者FLIGHTA 没有运行,这时候要求FLIGHTA。EXE 位
    # 于E:\\Program Files\\Mercury
        Interactive\\WinRunner\\samples\\flight\\app\\flight1a.exe
    #参考文档:无
    #修改历史:
    # 修改人:谢慧强
    # 修改时间:2002/09/09
    # 主要修改内容:不采用位图方式,改为直接判断字符串内容
    #load gui file
    #Flight Reservation
        if (GUI_load(".\\DateCheck.gui")!=0)
        {
            report_msg ("DataCheck:Can't load .\\DateCheck.gui");
            texit;
        }
    #Check windows exists ,if don't exist ,call login to open it.
    # Flight Reservation
        if (win_exists("Flight Reservation")!=E_OK){
    #pause ("Windows Flight Reservation don't exist");
    #texit;
    call "..\\login\\login"();
    }
    #input error month
    win_activate ("Flight Reservation");
    set_window ("Flight Reservation", 3);
    obj_mouse_drag ("Button_4", 17, 6, 17, 7, LEFT);
    obj_type ("MSMaskWndClass","301212");
    list_select_item ("Fly From:", "Denver"); # Item Number 0;
    #check message bitmap
    # Flight Reservations_1
    set_window ("Flight Reservations", 3);
    #2002/09/09 谢慧强
    #if ( win_check_bitmap("Flight Reservations", "Img1", 1)!=E_OK)
    #static_check_info("Invalid month Entered.The month must be greater than 01 and         less than
    12.(static)","enabled",1);
    if (static_check_info("CheckMessage","label","Invalid month Entered.The month must         be
    greater than 01 and less than 12.")!=E_OK)
    #2002/09/09 谢慧强修改结束
    {
        report_msg("DateCheck:月份输入错误提示不对!");
    }
    button_press ("确定");
    #close gui file
    GUI_close(".\\DateCheck.gui");




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2