LoadRunner中获取当前系统时间方法
方法一:使用loadrunner的参数化获取当前时间
使用lr的参数化,非常方便,对lr熟悉的各位朋友也能马上上手,时间格式也有很多,可以自由选择。
步骤:
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;
}
运行结果:参数化获得本地当前时间的结果是:2017-05-09 14:01:39.746
方法二:使用C语言日历函数获取当前系统时间
使用的time()和ctime()函数,得到日历格式的时间,2个函数使用都很方便。
函数出处:time.h
示例如下:
Action()
{
long t;
time(&t);//获取当前时间
lr_message(“直接获取当前时间的结果是:%s”,ctime(&t));
return 0;
}
运行结果:直接获取当前时间的结果是:Jul 04 14:01:39 201
b. 打开 Parameter Properties 对话框里选择适用于你接口要求格式的日期格式,记住,勾选上“Prior to current”,“Update value” 项选择 ‘Each occurrence’,这样每次执行到这个参数时,都会取当时最新的日期。
打开 Parameter Properties 对话框里选择适用于你接口要求格式的日期格式,记住,勾选上“Prior to current”,“Update value” 项选择 ‘Each occurrence’,这样每次执行到这个参数时,都会取当时最新的日期。
2、复杂一点的场景,比如问题中的查询区间,我们怎么去实现一天内的、一周内的、一个月内的查询条件,这里就要用到 LR 的自带函数:lr_save_datetime:
void lr_save_datetime(const char *format, int offset, const char *name);
lr_save_datetime 将当前日期和时间,或具有指定偏移的日期和时间保存在参数中
参数说明:
1、const char *format?格式化信息,同fopen、lr_message等相同;例如:“开始时间是 %s”
2、int offset?时间的偏移量:
DATE_NOW(现在的日期)
TIME_NOW(现在的时间)
ONE_DAY(一天的时间)
ONE_HOUR(一小时的时间)
ONE_MIN(一分钟的时间)
时间的偏移量可以使用公式,例如:DATE_NOW+ONE_DAY
这样,我们就可以取得昨天、明天的日期了
DATE_NOW-ONE_DAY(昨天)
DATE_NOW+ONE_DAY(明天)