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;
}

 

 

 

 

 

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