loadrunner(2)----http POST三種請求格式的腳本

本篇文章主要針對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;
}

 

 

 

 

 

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