• <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中的腳本和函數調用

    發布: 2010-1-19 16:03 | 作者: 網絡轉載 | 來源: 領測軟件測試 | 查看: 52次 | 進入軟件測試論壇討論

    領測軟件測試網 #與第一種情況的不同之處就是call語句需要傳遞參數了,括號中的1,2分別對應我們在notepadinput腳本設置中新建的兩個input parameters:notepadinput1,notepadinput2。下面的彈出框分別顯示notepadinput中的兩個output parameters:result1,result2。

            ###########################################################################

            接下來我們看看子腳本notepadinput是怎樣處理傳入和返回參數的:

             set_window ("無標題 - 記事本", 1);
             edit_set_insert_pos ("Edit", 0, 0);
             obj_type ("Edit",notepadinput1);
             obj_type ("Edit",notepadinput2);

             edit_get_text("Edit",text);
             result1 = text;
             result2 = result1+1;
             treturn result2+1;

            #obj_type函數中輸入內容部分直接用腳本的傳入參數代替。Edit_get_text函數取得的內容賦值給腳本的傳出參數,最后腳本還可以使用treturn語句返回一個腳本的返回值。

            ###########################################################################

            執行腳本后可以看到notepadinput1=1,notepadinput2=2,text=12,result1=12,result2=13,腳本的返回值賦給main中的re1=14。

            從這個例子可以看出,如果我們希望給腳本傳遞并得到多個參數,可以使用腳本屬性里的參數設置來達成,而無須像Robot一樣對腳本中的Function或Sub Declare(Robot對腳本的調用Callscrīpt是不能有參數的)。這就是WR腳本調用的一個好處。

     

            第三種情況:調用另一個腳本中的函數,需要多個函數中的返回值

            腳本中不僅可以錄制操作,同樣也可以編寫函數。還是新建一個子腳本Function,需要在腳本屬性中設置test type為Compiled Module(試驗了一下發現不設置也沒有報錯)不用設置傳入傳出參數。在Function中編寫如下函數:

            function notepad1(in notepadinput,out result1,out result2)  #函數的參數有三種類型:in為傳入參數,out為傳出參數,inout為傳入和傳出參數
            {
              static text;   #記住這里需要聲明text,因為下面的edit_get_text函數用到了這個參數,但本函數中沒有

            # 無標題 - 記事本
             set_window ("無標題 - 記事本", 1);
             edit_set_insert_pos ("Edit", 0, 0);
             obj_type ("Edit",notepadinput);
             edit_get_text("Edit",text);
             result1 = text+1;
             result2 = text+2;
            }
            function notepad2(in notepadinput)
            {
             static text;

            # 無標題 - 記事本
             set_window ("無標題 - 記事本", 3);
             edit_set_insert_pos ("Edit", 0, 0);
             obj_type ("Edit",notepadinput);
             edit_get_text("Edit", text);
             return text;  #return為函數中的返回值
            }


            ###########################################################################

            主腳本main中同樣需要做一些改動:

            GUI_close_all();
            if (GUI_load(".\\notepad.gui")!=0)
            {
             report_msg("gui load error");
            }
            else
            {
             report_msg("gui load ok");
            }
             if (invoke_application("c:\\windows\\system32\\notepad.exe","","",SW_SHOW)!=0)
             {
              report_msg("notepad error");
             }
             else
             {
              report_msg("notepad ok");
             }
            load(".\\function");  #這個是加載編譯模塊,加載后就可以在主腳本中直接使用編譯模塊里的函數了
            re1 = notepad1(15,result1,result2);   #直接使用Function中的函數notepad1,15為傳入參數,result1和result2為傳出參數。
            re2 = result1;
            re3 = result2;
            re4 = notepad2(8);   #使用Function中的notepad2函數

    延伸閱讀

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

    32/3<123>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>