|
完整代码:
实现功能:每个Vuser分别将自己从服务器得到的返回值保存到不同的文件中。
INIT段:
long file_stream; //句柄,用于操作文件,相当于C中的文件指针
char Str_result; //用于记录服务器返回的值,并纪录到文件中
long i=1; //全局循环变量
const j=1; //设置每隔多久记录一次返回结果
const logsta=1; //是否记录服务器返回的结果
char * nowtime,*filename,*ipaddr; //分别是纪录当前运行时间、保存返回结果的文件名、纪录虚拟IP
vuser_init()
{
filename =lr_eval_string("d:\\LOG\\IFace_{username}.txt");
//打开用来保存结果的文件
if ((file_stream = fopen(filename, "at")) == NULL ) //建立文件
{
lr_error_message("Cannot open %s", filename);
return -1;
}
web_add_auto_header("Accept-Encoding", "gzip, deflate");
web_add_auto_header("Accept-Language", "zh-cn");
web_add_auto_header("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; TencentTraveler 4.0; .NET CLR 1.1.4322; CIBA)");
lr_start_transaction("open");
web_url("Service.asmx",
"URL=http://192.168.2.7/AddrQuickMatchService/Service.asmx",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
LAST);
lr_end_transaction("open", LR_AUTO);
lr_think_time(5);
lr_start_transaction("click");
web_link("MatchAddr",
"Text=MatchAddr",
"Snapshot=t2.inf",
LAST);
lr_end_transaction("click", LR_AUTO);
return 0;
}
ACTION 段:
Action()
{
//获取服务器返回的结果
if ( i%j==0 && logsta) {
web_reg_save_param("Str_result",
"LB=<string>",
"RB=</string>",
LAST);
}
lr_rendezvous("start");
web_add_header("Accept-Encoding",
"gzip, deflate");
web_add_header("Accept-Language",
"zh-cn");
web_add_header("User-Agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; TencentTraveler 4.0; .NET CLR 1.1.4322; CIBA)");
lr_think_time(15);
lr_start_transaction("result");
web_submit_data("MatchAddr_2",
"Action=http://192.168.2.7/AddrQuickMatchService/Service.asmx/MatchAddr",
"Method=POST",
"RecContentType=text/xml",
"Referer=http://192.168.2.7/AddrQuickMatchService/Service.asmx?op=MatchAddr",
"Snapshot=t3.inf",
"Mode=HTML",
ITEMDATA,
"Name=sourceAddr", "Value={Addr1}", ENDITEM,
LAST);
lr_end_transaction("result", LR_AUTO);
//lr_rendezvous("wirte"); //设置集合点
//lr_output_message("123456789=%s",lr_eval_string("{Str_result}")); //调试用
if ( i%j==0 && logsta) {
ipaddr = lr_get_vuser_ip(); //获得当前Vuser使用的虚拟IP
if(ipaddr) //判断是否使用虚拟IP
fprintf(file_stream, "%s\r\n",lr_eval_string(ipaddr)); //将虚拟IP记录入文件
lr_save_datetime("%x__%X",DATE_NOW,"nowtime");
fprintf(file_stream, "%s\r\n",lr_eval_string("{nowtime}"));
fprintf(file_stream, "%s\r\n",lr_eval_string("{Str_result}"));//将服务器返回的结果记录入文件
fprintf(file_stream, "%u\r\n\n",i);
}
i++;
return 0;
}
END段:
vuser_end()
{
fclose(file_stream);
return 0;
} |
|