loadrunner post請求


注意:loadrunner參數中的引號,需要自己加"\"

post 請求,分為header 和body兩個部分處理

header部分比較容易處理,使用函數實現,如web_add_header("pid","1")即可,具體參數可參見接口文檔。

body部分:

  常見的有json個是或者xml格式內容,偶爾也有一些自定義內容

 (1)如char body[1024]= "body=*****":

web_custom_request("service", 

url,//請求的url地址,這里把它進行了參數化

"Method=POST", 

"Resource=0", 

"RecContentType=text/xml", 

"Referer=", 

"Snapshot=t1.inf", 

"Mode=HTML", 

body, //見上面的參數:postBody

LAST);

 (2)加密內容,未加密內容,參數化參數

    web_custom_request("service", 

            url,//參數化之后的url

            "Method=POST", 

            "Resource=0", 

            "RecContentType=application/json", 

            "Referer=", 

            "Snapshot=t1.inf", 

            "Mode=HTTP", 

    "EncType={contype};charset=UTF-8",//很重要,一定要加,contype表示為請求格式

            "BodyFilePath=YOUR FILEPATH", //見上面的參數:postBody

        LAST);

eg:"BodyFilePath=c:\\yong.hu\\test.txt"

(3)常規post請求:

web_custom_request("test",
"URL=http://***:***",
"Method=POST",
"RecContentType=application/json",
"Referer=", 
"Mode=HTTP",
"EncType=application/json",
"Body={\"CId\":\"***\",\"CUId\":\"***\",\"TId\":\"5\"}", 
LAST);

(4)application/x-www-form-urlencoded 鍵值對

Action()
{
lr_start_transaction("checkPerson");
/* 注冊獲取返回參數,該方法可以配合打印返回數據,檢測數據內容 */
web_reg_save_param("Para",
"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,"result");

/* 向后面的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=Value1", ENDITEM,
"Name=Name2", "Value=Value2", ENDITEM,
LAST);

/* 打印相應結果 */
/* lr_eval_string("{result}") 使用loadrunner引用外部函數,只有這樣才能取出上面web_reg_save_param方法的返回值 */
lr_log_message(lr_eval_string("{result}"));

lr_end_transaction("checkPerson", LR_AUTO);

return 0;
}

(5)multipart/form-data 表單

Action()
{
lr_start_transaction("checkPerson");
/* 注冊獲取返回參數,該方法可以配合打印返回數據,檢測數據內容 */
web_reg_save_param("Para",
"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,"result");

/* 向后面的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=Value1", ENDITEM,
"Name=Name2", "Value=Value2", ENDITEM,
LAST);

/* 打印相應結果 */
/* lr_eval_string("{result}") 使用loadrunner引用外部函數,只有這樣才能取出上面web_reg_save_param方法的返回值 */
lr_log_message(lr_eval_string("{result}"));

lr_end_transaction("checkPerson", LR_AUTO);

return 0;
}

(6) application/json Json串

Action()

{
lr_start_transaction("checkPerson");
/* 注冊獲取返回參數,該方法可以配合打印返回數據,檢測數據內容 */
web_reg_save_param("Para",
"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,"result");

/* 向后面的web請求函數增加請求頭 */
/* 如果web請求方法中已經設置了相同的頭,則優先使用web請求方法中的頭,例如web請求方法中的EncType參數,對應請求投中的Content-Type。由於下面的方法已經設置了EncType參數,所以這里的設置並沒有什么X用 */
/* 表單直接使用方法自帶參數,鍵值對和json建議使用該方法 */
web_add_header("Content-Type",
"application/json; charset=UTF-8");

/* 主要針對form表單和鍵值對兩種格式的web請求 */

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\":\"Value1\",\"Name2\":\"Value2\"}",
LAST);

/* 打印相應結果 */
/* lr_eval_string("{result}") 使用loadrunner引用外部函數,只有這樣才能取出上面web_reg_save_param方法的返回值 */
lr_log_message(lr_eval_string("{result}"));

lr_end_transaction("checkPerson", LR_AUTO);


return 0;
}

Ps:4~6內容引用https://blog.csdn.net/xieyuemin/article/details/52642924

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM