LR工具在工作中常用函数总结
上一篇 / 下一篇 2011-06-30 12:51:19 / 个人分类:性能测试
事务函数:
lr_start_transaction();/标记事务的开始
lr_end_transaction();/*标记事务的结束,一般情况下,事务开始与结束联合使用*/
lr_get_transaction_think_time();/得到事务的指定思考时间,事务时间=整体事务时间-事务的
lr_stop_transaction();/停止事务
lr_end_sub_transaction/标记子事务的结束以便进行性能分析
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_instance/启动嵌套事务(由它的父事务的句柄指定)
lr_stop_transaction/停止事务数据的收集
lr_stop_transaction_instance/停止事务(由它的句柄指定)数据的收集
lr_wasted_time/消除所有打开事务浪费的时间
lr_end_sub_transaction/标记子事务的结束以便进行性能分析
lr_end_transaction/标记LoadRunner事务的结束
lr_end_transaction_instance/标记事务实例的结束以便进行性能分析
lr_fail_trans_with_error/将打开事务的状态设置为LR_FAIL并
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_vser_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_url();//根据函数中的URL属性加载对应的URL,不需要上下文。
Web_url(“在测试结果中显示的名称”,”URL=需要访问的超链接地址”,LAST)
Web_url()函数可以模拟用户请求,这是我们脚本中最常用的函数之一
"URL=http://127.0.0.1:1080/WebTours/login.pl?username=&password=&getInfo=true", /
"TargetFrame=body",
"Resource=0",
"RecContentType=text/html",
"Referer=http://127.0.0.1:1080/WebTours/home.html",
"Snapshot=t2.inf",
"Mode=HTML",
LAST); /说明这个函数的结束
web_image();//模拟鼠标在指定图片上的单击动作。此函数必须在有前置操作的上下文中使用。
Tips:在Toos—Recording Option,如果录制级别设为基于HMTL的录制方式时,web_image才会被录制到。
Web_link();//模拟鼠标在由若干个属性集合描述的链接上进行单击。此函数必须在前置动作的上下文中才可以执行。
Web_link(“在测试结果中显示的名称”,”Text=需要点击的超链接名”,LAST)
Web_link()函数用来模拟用户点击一个超链接的操作
web_link("sign up now", /在测试结果中显示的名称
"Text=sign up now", /需要点击的超链接名
"Snapshot=t2.inf", /操作后的内容会被抓图保存到t2.inf文件中
LAST);/说明这个函数的结束
web_submit_form ();//函数用来提交表单。此函数可能必须在前一个操作的上下文中执行。
web_submit_form()是作为用户行为模拟的函数,会自动检测在当前页面是不是存在form,然后将后面的itemdata数据对应传送
web_submit_form("login.pl",
"Snapshot=t2.inf",
ITEMDATA,
"Name=username", "Value=jojo", ENDITEM,
"Name=password", "Value=bean", ENDITEM,
"Name=login.x", "Value=0", ENDITEM,
"Name=login.y", "Value=0", ENDITEM,
LAST);
Tips:支持Web虚拟用户,不支持WAP虚拟用户。
web_submit_data();//函数处理无状态或者上下文无关的表单提交。它用来生成表单的GET或POST请求,这些请求与Form自动生成的请求是一样的。发送这些请求时不需要表单上下文。
web_submit_data()函数无需页面支持,直接发送给对应的页面相关数据,隐藏表单的数据也会被记录下来作为Itemdata数据提交给服务器
web_submit_data("login.pl",
"Action=http://127.0.0.1:1080/WebTours/login.pl", /
"Method=POST", /提交数据的方式
"TargetFrame=body",
"RecContentType=text/html",
"Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home",
"Snapshot=t2.inf",
"Mode=HTML",
ITEMDATA,
"Name=userSession", "Value=106174.10854597ftzVDDApHAiDDDDDDcHzHpQitcf", ENDITEM,
"Name=username", "Value=jojo", ENDITEM,
"Name=password", "Value=bean", ENDITEM,
"Name=JSFormSubmit", "Value=off", ENDITEM,
"Name=login.x", "Value=0", ENDITEM,
"Name=login.y", "Value=0", ENDITEM,
LAST);
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_add-filter();// 过滤函数,用于对指定的URL进行过滤,分析URL加载那部分对性能有影响。界面操作Run-time Settings 下的 Internet Protocol的Download Filters。
web_custom_request();// 自定义请求函数,可以编写自定义请求格式进行接口功能测试。
web_image_check();//检查指定的图象是否在HTML页面中出现,此函数仅仅支持基于HTML的脚本。
web_reg_add_cookie();//是注册类型的函数。它首先注册一个搜索文本字符串的请求。检查动作在后续的Action函数之后进行。如果字符串被找到,就添加到cookie中。
web_reg_find();//属于注册函数,注册一个在web页面中搜索文本字符串的请求,在接下来的Action(象web_url)类函数中执行搜索。
web_concurrent_start();//函数是并发组开始的标记。组中所有的函数是并发执行的。并发组的结束web_concurrent_end 函数。
Intweb_reg_save_param("参数名","LB=左边界","RB=右边界",LAST);/注册函数,在参数值出现的前面使用,注册成功时返回值为0,注册失败时返回值为1。左右边界需根据TreeView里相关步骤的SeverResponse代码来确定。用以上函数能获取第一个符合条件的数值。
web_reg_save_param("参数名”,"LB=左边界”,"RB=右边界","Ord=All",LAST);/关联函数,通过关联可以在测试中保持动态值,从服务器返回的数据库中查找需要关联的数据。当参数有多个值时,加上"Ord=All”后可获取所有的数值。注册成功后,{参数名_count}表示取得的数值个数,{参数名_1}为第一个数值,{参数名_2}为第二个数值。
lr_save_string(“字符串变量”,"参数名")/将字符变量里的值传递给指定参数。通过该函数来改变DataFile类型参数的数值。
lr_eval_string("{参数名}")/取得参数的数值。可取得已注册参数或DataFile类型参数的数值。eval就是evaluation(估价, 评价, 赋值)的缩写。
char*strcat(char*to,constchar*from);/将一字符串追加到另一字符串后面
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;
}
Output
TAG: