LoadRunner常用函数

暂时整理一些常用的函数,有空再整理用法

C语言函数

  strchr函数用于查找指定字符在一个字符串中第一次出现的位置,然后返回该指向该位置的指针

  strrchr函数用于查找指定字符在一个字符串中最后一次出现的位置,然后返回指向该位置的指针

  char var[10];
  strcpy(var,lr_eval_string("{param}")):将参数{param}转换成C语言中的变量var

  strncpy的作用是把一个字符串中的指定长度复制到另一个字符串中,如果指定长度超出字符串的长度,则会复制整个字符串

  strcmp(lr_eval_string("{param}"),"str"):将两个字符串类型的变量进行比较,如果相等,返回0,否则,返回1或-1 区分大小写

  stricmp不区分大小写比较两个字符串的大小

  strcat(body,lr_eval_string("{Token}")):把一个字符串的全部内容复制到另一个字符串后面 (重点)

  strncat是把一个字符串的指定长度复制到另一个字符串后面,如指定长度超出字符串的长度,则会复制整个字符串

  strler的功能是把一个字符串全部变成小写

  strupr的功能则是把一个字符串全部变成大写

  atoi(lr_eval_string("{param}")):将LR参数{param}转换为 数字(重点)

  itoa则是把整数转为字符串

  strlen用于返回指定字符串的字符个数,遇到‘\0’就会停止计算

LR函数

一、关联(重点)

web_reg_save_param("参数名","LB=左边界‘,"RB=右边界","Ord=All",LAST); 一定要写在请求之前
当参数有多个值时,加上"Ord=All”后可获取所有的数值

lr_paramarr_random() 直接从参数组获取一个随机的值

lr_paramarr_random("param_arry"):从参数数组param_arry中随机取一个值,注意param_arry不需要加{}
len = lr_paramarr_len("param_arry"):获取参数数组param_arry的长度,并保存到C语言的变量size
value = lr_paramarr_idx("param_arry",i):获取参数数组param_arry中第i个值,并保存到C语言的变量value里

二、检查点

web_find在HTML页内搜索指定的文本字符串,写在要查找内容之后

 web_find("web_find", //定义该查找函数的名称
        "RightOf=a", //定义查找字符的右边界
        "LeftOf=b", //定义查找字符的左边界
        "What=name", //定义查找内容
         LAST);

web_global_verification在所有后面的HTTP请求中搜索文本字符串

web_image_check验证指定的图像是否存在于HTML页内

web_reg_find 在后面的HTTP请求中注册对HTML源或原始缓冲区中文本字符串的搜索(在缓存中查找相应的内容),一定要写在请求之前(重点)

Insert-New Step 输入 web_reg_find

web_reg_find("Search=Body", //定义查找范围
        "SaveCount=ddd", //定义查找计数变量名称
        "Text=aaaa", //定义查找内容
        LAST);
三、事务
lr_start_transaction/标记事务的开始
lr_end_transaction/标记LoadRunner事务的结束
lr_start_sub_transaction/标记子事务的开始
lr_end_sub_transaction/标记子事务的结束以便进行性能分析
lr_get_transaction_duration/获取对应事务达到该函数运行位置时持续时间(按事务的名称)
lr_get_transaction_wasted_time/获取对应事务达到该函数运行位置时浪费的时间(按事务的名称)
lr_wasted_time/消除所有打开事务浪费的时间
lr_stop_transaction/将一个事务暂停,该函数后的操作都不会被记入事务时间
lr_resume_transaction/将暂停的事务恢复
四、操作函数(重点)
web_image在定义的图像上模拟鼠标单击
web_link在定义的文本链接上模拟鼠标单击
web_submit_data(); 提交表单的函数,一般录制时为post请求 (重点)
web_submit_form模拟表单的提交
web_url() get接口
web_custom_request():post接口,允许您使用HTTP支持的任何方法来创建自定义HTTP请求 (重点)
 
web_custom_request和web_submit_data区别
web_custom_request方法可以发送POST和GET类型的请求;
web_submit_data只能发送POST类型的请求;
所有web_submit_data方法发送的请求都可以使用web_custom_request来实现
web_custom_request可以实现web_submit_data无法实现的请求,比如“查询所有邮件并删除”这个案例中,查询时我们使用关联把所有邮件对应的标识抓取成一个数组
,如果使用web_submit_data来完成这个删除的请求,需要很多个web_submit_data请求才能完成,但使用web_custom_request就可以通过一个请求完成,方法是自己写代
码拼一个web_custom_request 方法POST请求的Body值
 
五、字符串函数
lr_eval_string/用参数的当前值替换参数
lr_save_string/将以NULL结尾的字符串保存到参数中
lr_save_var/将变长字符串保存到参数中
lr_save_datetime/将当前日期和时间保存到参数中
lr_advance_param/前进到下一个可用参数
lr_decrypt/解密已编码的字符串
lr_eval_string_ext/检索指向包含参数数据的缓冲区的指针
lr_eval_string_ext_free/释放由lr_eval_string_ext分配的指针
lr_save_searched_string/在缓冲区中搜索字符串实例,并相对于该字符串实例,该缓冲区的一部分保存到参数中
六、信息性函数
lr_user_data_point/记录用户定义的数据示例
lr_whoami/将有关Vuser脚本的信息返回给Vuser脚本
lr_get_host_name/返回执行Vuser脚本的主机名
lr_get_master_host_name/返回运行LoadRunnerController的计算机名
七、消息函数
lr_debug_message/将调试消息发送到输出窗口
lr_error_message/将错误消息发送到输出窗口
lr_get_debug_message/检索当前的消息类
lr_log_message/将输出消息直接发送到output.txt文件,此文件位于Vuser脚本目录中。该函数有助于防止输出消息干扰TCP/IP通信
lr_output_message("var"): 输出信息:参数可以是LR参数,c语言变量或者字符串
lr_set_debug_message/为输出消息设置消息类
lr_vuser_status_message/生成格式化输出并将其打印到ControllerVuser状态区域
lr_message/将消息发送到Vuser日志和输出窗口
八、缓存函数
web_cache_cleanup清除缓存模拟程序的内容
九、连接定义函数
web_disable_keep_alive禁用Keep-AliveHTTP连接
web_enable_keep_alive启用Keep-AliveHTTP连接
web_set_connections_limit设置Vuser在运行脚本时可以同时打开连接的最大数目
 

1,变量转参数/赋值 (重点)
lr_save_string("aaa","param"):将字符串“aaa”,另存为param。

2,取值 (重点)
lr_eval_string("{param}"):取出参数{param}中的值,可嵌套在其他函数里使用

3,编码转换函数(重点)
lr_convert_string_encoding(lr_eval_string("{msg}"),LR_ENC_UTF8,LR_ENC_SYSTEM_LOCALE,"afterEncodeMsg");
将LR中的参数{msg},从utf-8编码转换为system_local编码(LR本地编码),最后保存到LR的参数{afterEncodeMsg}中

4,日期(重点)

lr_save_datetime(const char * format,int offset,const char * name);

format:检索的日期/时间信息的格式。
offset:从当前日期和时间偏移,使用常量:DATE_NOW,TIME_NOW,ONE_DAY,ONE_HOUR,ONE_MIN。例如,TIME_NOW + ONE_HOUR
name:存储日期/时间信息的参数的名称

示例:检索两天后的日期。
lr_save_datetime("%Y-%m-%d",DATE_NOW+2*ONE_DAY,"endtime");
lr_output_message(lr_eval_string(“{endtime}”));
如果今天是2018-1-7,这些行将返回消息:2018-1-9

5,web_set_max_html_param_len("1024"):设置可检索并保存为参数的任何HTML字符串的最大长度

WebService接口
1,web_service_call,通过Loadrunner生成
2,lr_xml_get_values,获取服务器返回的xml中指定节点中的内容,并保存成一个参数
3,lr_xml_find,xml检查点,检查服务器返回的xml中有没有指定的内容,并将检查出的结果数量返回回来

Socket接口
1,lrs_create_socket("socket0", "TCP", "RemoteHost=127.0.0.1:8888", LrsLastArg),创建socket连接
2,lrs_send("socket0", "buf0", LrsLastArg),发送buf中的数据
3,lrs_receive("socket0", "buf1", LrsLastArg),接收服务器返回的数据,并保存到一个buf1中

4,lrs_save_param("socket0",NULL,"RecivedData",0,-1),获取服务器返回的数据,并保存到一个参数中RecivedData
5,lrs_save_searched_string("socket0",NULL,"RecivedData","LB/BIN=|","RB/BIN=|",1,0,-1),获取服务器返回的数据,并指定了左右边界
过滤出想要的数据,保存到一个参数中,最后三个参数分别为:取值序号、偏移量、保存长度(右边界不能和lenth同时存在;如果指定了右边界,取值长度必须是-1;如果不指定右边界,可以用NULL代替)

6,lrs_close_socket("socket0"),关闭链接
7,lr_get_vuser_ip,获取该虚拟用户的ip地址

posted @ 2018-06-07 15:25  被窝疯  阅读(518)  评论(0编辑  收藏  举报