Time 如何在Loadrunner中以毫秒为单位获取当前时间?
我在Loadrunner中寻找Java的System.currentTimeMillis()的等价物。我只能找到lr_save_datetime(“%x%x”,0,“now”);它以日期和时间格式输出,但不输出自纪元以来的时间 在C语言中,time.h可以提供这一功能,但在LR脚本中包含“time.h”会导致编译错误。time.h可能依赖于其他.h和.inl文件Time 如何在Loadrunner中以毫秒为单位获取当前时间?,time,epoch,loadrunner,Time,Epoch,Loadrunner,我在Loadrunner中寻找Java的System.currentTimeMillis()的等价物。我只能找到lr_save_datetime(“%x%x”,0,“now”);它以日期和时间格式输出,但不输出自纪元以来的时间 在C语言中,time.h可以提供这一功能,但在LR脚本中包含“time.h”会导致编译错误。time.h可能依赖于其他.h和.inl文件 我得到#错误:仅支持Win32目标!尽管我已经复制了所有的文件,但都是从VisualStudioC++编译器文件夹中丢失的。(C:\P
我得到#错误:仅支持Win32目标!尽管我已经复制了所有的文件,但都是从VisualStudioC++编译器文件夹中丢失的。(C:\Program Files\Microsoft Visual Studio 9.0\VC\include\time.h)您可以使用“time()”函数输出自1970年1月1日以来的秒数,就像UNIX样式的格式一样:
long t; // create the variable
// output the seconds to the log
lr_output_message("seconds since 01/01/1970 : %d",
time(t) ); // populate the variable
// with the current seconds count
------------------------------------------------------------------
Output: Action.c(11): time : 1362080852
如果要查找当前毫秒,可以在LoadRunner中通过在“参数”列表中创建新的“日期/时间”参数并使用格式代码“%S.000”来获取。一旦安装到位,请这样称呼:
lr_eval_字符串({datetime_param_name})代码>
例如,如果在日期/时间参数格式字段中输入此项:
%H%M%S.000
。。。对于当前的小时、分钟、秒和毫秒,您将获得…
133808.132
由于某些原因,格式代码“%S.000”在日期/时间参数列表中有效,但不适用于lr_save_datetime()函数。如果在函数上使用相同的代码,则会得到以下结果:
133808
web\u save\u timestamp\u param();返回自历元以来的13位毫秒精度时间
LoadRunner未将Visual C/C++用于C运行时引擎。它使用轻量级跨平台C编译器LCC。因此,如果您需要使用其他库进行扩展,我建议使用LCC附带的库。有关LCC的更多信息,请参阅
在参数化下选择日期和时间参数类型,我们有很多格式。请检查一下……我希望它可以解决您的问题,而无需任何编码工作另一种方法是使用lr\u save\u timestamp以秒为单位获取时间戳–它比web\u save\u timestamp\u参数更强大
我的函数文档:
int lr_save_timestamp( const char* tmstampParam, [DIGITS,] LAST );
tmstampParam
用于存储时间戳的参数的名称
数字
可选。时间戳的位数(整数)。默认值为13(历元时间包括3位毫秒精度)
如果数字的值小于1或大于16,则使用默认值
在本例中,保存时间戳并指定10位的长度。以秒为单位返回历元时间
lr_save_timestamp(“param”, “DIGITS=10″, LAST );
您可以使用ftime实用程序功能。它接受指向timeb结构的指针,并用当前时间值填充其
timeb结构定义如下:
struct timeb {
time_t time; //seconds since epoch
unsigned short millis; //milliseconds since time field
short timezone;
short daytimesaveflag;
}
根据LR函数参考使用ftime函数,您需要定义timeb结构(不包括time.h)
struct timeb {
long time; //seconds since epoch
unsigned short millis; //milliseconds since time field
short timezone;
short daytimesaveflag;
} timestruct;
long millisSinceEpoch=0
ftime(×truct);
millisSinceEpoch=timestruct.time_t*1000+timestruct.millis;