loadrunner测试Restful风格的api接口

在使用loadrunner测试springboot的api接口的时候,不会像是测试页面的时候那样可以进行录制,测试API只能写脚本,这里写下一些调用API的脚本,方便以后查询使用,下面的请求都是JSON格式的

  1. 使用POST上传文件,这种方式上传文件,就像是使用Form请求上传文件,后台使用request对象从parameter中获取文件一样
//上传文件
Action()
{
	lr_start_transaction("4_upload");
	
	//设置自定义表头
	web_add_header("flag","sys01");
	web_add_header("timestamp","1504056353553");
	web_add_header("token","329415275d5caa3edcbddccc003d9562ae9868cb73ef66029c4c35c178ea56423da6f8daec46b38f");

	//调用loadrunner内部函数上传文件
	web_submit_data("upload",
					"Action=http://localhost:8080/ecmtkRest/ecm/upload",
					"Method=POST",
					"EncType=multipart/form-data",
					"TargetFrame=",
					"RecContentType=application/json",
					"Mode=HTML",
					ITEMDATA,
					"Name=flag","Value=sys03", ENDITEM,
					"Name=timestamp", "Value={timeStamp}", ENDITEM,
					"Name=token", "Value={token}", ENDITEM,   
					"Name=file", "Value=K:\\image\\669.jpe", "file=yes", ENDITEM,*
					LAST
		);
    
	lr_end_transaction("4_upload", LR_AUTO);

	return 0;
}

  1. 将文件转换为二进制字符串,然后保存在parameter中上传到服务器
上传文件——二进制
Action()
{
	lr_start_transaction("4_upload");

	web_add_header("flag","{flag}");
	web_add_header("timestamp","{timeStamp}");
	web_add_header("token","{token}");
 /*
	web_submit_data("upload",
					"Action=http://localhost:8080/ecmtkRest/ecm/upload",
					"Method=POST",
					"RecContentType=application/json",
					"Mode=HTTP",
					//设置HTTP请求的body部分
					"Body=data={data}&file={file}",
					LAST
		);
}
  1. 这种方式是当api的请求参数设置为@RequestBody的时候使用的,直接将文件的二进制字符串和需要上传的参数序列化为JSON字符串,直接放在body中
    下面是这种球的HTTP内容
    这里写图片描述
Action()
{
	//注意这里使用的web_custom_request函数
	web_custom_request("upload",
					   "URL=http://localhost:8080/ecmtkRest/ecm/upload",
					   "Method=POST",
					   "Resource=0",
					   "Referer=",
					   "RecContentType=application/json",
					   "EncType=application/json",
					   "Mode=HTTP",
					   "Body={data}",
					   LAST);


	lr_end_transaction("4_upload", LR_AUTO);

	return 0;
}

//java代码
@RequestMapping(value="/upload", method=RequestMethod.POST)
public String uploadFile(@RequestBody JSONObject data){ 
	return service.uploadFile(data);
}


4.Get请求



	lr_start_transaction("5_4_company_year_month_10000");


	web_add_header("flag","{flag}");
	web_add_header("timestamp","{timestamp}");
	web_add_header("token","{token}");
    web_add_header("pageIndex","1");
    web_add_header("pageSize","10000");
	
	//获取调用API之后的返回值
	web_reg_save_param("code",
					   "LB=\"code\":\"",
					   "RB=\"",
					   LAST);

	web_custom_request("5_company_year_month_10000",
		"Method=GET",
		"URL={url}/ecmtkRest/scaninfo/{company}/{year}/{month}",  
		"RecContentType=application/json",
		"EncType=application/json",
		"Mode=HTTP");

	//对返回值进行判断
	if(strstr(lr_eval_string("{code}"),"0") != NULL)
	{
		lr_output_message("请求=%s","成功");
		lr_end_transaction("5_1_company_year_month_10000", LR_PASS);
	}
	else
	{
		lr_output_message("请求=%s","失败");
		lr_end_transaction("5_1_company_year_month_10000", LR_FAIL);
	}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值