注意: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