loadrunner(1)----http POST三種請求格式的指令碼
阿新 • • 發佈:2019-01-09
本篇文章主要針對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("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; }
2. 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; }
3. 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; }