LR常用函数总结

事务函数:

 lr_start_transaction();//标记事务的开始

 lr_start_transaction();/*标记事务的结束,一般情况下,事务开始与结束联合使用*/

 lr_get_trans_instance_status();//得到事务的状态

 lr_get_transaction_think_time();//得到事务的指定思考时间,事务时间=整体事务时间-事务的

 lr_stop_transaction();//停止事务

日志函数:

 lr_debug_message();//发送调试信息到日志文件

 lr_error_message();//发送错误信息到LR输入窗口或日志文件里

 lr_get_debug_message();//返回当前调试的信息

 lr_log_message();//发送信息到用户日志文件

 lr_output_message();//发送信息到输出窗口或日志文件

 lr_vuser_status_message();//发送虚拟用户的状态到LR的Controller

运行时函数:

  lr_abort();//终止执行的脚本

  lr_continue_on_error();//当发生错误后运行的事件

  lr_exit();//从scirpt.ation.iteration中退出

  lr_rendezvous_ex();//设置集合点

  lr_think_time();//设置思考时间,在性能测试中为了更好模拟以后操作,可以根据实际生产环境设置思考时间。

  lr_rendezous();//集合点,可以设置虚拟用户相同操作之前进行集合,通过集合点可以增加被测试应用的压力,从而达到压力测试的目的。

  lr_load_dll();//调用DLL文件

 例子:

 lr_load_dll("user32.dll");

 MessageBoxA(NULL,"This is Testing Message","message_caption",0);

 return 0;

系统信息函数:

 lr_get_master_host_name();//返回运行Controller主机的名称

 lr_get_user_ip();//返回虚拟用户的IP地址

 lr_user_data_point();//录制用户自定义的数据样例

 lr_user_data_point();// 记录自己的数据来进行分析,每次要记录一个点时,请使用该函数记录采样名称和值。系统将自动记录采样的时间。执行之后,可以使用用户等义的数据,点击图形分析结果

  lr_get_host_name();//返回主机名

    例子;

char * host;

 host=lr_get_host_name();

 lr_output_message("Computer Name %s",host);

 return 0;

WEB应用中常见函数

web_url();//根据函数中的URL属性加载对应的URL,不需要上下文。

web_image();//模拟鼠标在指定图片上的单击动作。此函数必须在有前置操作的上下文中使用。

 Tips:在Toos—Recording Option,如果录制级别设为基于HMTL的录制方式时,web_image才会被录制到。

Web_link();//模拟鼠标在由若干个属性集合描述的链接上进行单击。此函数必须在前置动作的上下文中才可以执行。

web_submit_form ();//函数用来提交表单。此函数可能必须在前一个操作的上下文中执行。

Tips:支持Web虚拟用户,不支持WAP虚拟用户。

web_submit_data();//函数处理无状态或者上下文无关的表单提交。它用来生成表单的GET或POST请求,这些请求与Form自动生成的请求是一样的。发送这些请求时不需要表单上下文。

web_find();//此函数的作用是在HTML页面中查找指定的字符串。当指定的HTML请求全部完成以后,开始执行搜索过程,比web_reg_find要慢。

web_find函数在C语言的脚本中已经被web_reg_find所替代,web_reg_find运行速度比较快,而且在HTML-based和URL-based的录制方式中都可以使用。 在C语言脚本中,web_find是向后兼容的。Java和Visual Basic脚本中不再支持它。

web_image_check();//检查指定的图象是否在HTML页面中出现,此函数仅仅支持基于HTML的脚本。

web_reg_add_cookie();//是注册类型的函数。它首先注册一个搜索文本字符串的请求。检查动作在后续的Action函数之后进行。如果字符串被找到,就添加到cookie中。

web_reg_find();//属于注册函数,注册一个在web页面中搜索文本字符串的请求,在接下来的Action(象web_url)类函数中执行搜索。

web_concurrent_start();//函数是并发组开始的标记。组中所有的函数是并发执行的。并发组的结束web_concurrent_end 函数。

web_reg_save_param();//关联函数,通过关联可以在测试中保持动态值,从服务器返回的数据库中查找需要关联的数据。

web_add-filter();// 过滤函数,用于对指定的URL进行过滤,分析URL加载那部分对性能有影响。界面操作Run-time Settings 下的 Internet Protocol的Download Filters。

web_custom_request();// 自定义请求函数,可以编写自定义请求格式进行接口功能测试。

FTP /IMAP方面:

 ftp_logon_ex();//针对特定会话登录到FTP服务器。

 ftp_put_ex();//在FTP服务器上设置工作目录及上传文件。

 ftp_logout_ex();//注销当前FTP连接。

 imap_create();//创建新的邮件。

 imap_check();//邮件中请求检查点,实现并适用与邮箱内部的内务管理。

 Tips:针对IMAP的测试,把函数中的ftp替换成imap即可。

 其它常用函数:

    Lr_decrypt():LR中的解密函数

       实例代码: lr_output_message("解密函数测试,解密后数值:%s",lr_decrypt("4e0942869c958e3e"));

   Getenv():得到定义的环境变量值

       实例代码:   

    char *tmp,logfile[256],dlr_seperator;

logfile;

//Create an environment variable

putenv("LOGFILE_NAME=lr_xiaolintest.txt");

//

if(tmp = (char*)getenv("TEMP"))

lr_output_message("Temp Dir = %s",tmp);

else{

lr_output_message("TEMP environment variable undefined");

    return -1;

}

sprintf(logfile,"%s\\%s",tmp,(char*)getenv("LOGFILE_NAME"));

   System():执行操作系统的命令

     char filename[1024],command[1024];

     char new_dir[] = "c:\\test";

     //Create a directory udder root called test and make it the current dir

     if(mkdir(new_dir))

         lr_output_message("Create directory :%s failed",new_dir);

     else

         lr_output_message("Create new directory %s",new_dir);

      sprintf(filename,"%s\\%s",new_dir,"xialin.txt");

     //Executr a dir /b command and directory it to a new_file

      sprintf(command,"dir /b c:\\ > %s /w",filename);

      system(command)

 lr_output_message("Create new file %s",filename);

   Rand():得到一个整型的随机值(0到32767)

     srand(time(NULL));

//Generate a random number from 0-99

lr_output_message("A number between 0 and 99 is :%d\n",rand()%100);

return 0;

   Getdrive()and mkdir():返回当前驱动盘的名字。

int ch,drive,curdrive;

static char path[1024];

//Save current drive letter so it can be restored later

curdrive = getdrive();

//If we can switch to the drive,it exists

lr_output_message("Available drives are:");

for(drive = 1;drive <= 26;drive++)

if (!chdrive(drive))

lr_output_message("%c:",drive + 'A' -1);

chdrive(curdrive);//Restore original drive

return 0;

   Time():返回系统的时间

typedef long time_t;

time_t t;

//Get system time and display as number and string

lr_message("Time in seconds since 1/1/88: %ld\n",time(&t));

lr_message("Formatted time and date: %s",ctime(&t));

return 0;

   

1.      Intweb_reg_save_param("参数名","LB=左边界","RB=右边界",LAST);/注册函数,在参数值出现的前面使用,注册成功时返回值为0,注册失败时返回值为1。左右边界需根据TreeView里相关步骤的SeverResponse代码来确定。用以上函数能获取第一个符合条件的数值。

 2.         web_reg_save_param("参数名”,"LB=左边界”,"RB=右边界","Ord=All",LAST);/当参数有多个值时,加上"Ord=All”后可获取所有的数值。注册成功后,{参数名_count}表示取得的数值个数,{参数名_1}为第一个数值,{参数名_2}为第二个数值。

 3.         lr_save_string(“字符串变量”,"参数名")/将字符变量里的值传递给指定参数。通过该函数来改变DataFile类型参数的数值。

 4.         lr_eval_string("{参数名}")/取得参数的数值。可取得已注册参数或DataFile类型参数的数值。eval就是evaluation(估价评价赋值)的缩写。

 5.         int sprintf(char * string , const char*format_string[,args]);/字符串赋值函数

 

Action()

 {

 int index=56;

 charfilename[64],*suffix="txt";

 sprintf(filename,"log_%d.%s",index,suffix);

 lr_output_message("Thenewfilenameis%s",filename);

 return 0;

 }

 OutputThenewfilenameislog_56.txt

 6.         char*strcat(char*to,constchar*from);/将一字符串追加到另一字符串后面

 7.         web_find("find_time","What=2006-03-0118:21:16.882",LAST);/增加检查点,检查“2006-03-0118:21:16.882”这个字符串是否出现在当前页面上。find_time为自己任意输入的检查点名称。

 8.       事务函数

 lr_end_sub_transaction/标记子事务的结束以便进行性能分析

 lr_end_transaction/标记LoadRunner事务的结束

 lr_end_transaction_instance/标记事务实例的结束以便进行性能分析

 lr_fail_trans_with_error/将打开事务的状态设置为LR_FAIL并发送错误消息

 lr_get_trans_instance_duration/获取事务实例的持续时间(由它的句柄指定)

 lr_get_trans_instance_wasted_time/获取事务实例浪费的时间(由它的句柄指定)

 lr_get_transaction_duration/获取事务的持续时间(按事务的名称)

 lr_get_transaction_think_time/获取事务的思考时间(按事务的名称)

 lr_get_transaction_wasted_time/获取事务浪费的时间(按事务的名称)

 lr_resume_transaction/继续收集事务数据以便进行性能分析

 lr_resume_transaction_instance/继续收集事务实例数据以便进行性能分析

 lr_set_transaction_instance_status/设置事务实例的状态

 lr_set_transaction_status/设置打开事务的状态

 lr_set_transaction_status_by_name/设置事务的状态

 lr_start_sub_transaction/标记子事务的开始

 lr_start_transaction/标记事务的开始

 lr_start_transaction_instance/启动嵌套事务(由它的父事务的句柄指定)

 lr_stop_transaction/停止事务数据的收集

 lr_stop_transaction_instance/停止事务(由它的句柄指定)数据的收集

 lr_wasted_time/消除所有打开事务浪费的时间

 lr_end_sub_transaction/标记子事务的结束以便进行性能分析

 r_end_transaction/标记LoadRunner事务的结束

 lr_end_transaction_instance/标记事务实例的结束以便进行性能分析

 lr_fail_trans_with_error/将打开事务的状态设置为LR_FAIL并

9.      命令行分析函数

 lr_get_attrib_double/检索脚本命令行中使用的double类型变量

 lr_get_attrib_long/检索脚本命令行中使用的long类型变量

 lr_get_attrib_string/检索脚本命令行中使用的字符串

 10.  信息性函数

 lr_user_data_point/记录用户定义的数据示例

 lr_whoami/将有关Vuser脚本的信息返回给Vuser脚本

 lr_get_host_name/返回执行Vuser脚本的主机名

 lr_get_master_host_name/返回运行LoadRunnerController的计算机名

 11.  字符串函数

 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/在缓冲区中搜索字符串实例,并相对于该字符串实例,该缓冲区的一部分保存到参数中

 12.  消息函数

 lr_debug_message/将调试消息发送到输出窗口

 lr_error_message/将错误消息发送到输出窗口

 lr_get_debug_message/检索当前的消息类

 lr_log_message/将输出消息直接发送到output.txt文件,此文件位于Vuser脚本目录中。该函数有助于防止输出消息干扰TCP/IP通信。

 lr_output_message/将消息发送到输出窗口

 lr_set_debug_message/为输出消息设置消息类

 lr_vuser_status_message/生成格式化输出并将其打印到ControllerVuser状态区域。

 lr_message/将消息发送到Vuser日志和输出窗口

 13.  操作函数

 web_custom_request允许您使用HTTP支持的任何方法来创建自定义HTTP请求

web_image在定义的图像上模拟鼠标单击
web_link在定义的文本链接上模拟鼠标单击
web_submit_data执行“无条件”或“无上下文”的表单
web_submit_form模拟表单的提交
web_url加载由“URL”属性指定的URL

 14.  身份验证函数

 身份验证函数web_set_certificate使Vuser使用在InternetExplorer注册表中列出的特定证书

身份验证函数web_set_certificate_ex指定证书和密钥文件的位置和格式信息
身份验证函数web_set_user指定Web服务器的登录字符串和密码,用于Web服务器上已验证用户身份的区域

 15.  缓存函数

 缓存函数web_cache_cleanup清除缓存模拟程序的内容

 16.  检查函数

 检查函数web_find在HTML页内搜索指定的文本字符串

检查函数web_global_verification在所有后面的HTTP请求中搜索文本字符串
检查函数web_image_check验证指定的图像是否存在于HTML页内
检查函数web_reg_find在后面的HTTP请求中注册对HTML源或原始缓冲区中文本字符串的搜索

 17.  连接定义函数

 连接定义函数web_disable_keep_alive禁用Keep-AliveHTTP连接

连接定义函数web_enable_keep_alive启用Keep-AliveHTTP连接
连接定义函数web_set_connections_limit设置Vuser在运行脚本时可以同时打开连接的最大数目

 18.  并发组

 web_concurrent_end标记并发组的结束

web_concurrent_start标记并发组的开始

 19.  cook函数

 web_add_cookie添加新的Cookie或修改现有的Cookie

web_cleanup_cookies删除当前由Vuser存储的所有Cookie
web_remove_cookie删除指定的Cookie

 20.  关联函数

 web_create_html_param将HTML页上的动态信息保存到参数中。(LR6.5及更低版本)

web_create_html_param_ex基于包含在HTML页内的动态信息创建参数(使用嵌入边界)(LR6.5及更低版本)。
关联函数web_reg_save_param基于包含在HTML页内的动态信息创建参数(不使用嵌入边界)
关联函数web_set_max_html_param_len设置已检索的动态HTML信息的最大长度

 21.  筛选器函数

 web_add_filter设置在下载时包括或排除URL的条件

web_add_auto_filter设置在下载时包括或排除URL的条件
web_remove_auto_filter禁用对下载内容的筛选

 22.  标头函数

 web_add_auto_header向所有后面的HTTP请求中添加自定义标头

web_add_header向下一个HTTP请求中添加自定义标头
web_cleanup_auto_headers停止向后面的HTTP请求中添加自定义标头
web_remove_auto_header停止向后面的HTTP请求中添加特定的标头381页
web_revert_auto_header停止向后面的HTTP请求中添加特定的标头,但是生成隐性web_save_header将请求和响应标头保存到变量中
代理服务器函数web_set_proxy指定将所有后面的HTTP请求定向到指定的代理服务器
代理服务器函数web_set_proxy_bypass指定Vuser直接访问(即不通过指定的代理服务器访问)的服务器列表
代理服务器函数web_set_proxy_bypass_local指定Vuser对于本地(Intranet)地址是否应该避开代理服务器
代理服务器函数web_set_secure_proxy指定将所有后面的HTTP请求定向到服务器
重播函数web_set_max_retries设置操作步骤的最大重试次数
重播函数web_set_timeout指定Vuser等待执行指定任务的最长时间
其他函数web_convert_param将HTML参数转换成URL或纯文本
其他函数web_get_int_property返回有关上一个HTTP请求的特定信息
其他函数web_report_data_point指定数据点并将其添加到测试结果中
其他函数web_set_option在非HTML资源的编码、重定向和下载区域中设置Web选项
其他函数web_set_sockets_option设置套接字的选项

posted on 2022-09-22 14:28  胖妞的瘦猴  阅读(389)  评论(0编辑  收藏  举报