LoadRunner总结

常见的函数应用场景

参数化关联函数

//根据左右边界获取参数
web_reg_save_param("layerId", 
	"LB/IC=layerId\":\"", 
	"RB/IC=\",", 
	"Ord=1", 
	"Search=Body", 
	"RelFrameId=1", 
	LAST);
//事务相关请求
web_submit_data("deleteLayers", 
		"Action=http://172.18.80.51/agcim-viewer-mgr-rest/dir/deleteLayers?dirLayerIds=eyJhbGciOiB6QoKK3f7Z8c0OQg", 
		"Method=POST", 
		"RecContentType=application/json",  
		"Snapshot=t40.inf", 
		"Mode=HTML", 
		ITEMDATA, 
		LAST);
//打印获取到的参数
lr_message("layerId== %s",lr_eval_string("{layerId}"));

左右边界中部分字符需要转义

转义 字符
\b Backspace 键
\f 换页
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符
\’ 单引号
\” 双引号
\ 反斜杠
\? 文本问号

添加检查点

//检查点应该放在要查找的内容的某个请求之前
web_reg_find(
	"Text=在选课前请核对个人信息是否正确",
	"SaveCount=Code_Count",
	"Search=Body",
	LAST ); 


if (atoi(lr_eval_string("{Code_Count}"))>=1){  
	lr_output_message("Login successful");
    //  lr_log_message("登录失败");
	lr_end_transaction("login", LR_AUTO);  
	return 0;  
	}  
   else{    
	lr_error_message("Login failed");          
	lr_end_transaction("login", LR_FAIL);    
	return -1;  
	} 

设置事务

//事务开始
lr_start_transaction("删除图层");
	
//事务相关请求
web_submit_data("deleteLayers", 
		"Action=http://172.18.80.51/agcim-viewer-mgr-rest/dir/deleteLayers?dirLayerIds={dirLayerId}", 
		"Method=POST", 
		"RecContentType=application/json",  
		"Snapshot=t40.inf", 
		"Mode=HTML", 
		ITEMDATA, 
		LAST);
//事务结束
lr_end_transaction("删除图层", LR_AUTO);

给请求添加header


web_add_auto_header("Authorization","bearer eyJhbGciOiB6QoKK3f7Z8c0OQg");

web_add_auto_header("access_token","eyJhbGciOiB6QoKK3f7Z8c0OQg");
//事务相关请求
web_submit_data("deleteLayers", 
		"Action=http://172.18.80.51/agcim-viewer-mgr-rest/dir/deleteLayers?dirLayerIds={dirLayerId}", 
		"Method=POST", 
		"RecContentType=application/json",  
		"Snapshot=t40.inf", 
		"Mode=HTML", 
		ITEMDATA, 
		LAST);

回放中文乱码,转码并打印响应

// 获取respones  放在url上面
web_reg_save_param("Response5",   
                  "LB=",
                 "RB=",
                 "search=body",
                LAST);
//目标请求
web_submit_data("deleteLayers", 
		"Action=http://172.18.80.51/agcim-viewer-mgr-rest/dir/deleteLayers?dirLayerIds={dirLayerId}", 
		"Method=POST", 
		"RecContentType=application/json",  
		"Snapshot=t40.inf", 
		"Mode=HTML", 
		ITEMDATA, 
		LAST);
	lr_end_transaction("删除图层", LR_AUTO);

lr_convert_string_encoding(lr_eval_string("{Response5}"),"utf-8","gb2312","Response5"); // response 结果 转码
    
lr_error_message("Response5=%s",lr_eval_string("{Response5}"));  // 打印response转码后结果

打印相关函数

// 打印参数
lr_output_message("username== %s",lr_eval_string("{NewParam_1}"));
//也可以使用lr_message()函数
lr_message ("username== %s",lr_eval_string("{NewParam_1}"));
//lr_eval_string()方法是取值方法

业务相关说明

行业上的在线用户数与并发用户数经验

电信行业的比例为万分之一,即有1000万用户在线,则并发为1000用户

OA系统的行业比例为在线用户的5%~20%

公司内部系统按经验评估,并发用户一般是在线用户的10%,30000在线,并发一般在3000左右。

关于思考时间

如果是负载测试基本可以忽略思考时间,如果是稳定性测试可以考虑设置思考时间,一般为3-5S

开始执行大量虚拟用户前

应该先用5-10个用户判断基线性能

本文链接:

https://xuzi.vercel.app/archive/1546155352/

# 最新文章