内置函数和Jmeter差不多,Jmeter更火,更好百度,毕竟开源,用的人多,所以有些函数如果不太懂用法,可以百度Jmeter作为参考来使用LR。
大家使用中应用函数不会的话留言就行,我开始用的时候反正不懂,不明白怎么使用,怎么应用,有和我一样的童鞋可交流
脚本中常用函数
事务组
事务,在LR中表示事务,也叫场景,比如我想测试一个系统的登录 +查询+退出,这一波操作的性能指标,而不是想知道单独的登录或查询,这个时候就可以作为一个事务,把登录+查询+退出放一个事务里,最终性能结果也是这三个请求都在一个事务中,得到一个总的性能指标,如果想分别得知这三个操作的性能指标,那就分3个事务处理
lr_start_transaction("KaiShi");
// 中间放事务代码 ,也就是一个场景,记录执行这个场景需要的时间
lr_end_transaction("KaiShi",LR_AUTO);
// 事务中不要加思考时间,不然会增加事务处理时间
思考时间
秒单位
lr_think_time(21)
集合点
要放在请求的步骤前面,哪个步骤需要集合请求,就放哪里
lr_rendezvous("登录");
定义变量
定义多个变量时,变量定义要在执行语句的前面。
字符串
char date[100]="测试字符串";
lr_save_string(date,"Param1");
lr_output_message("自定义的字符串参数:%s",lr_eval_string("{Param1}"));
整数
int intss=521;
lr_save_int(intss,"param2");
lr_output_message("%s",lr_eval_string("{param2}"));
函数列表
获取当前时间 年月日时分秒
lr_save_datetime("%Y-%m-%d %H:%M:%S",TIME_NOW,"currDateTime"); lr_output_message(lr_eval_string("{currDateTime}"));
做判断,提取内容
指定字符串内容获取,得出出现次数
web_reg_find("Text=查找内容",
"SaveCount=count", // 参数
LAST);
根据前后指定内容获取,出现次数
web_reg_find("TextPfx=姓名", // 前字符串
"TextSfx=号", // 后字符串
"SaveCount=count", // 参数
LAST);
获取返回结果,多个值的情况
web_reg_save_param_ex(
"ParamName=datat", // 参数
"LB=text\":\"", // 左边界
"RB=\"", // 右边界
"Ordinal=3", // 获取多个,读第几个
SEARCH_FILTERS,
LAST);
获取返回结果,单个值的情况
web_reg_save_param();
// 使用这个方法,LR添加步骤时有其他参数,对应填写即可
正则方法获取返回结果
web_reg_save_param_regexp(
"ParamName=count", // 参数
"RegExp=(text\":\".*?\")", // 正则表达式
"Group=1", // 获取多个,读第几个
SEARCH_FILTERS,
LAST);
Json方法获取返回结果
web_reg_save_param_json(
"ParamName=count", // 参数
"QueryString=$[0].test", // json表达式
SEARCH_FILTERS,
LAST);
// $ 表示根目录
// . 表示下个节点
// [] 列表下标,从0开始
日志类函数
向日志文件和控制台打印内容
lr_output_message("输入内容:%s",lr_eval_string("{data}"));
//可以直接打印内容,可以添加一个变量
打印日志内容
lr_log_message("输入内容:%s",lr_eval_string("{data}"));
打印调试级别日志内容
lr_debug_message("输入内容:%s",lr_eval_string("{data}"));
打印错误级别日志内容
lr_error_message("输入内容:%s",lr_eval_string("{data}"));
请求函数
GET请求
web_url();
POST请求
web_submit_data();