• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    WinRunner 編碼規范

    發布: 2007-7-10 21:29 | 作者: 未知 | 來源: 51testing博客 | 查看: 437次 | 進入軟件測試論壇討論

    領測軟件測試網

        1 路徑不能寫死

        從一臺機器拷貝到另一臺機器上之后, WinRunner的腳本需要能夠正常的運行。 測試腳本所依賴的所有的東東(gui maps, text files, compiled modules, dll’s)都要和測試腳本有一樣的父級目錄。

        例外:

        如果確實有需要的話,指向K drive中的永久文件的路徑可以寫死。(警告:當腳本在不同的機器上運行,讀取存放在K drive中的同樣的文件的時候,有可能會出現問題。)

    錯誤的示范:

        reload("C:\\WR_TESTS\\Acceptance_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);

     

        4 將文本識別作為你的最后一個選擇


        文本識別將占用大量的內存,而且還不穩定,同時在不同的 操作系統可能會出現不同的結果。所以只有在沒有 其他的方法得到對象的信息的情況下才使用這種方式。不幸的是,這種情況經常發生,特別是當有對象不能被識別的時候。在下面的例子中,我們假設“Assign Date”是類:edit。

    錯誤的示范:

    obj_get_text("Assign Date", text);

    正確的示范:

    edit_get_text("Assign Date",text);

     

        5 不要使用額外的wait語句;在需要等待的時候,盡量使用同步函數 錯誤的示范:

    wait(40);

     

    正確的示范:

    statusbar_wait_info("Status Bar","value","Sites processed = 20",40);

     

        6 不要將report_msg作為tl_step的替代

        在尋找一個錯誤的原因的時候,沒有人愿意看測試腳本中的每一行語句的測試結果。如果測試結果中不是紅就是綠的話,就更加清晰明了了。所以使用tl_step標識失敗的步驟還是挺不錯的。

    錯誤的示范:

    if(win_exists("Active Information Manager",1) == 0)
    {
    set_window("Active Information Manager", 1);
    obj_get_text("AfxWnd42", text);
    my_gui_checkpoint(text,"AIM.log");
    }
    else
    report_msg("AIM failure! Window absent at startup");

     

    正確的示范:

    if(win_exists("Active Information Manager",1) == 0)
    {
    set_window("Active Information Manager", 1);
    obj_get_text("AfxWnd42", text);
    my_gui_checkpoint(text,"AIM.log");
    }
    else
    tl_step("AimReportRuns",FAIL,"AIM window absent at startup");

     

    7 通過使用正則表達式避免將多個窗口實例放在一個gui map文件中

    8 添加注釋以增強腳本的可讀性 #Please add comments

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: winrunner


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>