loadrunner get/post請求格式帶json參數

本篇文章主要針對POST請求的三種數據請求格式,組織不同的腳本,較爲基礎,入手教簡單

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

(2)、multipart/form-data 表單

(3)、application/json Json串

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

1. application/x-www-form-urlencoded 鍵值對

[plain] view plain copy
  1. Action()  
  2. {  
  3.     lr_start_transaction("checkPerson");  
  4.     /* 註冊獲取返回參數,該方法可以配合打印返回數據,檢測數據內容 */  
  5.     web_reg_save_param("Para",  
  6.                        "LB=",  
  7.                        "RB=",  
  8.                        LAST);  
  9.   
  10.     /* 註冊斷言: Text=斷言內容 */  
  11.     /* 該方法會判斷後面的web請求方法的返回值 */  
  12.     web_reg_find("Text=成功",  
  13.              LAST);  
  14.   
  15.     /* 漢字進行UTF-8編碼 */  
  16.     lr_convert_string_encoding("需要進行UTF-8加密的中文字符串",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"result");  
  17.   
  18.     /* 向後面的web請求函數增加請求頭 */  
  19.     /* 如果web請求方法中已經設置了相同的頭,則優先使用web請求方法中的頭,例如web請求方法中的EncType參數,對應請求投中的Content-Type。由於下面的方法已經設置了EncType參數,所以這裏的設置並沒有什麼X用 */  
  20.     /* 表單直接使用方法自帶參數,鍵值對和json建議使用該方法 */  
  21.     web_add_header("Content-Type",  
  22.                "application/x-www-form-urlencoded; charset=utf-8");  
  23.     /*針對一些接口開發規則,token需要在header內添加*/
  24.       web_add_auto_header("token", "79faf82271944fe38c4f1d99be71bc9c");
  25.     /* 主要針對form表單和鍵值對兩種格式的web請求 */  
  26.     web_submit_data("checkPerson",  
  27.         "Action=http://130.1.11.105:9080/ibis/faceService/checkPerson",  
  28.         "Method=POST",  
  29.         /* 該方法支持常見的兩種請求數據格式 */  
  30.         /* (1)"EncType=multipart/form-data"。form表單提交數據 */  
  31.         /* (1)"EncType=application/x-www-form-urlencoded"。默認使用鍵值對提交數據 */  
  32.         //"EncType=",  
  33.         "TargetFrame=",  
  34.         "Referer=",  
  35.         ITEMDATA,  
  36.         "Name=Name1", "Value=Value1", ENDITEM,  
  37.         "Name=Name2", "Value=Value2", ENDITEM,  
  38.         LAST);  
  39.   
  40.     /* 打印相應結果 */  
  41.     /* lr_eval_string("{result}") 使用loadrunner引用外部函數,只有這樣才能取出上面web_reg_save_param方法的返回值 */  
  42.     lr_log_message(lr_eval_string("{result}"));  
  43.   
  44.     lr_end_transaction("checkPerson", LR_AUTO);  
  45.   
  46.     return 0;  
  47. }  


2. multipart/form-data 表單

[plain] view plain copy
  1. Action()  
  2. {  
  3.     lr_start_transaction("checkPerson");  
  4.     /* 註冊獲取返回參數,該方法可以配合打印返回數據,檢測數據內容 */  
  5.     web_reg_save_param("Para",  
  6.                        "LB=",  
  7.                        "RB=",  
  8.                        LAST);  
  9.   
  10.     /* 註冊斷言: Text=斷言內容 */  
  11.     /* 該方法會判斷後面的web請求方法的返回值 */  
  12.     web_reg_find("Text=成功",  
  13.              LAST);  
  14.   
  15.     /* 漢字進行UTF-8編碼 */  
  16.     lr_convert_string_encoding("需要進行UTF-8加密的中文字符串",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"result");  
  17.   
  18.     /* 向後面的web請求函數增加請求頭 */  
  19.     /* 如果web請求方法中已經設置了相同的頭,則優先使用web請求方法中的頭,例如web請求方法中的EncType參數,對應請求投中的Content-Type。由於下面的方法已經設置了EncType參數,所以這裏的設置並沒有什麼X用 */  
  20.     /* 表單直接使用方法自帶參數,鍵值對和json建議使用該方法 */  
  21.     //web_add_header("Content-Type",  
  22.     //         "multipart/form-data; boundary = --------BORN3QKNRTS4; charset=UTF-8");  
  23.     /*針對一些接口開發規則,token需要在header內添加*/
         web_add_auto_header("token", "79faf82271944fe38c4f1d99be71bc9c");
  24.     /* 主要針對form表單和鍵值對兩種格式的web請求 */  
  25.     web_submit_data("checkPerson",  
  26.         "Action=http://130.1.11.105:9080/ibis/faceService/checkPerson",  
  27.         "Method=POST",  
  28.         /* 該方法支持常見的兩種請求數據格式 */  
  29.         /* (1)"EncType=multipart/form-data"。form表單提交數據 */  
  30.         /* (1)"EncType="。默認使用鍵值對提交數據 */  
  31.         "EncType=multipart/form-data",  
  32.         "TargetFrame=",  
  33.         "Referer=",  
  34.         ITEMDATA,  
  35.         "Name=Name1", "Value=Value1", ENDITEM,  
  36.         "Name=Name2", "Value=Value2", ENDITEM,  
  37.         LAST);  
  38.   
  39.     /* 打印相應結果 */  
  40.     /* lr_eval_string("{result}") 使用loadrunner引用外部函數,只有這樣才能取出上面web_reg_save_param方法的返回值 */  
  41.     lr_log_message(lr_eval_string("{result}"));  
  42.   
  43.     lr_end_transaction("checkPerson", LR_AUTO);  
  44.   
  45.     return 0;  
  46. }  

3.  application/json Json串

[plain] view plain copy
  1. Action()  
  2. {  
  3.     lr_start_transaction("checkPerson");  
  4.     /* 註冊獲取返回參數,該方法可以配合打印返回數據,檢測數據內容 */  
  5.     web_reg_save_param("Para",  
  6.                        "LB=",  
  7.                        "RB=",  
  8.                        LAST);  
  9.   
  10.     /* 註冊斷言: Text=斷言內容 */  
  11.     /* 該方法會判斷後面的web請求方法的返回值 */  
  12.     // web_reg_find("Text=成功",  
  13.     //       LAST);  
  14.   
  15.     /* 漢字進行UTF-8編碼 */  
  16.     lr_convert_string_encoding("需要進行UTF-8加密的中文字符串",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"result");  
  17.   
  18.     /* 向後面的web請求函數增加請求頭 */  
  19.     /* 如果web請求方法中已經設置了相同的頭,則優先使用web請求方法中的頭,例如web請求方法中的EncType參數,對應請求投中的Content-Type。由於下面的方法已經設置了EncType參數,所以這裏的設置並沒有什麼X用 */  
  20.     /* 表單直接使用方法自帶參數,鍵值對和json建議使用該方法 */  
  21.     web_add_header("Content-Type",  
  22.                "application/json; charset=UTF-8");  
  23.     /*針對一些接口開發規則,token需要在header內添加*/
          web_add_auto_header("token", "79faf82271944fe38c4f1d99be71bc9c");
  24.     /* 主要針對form表單和鍵值對兩種格式的web請求 */  
  25.   
  26.     web_custom_request("web_custom_request",  
  27.         "URL=http://www.baidu.com",  
  28.         "Method=POST",  
  29.         "TargetFrame=",  
  30.         "Resource=0",  
  31.         "Referer=",  
  32.         "Mode=HTTP",  
  33.         /* json和鍵值對數據格式,建議使用web_add_header方法添加Content-Type頭 */  
  34.         //"EncType=application/json",  
  35.         "Body={\"Name1\":\"Value1\",\"Name2\":\"Value2\"}",  
  36.         LAST);  
  37.   
  38.     /* 打印相應結果 */  
  39.     /* lr_eval_string("{result}") 使用loadrunner引用外部函數,只有這樣才能取出上面web_reg_save_param方法的返回值 */  
  40.     lr_log_message(lr_eval_string("{result}"));  
  41.   
  42.     lr_end_transaction("checkPerson", LR_AUTO);  
  43.   
  44.   
  45.     return 0;  
  46. }  

  47. 3.  swagger接口參數轉爲loadrunner請求報文示例:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章