转从【51test】 LR获取当前时间
【原文网址 http://www.51testing.com/html/43/6343-15321.html】
方法一是使用lr的参数化,非常方便,对lr熟悉的各位朋友也能马上上手,时间格式也有很多,可以自由选择
方法二是使用的time()和ctime()函数,得到日历格式的时间,2个函数使用都很方便
方法三是使用C语言的tm结构,把时间分解成若干元素,这样如果我们只想得到星期、年份、当前秒等值就非常方便,因为上面2个方法如果想得到具体的元素是非常麻烦,可能需要自己写函数把需要的串抓出来
【其实也可以lr_save_datetime("Today is %B %d %Y", DATE_NOW, "cur_time"); 具体看lr_save_datetimne的example】
获取当前系统时间方法一
方法描述:使用loadrunner的参数化获取当前时间
步骤:
1、将复制给aa的值参数化
2、选中abc,使用右键选择"Replace with a parameter."
3、在弹出窗口内填写参数名称为:localtime_now
4、选择参数类型为Date/Time
5、在属性选项里,选择时间格式化选项(可以选择很多种)
6、关闭属性窗口,确认函数创建窗口,参数化完成
7、将参数化的内容赋值给字符指针aa,需要使用lr_eval_string()函数转换一下
示例如下:
===========================================
Action()
{
char *aa;
// aa = "abc"; //未参数前
// aa = "{localtime_now}";//参数化后
aa = lr_eval_string("{localtime_now}");//最终赋值语句
lr_message("参数化获得本地当前时间的结果是:%s",aa);
return 0;
}
运行结果:参数化获得本地当前时间的结果是:2007-07-04 14:01:39.746
===========================================
获取当前系统时间方法二
方法描述:使用C语言日历函数获取当前系统时间
函数出处:time.h
示例如下:
===========================================
Action()
{
long t;
time(&t);//获取当前时间
lr_message("直接获取当前时间的结果是:%s",ctime(&t));
return 0;
}
运行结果:直接获取当前时间的结果是:Wed Jul 04 14:01:39 2007
===========================================
获取当前系统时间方法三
方法描述:使用tm结构获得组成分解的当前系统时间;
ANSI C标准:tm表示的结构为时间分解结构(就是把时间分解为表示时间的各个组成)
结构出处:time.h
注意:tm结构的名字"tm"不可修改;结构中的9项顺序不可更改;
示例如下:
===========================================
/*
标准库:time.h
ANSI C标准:tm表示的结构为时间分解结构(就是把时间分解为表示时间的各个组成)
*/
struct tm {
int second; //取得当前秒数(在分钟后);取值区间为[0,59]
int minute; //取得当前分钟数(在小时后);取值区间为[0,59]
int hour; //取得当前小时数(从凌晨0点开始);取值区间为[0,23]
int day; //取得当前天数(从上月结束开始);取值区间为[1,31]
int month; //取得当前月份数(从1月开始);取值区间为[0,11]
int year; //取得当前年份数(从1900年开始)
int weekday; //取得当前日期数(为了获取星期几,从上个星期日开始);取值区间为[0,6]
int yearday; //取得当前年份天数(从1月1日开始);取值区间为[0,365]
int daylight; //取得当前夏令时标识符,实行夏令时的时候,daylight取得一个正数
//不实行夏令时的进候,daylight为0;
//不了解情况时,daylight为负数
};
Action()
{
long timenow;//定义保存时间的变量
struct tm *now;//定义结构指针
int a,b,c,d;//非别存储小时、分钟、秒、星期
char *week;
time(&timenow);//获取当前时间
now = (struct tm *)localtime(&timenow);//把当前时间的结构指针赋值给now
a = now->hour;//获取hour值
b = now->minute;//获取minute值
c = now->second;//获取second值
d = now->weekday;//获取week值
switch(d)//判断得到中文的星期
{
case 1:week ="星期一";//如果d=1,那么就是星期一,以下类似
break;
case 2:week ="星期二";
break;
case 3:week ="星期三";
break;
case 4:week ="星期四";
break;
case 5:week ="星期五";
break;
case 6:week ="星期六";
break;
case 0:week ="星期日";
break;
};
lr_message ("使用结构获取的当前时间为:%d:%d:%d,%s",a,b,c,week);
return 0;
}
运行结果:使用结构获取的当前时间为:14:1:40,星期三
===========================================