1. Connection reset by peer [MsgId: MERR-27780]
如下圖,只需要在Winlnet replay instead of Sockets 處勾選就ok了
當光標在此處時,可以看下面的Hint
use wininet replay engine.Note this mode is a fallback potion to be used only when the default(socket) replay engine fails(使用wininet回放引擎。注意這種模式是一種後備選擇,只有在默認(socket)回放引擎失敗使用)
Loadrunner默認發送是通過sockets(將http轉換爲sockets)發送的,而sockets默認SSL的版本爲SSL2和SSL3。HTTPS協議錄製的腳本以SSL3版本回放時會使sockets端口連接失敗,會被服務器拒絕連接。--- 摘自網絡
2.Failed to end Transaction "login_end"(by name).
在添加事務的時候如果報這個錯是因爲事務名字問題,名字要一致
首先保證在要做的事務前後加下面2個函數
lr_start_transaction("login");
lr_end_transaction("login", LR_AUTO);
---------------------------------------分隔符-------------------------------------
說明:之後的時間比較少,所以直接貼我在記事本上做的筆記。比較碎片化,不利於除自己之外的人瀏覽,在此抱歉!
Error -27496: Internal Error - InternetCloseHandle failed for item at 06CEE900, Windows error code=6. Assuming the item can be deleted, but error(s) may occur in fvLrwNetWinInetCallback
內部錯誤(呼叫客戶服務) 暫不知怎麼處理
-------
在Run-time settings---Options
HTTP-request connect tiomeout(sec) 設置成最大值 999
HTTP-request receive tiomeout(sec) 設置成最大值 999
Step download timeout(sec) 設置成最大值 999
-------
設置IP欺騙後,65992-error,Socket desciptor ont found
要用設置的IP欺騙的網卡進行訪問。而是用無線網或者訪問localhose/127.0.0.1,沒有使用設置了IP欺騙的網卡進行訪問引起的
添加 資源監控
-------
*************************分隔符************************
1.獲取某個請求的響應的信息(請求頭信息、響應頭信息、響應內容體)
默認最大長度爲256
web_set_max_html_param_len("262144");
//自定義截取字符串,根據左右字符串獲取數據
web_reg_save_param("ResponseBody", "LB=", "RB=", "Search=Body", LAST);
// REQUEST爲內置變量,保存請求的頭信息,需在發送URL請求前註冊使用,將請求頭信息存入字符串RequestHeader中
web_save_header(REQUEST, "RequestHeader");
// 將RESPONSE保存響應的頭信息在字符串ResponseHeader中
web_save_header(RESPONSE, "ResponseHeader");
web_submit_data("login",
"Method=POST",
"TargetFrame=",
"RecContentType=text/html",
"Snapshot=t8.inf",
"Mode=HTML",
ITEMDATA,
"Name=username", "Value=jms13999999999", ENDITEM,
"Name=password", "Value=yh111111", ENDITEM,
LAST)
//字符轉碼
lr_convert_string_encoding(lr_eval_string("{RequestHeader}"),LR_ENC_UTF8 ,LR_ENC_SYSTEM_LOCALE,"RequestHeaderUTF8");
lr_convert_string_encoding(lr_eval_string("{ResponseHeader}"),LR_ENC_UTF8 ,LR_ENC_SYSTEM_LOCALE,"ResponseHeaderUTF8");
lr_convert_string_encoding(lr_eval_string("{ResponseBody}"),LR_ENC_UTF8 ,LR_ENC_SYSTEM_LOCALE,"ResponseBodyUTF8");
//輸出信息
lr_output_message("# 請求頭信息:\n %s", lr_eval_string("{RequestHeaderUTF8}"));
lr_output_message("# 響應頭信息:\n %s", lr_eval_string("{ResponseHeaderUTF8}"));
lr_output_message("# 響應內容體:\n %s", lr_eval_string("{ResponseBodyUTF8}"));
2.亂碼處理
利用Loadrunner提供的轉換函數(lr_convert_string_encoding)進行處理,GBK轉換UTF-8參考代碼:
lr_convert_string_encoding("我是代碼",
"GBK",
"UTF-8",
"outparam"
);
由於轉換過程中會多出一個 \0 的結束字符,也就是outparam轉換後變成了”我是代碼\0”,
所以還需要特別進行處理:lr_save_string(lr_eval_string("{outparam}"),"newparam");
將outparam重新save轉存到另一個newparam的參數中,當然也可以保存在原來的outparam參數中進行覆蓋,這樣才能保證整個轉換過程沒有紕漏,一些系統對\0比較敏感的時候還可能出現未知的問題。
例:
lr_convert_string_encoding("將我轉碼","GBK","UTF-8","outparam");
lr_save_string(lr_eval_string("{outparam}"),"newparam");
lr_output_message(lr_eval_string("{newparam}"));
3. 在Controller Virtual user(3個小人圖標) 的 Status中可以打印 當前參數和迭代次數
static int iteration;
Action()
{
//在Vugen中顯示參數值,參數化param
lr_output_message("當前參數:%s",lr_eval_string("{param}"));
//在Controller 監控窗口中顯示當前參數值和當前值的迭代次數
lr_vuser_status_message("當前參數:%s,迭代次數:%d",lr_eval_string("{param}"),++iteration);
teturn 0;
}