loadrunner常用函数
使用过的函数如下(持续更新):
事务设置
- lr_start_transaction();
- lr_end_transaction);
lr_start_transaction("事务开始");
事务脚本...
lr_end_transaction("事务结束",LR_AUTO);
ps:分别放置在事务前后,统计事务成功率,设置详细的事务便于定位哪个环节更容易出问题。
思考时间
- ** lr_think_time(3);**
ps:思考时间,单位秒。
输出消息
- lr_message();
- lr_log_message();
- lr_output_message();
ps:lr_message函数将消息发送到日志文件和输出窗口。当在VuGen中运行时,输出文件是output.txt。
使用lr_log_message而不是此函数仅将消息发送到日志文件。这节省了将消息发送到输出所需的网络和控制器资源。
要将消息发送到输出文件,必须在运行时设置中启用日志记录,并选择始终发送消息。如果选择仅在发生错误时发送消息,则此函数没有输出。
在日志文件中,此函数不列出发出消息的位置和行号。要发出包含这些详细信息的消息,请使用lr_output_message。
动态关联
- web_reg_save_param();
web_reg_save_param("returnMessage",
"LB=\"returnMessage\":\"",
"RB=\",",
"Search=All",
//"RelFrameID=1",
"NotFound=ERROR",
LAST);
ps:放置在某个请求前,从该请求的服务器响应中,根据左右边界值查找想要的信息,保存在returnMessage中。可以动态的获取某个响应的参数值,用于脚本的其他地方进行参数替换,或是进行结果判定。
返回脚本中的一个参数当前的值
- lr_eval_string()
ps:返回值类型:char。
字符串编码转换函数
- lr_convert_string_encoding()
int lr_convert_string_encoding ( const char *sourceString, const char *fromEncoding, const char *toEncoding, const char *paramName);
该函数有4个参数,含义如下:
sourceString:被转换的源字符串。
fromEncoding:转换前的字符编码。
toEncoding:要转换成为的字符编码。
paramName:转换后的目标字符串。
lr_convert_string_encoding(lr_eval_string("{returnMessage}"),"utf-8",NULL,"msg3");
returnCode=lr_eval_string("{msg3}");
lr_message("returnMessage=%s",returnCode);
ps:将{returnMessage}转换为utf-8格式,保存在"msg3"中,将"msg3"赋值给returnCode,输出returnCode到日志。
比较两个字符串
- strcmp(str1,str2)
设这两个字符串为str1,str2,
若str1=str2,则返回零;
若str1<str2,则返回负数;
若str1>str2,则返回正数。
if (strcmp(returnCode,"success")==0){
lr_end_transaction("提交任务",LR_PASS);
}
else{
lr_end_transaction("提交任务",LR_FAIL);
}
ps:常用于结果判定。
接口测试
- strcmp(str1,str2)
web_custom_request("queryrecord",
"URL=http://{ipport}/rest/v1/query/queryrecord",
"Method=POST",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Snapshot=t33.inf",
"Mode=HTML",
"EncType=application/json;charset=UTF-8",
"BodyBinary={\"name\":\"{name}\",\"nameid\":\"{nameid}\",\"month\":\"{month}\"}",
LAST);