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

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

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

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

    LR高級技巧實戰

    發布: 2008-9-25 15:54 | 作者: linlinxu | 來源: 51Testing博客 | 查看: 103次 | 進入軟件測試論壇討論

    領測軟件測試網

     第三種方式,從本地的snapshot里去取,具體操作,首先找到提交數據事件相關腳本,找到snapshot文件的名稱,然后從本地的data文件里去找這個snapshot文件,然后叢中找到我們需要的字符串。
    web_reg_find("Text=---------操作業務數據成功!--------",
    LAST);
    …….
    web_submit_data("chargeacc.do_3",
    "Action=http://{BOSSURL}/boss/charge/commonbusiness/acccharge/chargeacc.do?act=submit&atype=commitdata",
    "Method=POST",
    "RecContentType=text/html",
    "Referer=http://{BOSSURL}/boss/charge/commonbusiness/acccharge/chargeacc.do?act=querycustomer",
    "Snapshot=t129.inf",
    "Mode=HTTP",
    ITEMDATA,
    "Name=isconfirm", "Value=no", ENDITEM,
    "Name=chargetype", "Value=telnumber", ENDITEM,
    "Name=telnumber", "Value=", ENDITEM,
    "Name=nowfee", "Value=8.8", ENDITEM,
    "Name=factfee", "Value=0.00", ENDITEM,
    "Name=totalfee", "Value=8.8", ENDITEM,
    "Name=accountno", "Value={WCSParam_Diff1}", ENDITEM,
    "Name=factpay", "Value=8.8", ENDITEM,
    "Name=grantpercent", "Value=", ENDITEM,
    "Name=grantfee", "Value=0", ENDITEM,
    "Name=takecash", "Value=8.8", ENDITEM,
    "Name=zero", "Value=0", ENDITEM,
    "Name=paytype", "Value=Cash", ENDITEM,
    "Name=remark", "Value=", ENDITEM,
    "Name=invoice", "Value=joininvoice", ENDITEM,
    LAST);

            5.2設置和保存判斷成功與否的參數,這也是最關鍵的地方。
    有一點大家都很清楚,業務成功返回的字符串和失敗返回的字符串是不同的,我們所要做的是將返回的字符串做為參數保存下來,然后拿這個參數和我們事先定義好的成功的標志做比較,有兩種方式可以設置和保存這一參數,下面簡單介紹:
    第一種方式也是最準確的方式,是以View Tree 方式找到相關的界面,然后從Server Response的Snapshot的Body里的成功的返回標志,然后對其進行Create Parameter,這樣LoadRunner會自動在腳本中添加web_reg_save_param函數,具體如下:
    // [WCSPARAM WCSParam_Text2 24 操作業務數據成功!_Text2] Parameter {WCSParam_Text2} created by Correlation Studio
    web_reg_save_param("WCSParam_Text2",
    "LB=---------",
    "RB=-",
    "Ord=1",
    "RelFrameId=1",
    "Search=Body",
    LAST);

     

            第二種方式是在提交事件前添加web_reg_save_param函數,具體操作是在提交事件前右擊鼠標選擇Insert Before 選項,然后在彈出的對話框中選擇Services里的web_reg_save_param選項,單擊OK按紐,然后在彈出的對話框中輸入相關的數據。

     


            5.3 編寫相關判斷代碼段。
            在已經定義好判斷字符串和設置和保存好成功與否的標志字符串參數后,編寫相關判斷代碼段,這也是最關鍵的地方,具體代碼段如下:
    if (strcmp(fanhuiflag,lr_eval_string("{WCSParam_Text2}"))!=0)
    {
    lr_error_message("消息: %s,在第 %s 次循環時出錯,出錯號碼:%s", "提交異地繳費數據失敗!", lr_eval_string("{iteration}"), lr_eval_string("{PhoneNum}"));
    }
    簡單解釋如下:
    fanhuiflag:前面已經定義好的成功標志字符串的數組名,當然前面也可以用指針來實現,這里不做介紹。
    WCSParam_Text2:為實現設置和保存好的成功與否返回的字符串的參數;
    PhoneNum:服務號碼的參數化,具體為電話號碼。關于參數化,這里不做分析和解釋部分。
    Iteration:為了定位具體的循環而設置的參數。
    Strcmp函數:LoadRunner自帶的字符串比較函數,相等時返回0
    lr_eval_string函數:LoadRunner自帶求字符串函數,函數格式為
    char * lr_eval_string (const char * instring );
    (另一種判斷方式:先事先定義好int rc=1; char *fanhuiflag="操作業務數據成功!";然后在定義事務的結尾進行判斷: rc=strcmp(str_tip,lr_eval_string("{re_str_tip}"));
    if(rc==0)
    {
    lr_end_transaction("異地繳費_提交", LR_PASS);
    }
    else
    {
    lr_error_message("異地繳費_提交失敗,號碼為:%s",lr_eval_string("{msisdn}"));
    lr_end_transaction("異地繳費_提交", LR_FAIL);
    }
    //lr_end_transaction("異地繳費_提交",LR_AUTO);)

            5.4驗證我們的需求是否實現
            下面簡單介紹,整個驗證過程,在確保腳本正確和測試環境正常的情況下,我們先在VU里驗證下是否真正實現了我們想要的功能,為了方便,我特地將判斷條件該為==而不是!=,通過查看日志來檢查。

            首先,選中菜單欄里的Run-time Settings子菜單,設置里面的Log選項,選中Enable Logging 和Always send messages 和Extended log 及Parameter substitution。
    設置Run Logic 里的Number of Iterations 為2,然后運行,并查看日志?梢缘玫饺缦碌娜罩荆ㄖ蝗×岁P鍵部分的):
    第一次循環關鍵部分:
    YiDiJiaoFei.c(598): Notify: Transaction "提交異地繳費數據" ended with "Fail" status (Duration: 4.8459 Wasted Time: 0.0060).
    YiDiJiaoFei.c(605): Notify: Parameter Substitution: parameter "WCSParam_Text2" = "操作業務數據成功!"
    YiDiJiaoFei.c(607): Notify: Next row for parameter iteration = 1 [table = iteration].
    YiDiJiaoFei.c(607): Notify: Parameter Substitution: parameter "iteration" = "1"
    YiDiJiaoFei.c(607): Notify: Parameter Substitution: parameter "PhoneNum" = "13953555588"
    YiDiJiaoFei.c(607): Error: 消息: 提交異地繳費數據失敗!,在第 1 次循環時出錯,出錯號碼:13953555588

    第二次循環關鍵部分:
    YiDiJiaoFei.c(598): Notify: Transaction "提交異地繳費數據" ended with "Fail" status (Duration: 4.2347 Wasted Time: 0.0064).
    YiDiJiaoFei.c(605): Notify: Parameter Substitution: parameter "WCSParam_Text2" = "操作業務數據成功!"
    YiDiJiaoFei.c(607): Notify: Next row for parameter iteration = 2 [table = iteration].
    YiDiJiaoFei.c(607): Notify: Parameter Substitution: parameter "iteration" = "2"
    YiDiJiaoFei.c(607): Notify: Parameter Substitution: parameter "PhoneNum" = "13953572390"
    YiDiJiaoFei.c(607): Error: 消息: 提交異地繳費數據失敗!,在第 2 次循環時出錯,出錯號碼:13953572390

            下面驗證執行時,能正確找到出錯的號碼信息,將腳本加入到場景后,同樣設置好Run-time Settings。

            設置結果保存路徑等相關信息,按Start Scenario 執行場景,等出錯是單擊右上角的Errors,然后選中錯誤信息再按Details按紐查看錯誤信息。

    延伸閱讀

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

    22/2<12

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