本篇文章主要針對POST請求的三種數據請求格式,組織不同的腳本,較爲基礎,入手教簡單
(1)、application/x-www-form-urlencoded 鍵值對
(2)、multipart/form-data 表單
(3)、application/json Json串
注意:loadrunner參數中的引號,需要自己加"\"。
1. application/x-www-form-urlencoded 鍵值對
Action()
{
lr_start_transaction("checkPerson");
/* 註冊獲取返回參數,該方法可以配合打印返回數據,檢測數據內容 */
web_reg_save_param("ParaResult",
"LB=",
"RB=",
LAST);
/* 註冊斷言: Text=斷言內容 */
/* 該方法會判斷後面的web請求方法的返回值 */
web_reg_find("Text=成功",
LAST);
/* 漢字進行UTF-8編碼 */
lr_convert_string_encoding("需要進行UTF-8加密的中文字符串",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"request");
/* 向後面的web請求函數增加請求頭 */
/* 如果web請求方法中已經設置了相同的頭,則優先使用web請求方法中的頭,例如web請求方法中的EncType參數,對應請求投中的Content-Type。由於下面的方法已經設置了EncType參數,所以這裏的設置並沒有什麼X用 */
/* 表單直接使用方法自帶參數,鍵值對和json建議使用該方法 */
web_add_header("Content-Type",
"application/x-www-form-urlencoded; charset=utf-8");
/* 主要針對form表單和鍵值對兩種格式的web請求 */
web_submit_data("checkPerson",
"Action=http://130.1.11.105:9080/ibis/faceService/checkPerson",
"Method=POST",
/* 該方法支持常見的兩種請求數據格式 */
/* (1)"EncType=multipart/form-data"。form表單提交數據 */
/* (1)"EncType=application/x-www-form-urlencoded"。默認使用鍵值對提交數據 */
//"EncType=",
"TargetFrame=",
"Referer=",
ITEMDATA,
"Name=Name1", "Value={request}", ENDITEM,
"Name=Name2", "Value=Value2", ENDITEM,
LAST);
/* 打印相應結果 */
/* lr_eval_string("{ParaResult}") 使用loadrunner引用外部函數,只有這樣才能取出上面web_reg_save_param方法的返回值 */
lr_log_message(lr_eval_string("{ParaResult}"));
lr_end_transaction("checkPerson", LR_AUTO);
return 0;
}
2. multipart/form-data 表單
Action()
{
lr_start_transaction("checkPerson");
/* 註冊獲取返回參數,該方法可以配合打印返回數據,檢測數據內容 */
web_reg_save_param("ParaResult",
"LB=",
"RB=",
LAST);
/* 註冊斷言: Text=斷言內容 */
/* 該方法會判斷後面的web請求方法的返回值 */
web_reg_find("Text=成功",
LAST);
/* 漢字進行UTF-8編碼 */
lr_convert_string_encoding("需要進行UTF-8加密的中文字符串",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"request");
/* 向後面的web請求函數增加請求頭 */
/* 如果web請求方法中已經設置了相同的頭,則優先使用web請求方法中的頭,例如web請求方法中的EncType參數,對應請求投中的Content-Type。由於下面的方法已經設置了EncType參數,所以這裏的設置並沒有什麼X用 */
/* 表單直接使用方法自帶參數,鍵值對和json建議使用該方法 */
//web_add_header("Content-Type",
// "multipart/form-data; boundary = --------BORN3QKNRTS4; charset=UTF-8");
/* 主要針對form表單和鍵值對兩種格式的web請求 */
web_submit_data("checkPerson",
"Action=http://130.1.11.105:9080/ibis/faceService/checkPerson",
"Method=POST",
/* 該方法支持常見的兩種請求數據格式 */
/* (1)"EncType=multipart/form-data"。form表單提交數據 */
/* (1)"EncType="。默認使用鍵值對提交數據 */
"EncType=multipart/form-data",
"TargetFrame=",
"Referer=",
ITEMDATA,
"Name=Name1", "Value={request}", ENDITEM,
"Name=Name2", "Value=Value2", ENDITEM,
LAST);
/* 打印相應結果 */
/* lr_eval_string("{ParaResult}") 使用loadrunner引用外部函數,只有這樣才能取出上面web_reg_save_param方法的返回值 */
lr_log_message(lr_eval_string("{ParaResult}"));
lr_end_transaction("checkPerson", LR_AUTO);
return 0;
}
3. application/json Json串
Action()
{
lr_start_transaction("checkPerson");
/* 註冊獲取返回參數,該方法可以配合打印返回數據,檢測數據內容 */
web_reg_save_param("ParaResult",
"LB=",
"RB=",
LAST);
/* 註冊斷言: Text=斷言內容 */
/* 該方法會判斷後面的web請求方法的返回值 */
// web_reg_find("Text=成功",
// LAST);
/* 漢字進行UTF-8編碼 */
lr_convert_string_encoding("需要進行UTF-8加密的中文字符串",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"request");
/* 向後面的web請求函數增加請求頭 */
/* 如果web請求方法中已經設置了相同的頭,則優先使用web請求方法中的頭,例如web請求方法中的EncType參數,對應請求投中的Content-Type。由於下面的方法已經設置了EncType參數,所以這裏的設置並沒有什麼X用 */
/* 表單直接使用方法自帶參數,鍵值對和json建議使用該方法 */
web_add_header("Content-Type",
"application/json; charset=UTF-8");
web_custom_request("web_custom_request",
"URL=http://www.baidu.com",
"Method=POST",
"TargetFrame=",
"Resource=0",
"Referer=",
"Mode=HTTP",
/* json和鍵值對數據格式,建議使用web_add_header方法添加Content-Type頭 */
//"EncType=application/json",
"Body={\"Name1\":\"{request}\",\"Name2\":\"Value2\"}",
LAST);
/* 打印相應結果 */
/* lr_eval_string("{ParaResult}") 使用loadrunner引用外部函數,只有這樣才能取出上面web_reg_save_param方法的返回值 */
lr_log_message(lr_eval_string("{ParaResult}"));
lr_end_transaction("checkPerson", LR_AUTO);
return 0;
}