在本次的性能测试过程上,主要针对日期进行性能测试;
1、需求
根据不同的日期进行查询,如前两天的数据,后两天的数据;
2、问题
在录制或编写时日期查询条件为当天,但如果一个月后再运行该脚本,则必须进行参数化,这样做太麻烦了;
3、解决思路:
定义变量名,利用lr_save_datetime函数进行日期换算;
4、脚本
Action()
{
char * Script="定义脚本名";
char * name="Fiy";
long timenow;
double trans_time;
char * DayTime;
lr_save_datetime("%Y-%m-%d", DATE_NOW - ONE_DAY - ONE_DAY, "DayTime"); //当前日期的前两天,注意"%Y-%m-%d,自已可以定义,该实例效果为2011-10-11。默认的不是这种格式;其中 m的大小写需注意
m指:月 M指:分
lr_output_message(lr_eval_string("{DayTime}"));
lr_think_time(2);
lr_start_transaction("事务名");
web_submit_form("—————————————.aspx_2",
"Snapshot=t18.inf",
ITEMDATA,
"Name=txtOrderId", "Value=", ENDITEM,
"Name=txtPnr", "Value=", ENDITEM,
"Name=txtStartTime", "Value={DayTime}", ENDITEM, //开始查询日期 ,在这里进行变量参数化;
"Name=txtEndTime", "Value={Time}", ENDITEM, //结束查询日期,默认为当前日期(可在参数化视图进Date/Time);
"Name=txtPassenger", "Value=", ENDITEM,
"Name=txtSaler", "Value=", ENDITEM,
"Name=txtBuyer", "Value=", ENDITEM,
"Name=Drop_policyType", "Value=", ENDITEM,
"Name=Drop_airCompany", "Value=", ENDITEM,
"Name=chkRefresh", "Value=<OFF>", ENDITEM,
"Name=btnQuery", "Value= 查 询 ", ENDITEM,
EXTRARES,
"Url=../images/level2_list_tit_bg.jpg", ENDITEM,
LAST);
trans_time=lr_get_transaction_duration("zanbunengchupiaodingdanliebiao");
time(&timenow);
if(trans_time>8)
{
lr_end_transaction("zanbunengchupiaodingdanliebiao",LR_FAIL);
lr_error_message("Time Out: %f",trans_time);
lr_output_message("当前运行时间为:%s",ctime(&timenow));
}
else
{
lr_end_transaction("zanbunengchupiaodingdanliebiao",LR_PASS);
lr_output_message("脚本作者:%s",name);
lr_output_message("当前运行时间为:%s",ctime(&timenow));
}
}