脚本信息函数在实际中用的不是特别多,下面简单介绍几个常见函数的用法。
lr_whoami用来返回Vuser的ID、组名称、场景ID信息。例1-64的程序演示了lr_whoami函数的用法:首先定义两个整型变量id与scid、一个字符指针vuser_group,然后将这三个变量的地址作为参数传给lr_whoami函数。lr_whoami函数执行完成后这三个变量就会获得对应的内容。注意参数传递顺序应该是Vuser的ID、组名称、场景ID。
例1-64
int id, scid;
char *vuser_group;
lr_whoami(&id, &vuser_group, &scid);
lr_errror_message( "Group: %s, vuser id: %d, scenario id %d", vuser_group, id, scid);
l lr_get_host_name与lr_get_master_host_name
lr_get_host_name函数返回运行脚本的Generator的主机名称,用法如例1-65所示:
例1-65
char * my_host;
my_host = lr_get_host_name( );
lr_output_message("my_host :%s", my_host);
lr_get_master_host_name函数返回当前运行Controller的主机名称,用法如例1-66所示:
例1-66
char * controller_host;
controller_host = lr_get_master_host_name( );
lr_output_message("controller_host :%s", controller_host);
当开启IP spoofing功能后,每个Vuser可以使用不同的IP(假设Generator上IP数量大于等于当前运行的Vuser数量)来对目标服务器加压。这时可以用lr_get_vuser_ip函数来返回当前Vuser的IP。如果未开启IP spoofing功能,则脚本运行时lr_get_vuser_ip将会返回(null),而每个Generator上运行的Vuser将会使用同一个IP来对目标服务器加压。
注意:在VuGen中运行脚本时,lr_get_vuser_ip将会返回(null)。
lr_get_vuser_ip的用法如例1-67所示:
例1-67
char *ip;
ip = lr_get_vuser_ip();
if (ip)
lr_output_message("The IP address is %s", ip);
else
lr_output_message("IP spoofing disabled");
lr_start_timer 与lr_end_timer两个函数需要组合在一起使用:前者用来启动一个计时器,同时返回计时器的句柄;后者用来使指定的计时器停止计时,并返回计时结果。计时单位为秒,计时结果可以精确到小数点后6位。
两个函数的语法结构如下:
merc_timer_handle_t lr_start_timer ();
double lr_end_timer (merc_timer_handle_t timer);
例1-68演示了两个函数的用法:首先定义了双精度的变量time_elapsed,用来保存计时结果;然后定义了merc_timer_handle_t类型的句柄timer,用来表示指向lr_start_timer()返回的计时器;接下来执行搜索操作,最后将会输出lr_start_timer与lr_end_timer之间代码即文本检查点函数web_find的执行时间time_elapsed。
例1-68
Action()
{
double time_elapsed;
merc_timer_handle_t timer;
web_url("s",
"URL=http://www.baidu.cn/s?wd=LoadRunner",
"Resource=0",
"RecContentType=text/html",
"Referer=http://www.baidu.cn/",
"Snapshot=t2.inf",
"Mode=HTML",
EXTRARES,
"Url=http://s.baidu.com/w.gif?"
"path=http://www.baidu.cn/s?wd=LoadRunner&t=1220948145240",
"Referer=http://www.baidu.cn/s?wd=LoadRunner", ENDITEM,
LAST);
timer = lr_start_timer();
web_find("web_find",
"What=用时",
LAST);
time_elapsed = lr_end_timer(timer);
lr_error_message("Find Time= %f",time_elapsed);
return 0;
}
在脚本的Run-time Settings中,可以设置在脚本运行过程中发生错误的处理方式。进入到Run-time Settings中,切换到Miscellaneous标签页,可以看到Error Handing的第一个设置项:Contin...
参数取值作为性能测试人员必须掌握透,但实际中深究者很少,我在面试过程中多数人都不清楚。本文将把这个话题讲透彻,分享给大家。 很多测试工程师尽管能够使用File类型参数,但往往不知道在Controller中各个Vuser的具体取值过程。但...
了解智能一体化测试平台 智能一体化测试平台是为支持智能一体化测试理论而开发的平台,这个平台主要面向后台系统的服务/接口测试。借助这个平台,开发测试人员进行服务/接口测试时可以将工作重心集中在测试案例设计与管理上,测试执行与分析主要交...
读者评论