Loadrunner開發測試腳本

Loadrunner開發測試腳本html

 

         開發測試腳本能夠經過錄制,也能夠手動開發,建議能錄製的儘可能錄製,省時省力,不能錄製的只能費力本身開發了,具體看項目狀況來決定。web

         使用Loadrunner開發腳本過程當中和Jmeter同樣,須要瞭解HTTP傳輸原理,使用Fiddler等工具進程抓包,根據請求信息編寫請求表單,根據響應信息判斷返回值作關聯處理,在Action中插入->新建步驟中添加須要的函數,設置請求參數來逐步完成每一個請求。json

 

         在開發流程測試腳本過程當中,每每須要將上一個請求的返回值做爲下個請求的參數,這時候須要用到關聯,不少時候Loadrunner自動關聯不是萬能的,須要咱們本身定義關聯提取出須要的信息,如下爲關聯部分腳本:app

Action()函數

{工具

         lr_start_transaction("打開登錄頁");測試

 

         web_url("web_url",url

                   "URL={URL}/user/login.html",spa

                   "TargetFrame=",調試

                   "Resource=0",

                   "Referer=",

                   LAST);

 

         lr_end_transaction("打開登錄頁", LR_AUTO);

 

         lr_start_transaction("提交登錄表單");

 

         web_submit_data("web_submit_data",

                   "Action={URL}/user/login.do",

                   "Method=POST",

                   "TargetFrame=",

                   "Referer=",

                   ITEMDATA,

                   "Name=acct", "Value={username}", ENDITEM,

                   "Name=beforeURL", "Value=", ENDITEM,

                   "Name=password", "Value={password}", ENDITEM,

                   "Name=verifyCode", "Value=1234", ENDITEM,

                   LAST);

 

         lr_end_transaction("提交登錄表單", LR_AUTO);

 

         lr_start_transaction("出借列表");

 

         web_url("web_url",

                   "URL={URL}/front/investmentList.html",

                   "TargetFrame=",

                   "Resource=0",

                   "Referer=",

                   LAST);

 

         lr_end_transaction("出借列表", LR_AUTO);

   

    //提取「去出借」請求的「loanId」參數,在「出借」請求中調用;

         web_reg_save_param("loanId",

                   "LB=type=\"hidden\" id=\"loanId\" value=\"",

                   "RB=\"/>",

                   LAST);

 

         lr_start_transaction("去出借");

 

         web_url("web_url",

                   "URL={URL}/loanObject/2220003.html",

                   "TargetFrame=",

                   "Resource=0",

                   "Referer=",

                   LAST);

 

         lr_end_transaction("去出借", LR_AUTO);

 

    //如下爲提取「出借」請求的關聯,在「出借跳轉」請求參數中調用;

         web_reg_save_param("functionNum",

                   "LB=functionNum\\\":\\\"",

                   "RB=\\\",\\\"orderId",

                   LAST);

 

         web_reg_save_param("orderId",

                   "LB=orderId\\\":\\\"",

                   "RB=\\\"",

                   LAST);

 

         web_reg_save_param("ordDate",

                   "LB=ordDate\\\":\\\"",

                   "RB=\\\"",

                   LAST);

 

         web_reg_save_param("investorId",

                   "LB=investorId\\\":\\\"",

                   "RB=\\\"",

                   LAST);

 

         web_reg_save_param("borrowerId",

                   "LB=investorId\\\":\\\"",

                   "RB=\\\"",

                   LAST);

 

         web_reg_save_param("fullAmount",

                   "LB=fullAmount\\\":",

                   "RB=,\\",

                   LAST);

 

         web_reg_save_param("amount",

                   "LB=amount\\\":",

                   "RB=,\\",

                   LAST);

 

         web_reg_save_param("signStr",

                   "LB=signStr\\\":\\\"",

                   "RB=\\\"",

                   LAST);

 

         web_reg_save_param("freezeOrdId",

                   "LB=freezeOrdId\\\":\\\"",

                   "RB=\\\"",

                   LAST);

 

         lr_start_transaction("出借");

 

         web_submit_data("web_submit_data",

                   "Action={URL}/loanObject/invest.do",

                   "Method=POST",

                   "RecContentType=application/json",

                   "TargetFrame=",

                   "Referer=",

                   ITEMDATA,

                   "Name=loanId", "Value={loanId}", ENDITEM,

                   "Name=amount", "Value=100", ENDITEM,

                   LAST);

 

         lr_end_transaction("出借", LR_AUTO);

 

 

         lr_start_transaction("出借跳轉");

         web_submit_data("web_submit_data",

                   "Action={URL}/intf/bid.do",

                   "Method=POST",

                   "EncodeAtSign=YES",

                   "TargetFrame=",

                   "Referer=",

                   "Mode=HTML",

                   ITEMDATA,

                   "Name=jsonDataString", "Value={\"functionNum\":\"{functionNum}\",\"orderId\":\"{orderId}\",\"ordDate\":\"{ordDate}\",\"investorId\":\"{investorId}\",\"borrowerId\":\"{borrowerId}\",\"loanId\":\"{loanId}\",\"amount\":{amount},\"fullAmount\":{fullAmount},\"fee\":0.00,\"feeRate\":1.00,\"terminal\":\"pc\",\"maxTenderRate\":0.5,\"isFreeze\":\"Y\",\"freezeOrdId\":\"{freezeOrdId}\",\"signStr\":\"{signStr}\"}", ENDITEM,

                   LAST);

 

         lr_end_transaction("出借跳轉", LR_AUTO);

 

         return 0;

}

         提取數據根據請求響應信息的格式編寫關聯腳本,如抓包響應信息以下:

 

         提取orderId參數的關聯腳本爲:

         web_reg_save_param("orderId",

                   "LB=orderId\\\":\\\"",

                   "RB=\\\"",

                   LAST);

         腳本調試過程當中,根據腳本調試的目的來選取回放日誌的類型,若是要查看提交表單請求的參數信息,選擇擴展日誌的高級跟蹤:

 

 

         若是要查看關聯提取值是否正確,選擇擴展日誌的參數替換;

 

 

相關文章
相關標籤/搜索