关注于测试自动化和测试管理,我是一个永远的测试新手。

Loadrunner 获取当前系统时间

上一篇 / 下一篇  2007-07-04 15:02:48

51Testing软件测试网 yzW,i.Ed i

今天有个朋友问我lr怎么获取当前系统时间,正好最近几天学习过,就写了几个例子给大家。51Testing软件测试网v-@(^/m Zj!y

\[#RN(KA$dgBfX0 51Testing软件测试网2?&k4j4F&z~$v7d~

(S:c)a'O.\ c Be0本人在51testing所有文章全部为原创转载请注明出处!!!

;s.I j0d'JuF{051Testing软件测试网#p [(r%o7NW:kdH

 51Testing软件测试网&CPV8d8fL%u E

51Testing软件测试网*@ { xAO5Q?

文章概述51Testing软件测试网_6F[k4D+r1Q

+W~5`C8Y)uz0方法一是使用lr的参数化,非常方便,对lr熟悉的各位朋友也能马上上手,时间格式也有很多,可以自由选择51Testing软件测试网%~di-zGP8N

51Testing软件测试网%S2?"wFA'l

方法二是使用的time()和ctime()函数,得到日历格式的时间,2个函数使用都很方便51Testing软件测试网vT*}H NR

$|~ja2a+Bq)^.z q0方法三是使用C语言的tm结构,把时间分解成若干元素,这样如果我们只想得到星期、年份、当前秒等值就非常方便,因为上面2个方法如果想得到具体的元素是非常麻烦,可能需要自己写函数把需要的串抓出来51Testing软件测试网:v x#KwT ?2`&sd

51Testing软件测试网9a3or#[pg

 

&?J~lRzx;x0

[8~2NhlC8b.L0获取当前系统时间方法一

7\!z.Bmr051Testing软件测试网 u cB3C)])[v$]

方法描述:使用loadrunner的参数化获取当前时间51Testing软件测试网f/`5l3dSH9i y4`3F

51Testing软件测试网%jP m&z2Sd*w8b/}

步骤:

9UYl@8NYc#l051Testing软件测试网g(V:}G:Yf\-Wt

1、将复制给aa的值参数化
.V-[W*y&Vkg` ]P02、选中abc,使用右键选择"Replace with a parameter."
`Aw,OI$M g03、在弹出窗口内填写参数名称为:localtime_now
%P^:QG3@+dka04、选择参数类型为Date/Time51Testing软件测试网yQAN!E:g\9]B
5、在属性选项里,选择时间格式化选项(可以选择很多种)
;e$`4] uA06、关闭属性窗口,确认函数创建窗口,参数化完成51Testing软件测试网HB T H)Q4@5S G3y
7、将参数化的内容赋值给字符指针aa,需要使用lr_eval_string()函数转换一下

Jc%tx.Xq:Q051Testing软件测试网-d`fc+Z;O@+c"x.B@{

示例如下:

+q9f\(_v wwM0f[051Testing软件测试网Xvs8v Uz+sB

===========================================

,l[(?"mC|0

!rW8C0W*[W9S0Action()
2Q1Yw4T}nD0{51Testing软件测试网#w%s7R#r D n
   char *aa;51Testing软件测试网LD+ZWzs
// aa = "abc"; //未参数前51Testing软件测试网,r$]O+rdv[#U q
// aa = "{localtime_now}";//参数化后
5k UMO%ka+]T4P0   aa = lr_eval_string("{localtime_now}");//最终赋值语句51Testing软件测试网e(E!k|8f(A7u3nk
   lr_message("参数化获得本地当前时间的结果是:%s",aa);51Testing软件测试网7D^2j%RC
   return 0;51Testing软件测试网4[1ph1TLZG
}

Cx5gN#nmnY,t051Testing软件测试网6qf,m](s!z!tV

运行结果:参数化获得本地当前时间的结果是:2007-07-04 14:01:39.746

][w5y;|wt'vM!z*XR0

/@cA%`z%{(M XK'Kna0===========================================51Testing软件测试网Y;CS3B+z5i

YF,wxX8\G0 

c.LC4Wf&j051Testing软件测试网'},R/K Z(du\6G

获取当前系统时间方法二

6`"L.`/Q-BY3}8M7o0

+lbGJ ]1~~0方法描述:使用C语言日历函数获取当前系统时间

*Bp,eKR:kN&V5V6I~[/`0

'z J*Ve;r.J^0函数出处:time.h51Testing软件测试网 loM#i;R km4{T8\+?

51Testing软件测试网_0[!\;ge*lv(k

示例如下:51Testing软件测试网q4lg{H4T%k E

51Testing软件测试网2A6od T\]

===========================================51Testing软件测试网y5ox z6dG8e(B P

j;H!b4Q'[~ S0Action()51Testing软件测试网R p/G g K|
{51Testing软件测试网'r/N:?|g^$Q|U
    long t;
bJhfS0uf(@0    time(&t);//获取当前时间
2x;~(^dp,zs0    lr_message("直接获取当前时间的结果是:%s",ctime(&t));51Testing软件测试网A!I$X8fh%G#?
    return 0;
SXux'lhp0}

hm-a6N.a9}051Testing软件测试网p-RkIviD9Lh

运行结果:直接获取当前时间的结果是:Wed Jul 04 14:01:39 200751Testing软件测试网@5I*DH&E

51Testing软件测试网"n9O3A [k Jj

===========================================51Testing软件测试网qnOTIw

51Testing软件测试网'V(U&w/] C"?'je

 

*\oY*k/JZ5[051Testing软件测试网H}w-[A5Bj0A6X

获取当前系统时间方法三51Testing软件测试网@G2?"~2fg\

8iu`&@ S`} J#`u0方法描述:使用tm结构获得组成分解的当前系统时间;51Testing软件测试网g$VZ'A)l#Hl

51Testing软件测试网@ {A;U"jbF-_#Jo

         ANSI C标准:tm表示的结构为时间分解结构(就是把时间分解为表示时间的各个组成)51Testing软件测试网 j\0o"?9h~Wyank

+j,Z sG,rU0结构出处:time.h51Testing软件测试网_.W4i,v:n.x

5k%`g5|I&Z {\0注意:tm结构的名字"tm"不可修改;结构中的9项顺序不可更改;51Testing软件测试网'~g+gt Ml k4j5o

-k%{.}!Du9Ui0示例如下:51Testing软件测试网#fSPP K7w [c

S[~c5I0===========================================

G[z,m;y4J p P051Testing软件测试网VtDjQ!j3K"?i

/*
Phz'nG K]0标准库:time.h
%_i#?d4f0ANSI C标准:tm表示的结构为时间分解结构(就是把时间分解为表示时间的各个组成)

#^{ yX R(yS0

@I5zK-m*L-i3vY ^:}0*/51Testing软件测试网E%BvwJg-s `

uh h1v'w C0struct tm {

-n7O]!I|-d051Testing软件测试网P8N@$H;s

       int second;   //取得当前秒数(在分钟后);取值区间为[0,59]51Testing软件测试网8y&U+EDP+d?-Q*dXF
       int minute;   //取得当前分钟数(在小时后);取值区间为[0,59]51Testing软件测试网 ],j'm)Xo+`
       int hour;  //取得当前小时数(从凌晨0点开始);取值区间为[0,23]
]@8ZT@b9q U0       int day;      //取得当前天数(从上月结束开始);取值区间为[1,31]
;_J,iN K9t&|RX0       int month;   //取得当前月份数(从1月开始);取值区间为[0,11]51Testing软件测试网h'WBH&T^@ Z!M
       int year;   //取得当前年份数(从1900年开始)51Testing软件测试网G,T%p;q8fy
       int weekday;  //取得当前日期数(为了获取星期几,从上个星期日开始);取值区间为[0,6]51Testing软件测试网 X!Qj)N#R"y7J6_ u;In
       int yearday;  //取得当前年份天数(从1月1日开始);取值区间为[0,365]
TKw.~V u0       int daylight; //取得当前夏令时标识符,实行夏令时的时候,daylight取得一个正数
,S"]v t-LLZP0      //不实行夏令时的进候,daylight为0;
c2s Sc Fdj|0      //不了解情况时,daylight为负数
~*N$S3_lg8X_xg0};

$de,I)DO|Y B0R051Testing软件测试网Mva ['Onyq


k#Q{!^+B$yK#A0Action()
kF5ZY\fg0{
Q4R&oC{0     long timenow;//定义保存时间的变量
3CsD2Z8w5M x0     struct tm *now;//定义结构指针51Testing软件测试网0ACO.E+}Q
     int a,b,c,d;//非别存储小时、分钟、秒、星期51Testing软件测试网!AsH%b3BPIP2j
     char *week;51Testing软件测试网%lD Kaf;KSt
     time(&timenow);//获取当前时间51Testing软件测试网.BV2k6q_pp5x
     now = (struct tm *)localtime(&timenow);//把当前时间的结构指针赋值给now
*jib6R~*e#b%gT0     a = now->hour;//获取hour值51Testing软件测试网!E }_!U4K
     b = now->minute;//获取minute值
9Al;Zyp@3d/p#\O:|0     c = now->second;//获取second值
%_c'mH)HV!bT#j0     d = now->weekday;//获取week值51Testing软件测试网6L,Q;yS0t.UrW

)eWcy+d6z0     switch(d)//判断得到中文的星期51Testing软件测试网5[AC/PE&bE(y c
     {51Testing软件测试网Vw'h9GE5q Y
       case 1:week ="星期一";//如果d=1,那么就是星期一,以下类似51Testing软件测试网An,n*U}&f@
         break;
M a` [*r+b,P;e0       case 2:week ="星期二";51Testing软件测试网)?r;q}J*d(N
         break;
g%_3EiDHq~ F0       case 3:week ="星期三";
M'O#@Sf6T-y2lF0         break;
U!Y6]!q8Ol"dc0       case 4:week ="星期四";
%Ut-E^c8mf7S0         break;
W$Q4gr}}7W-}0       case 5:week ="星期五";51Testing软件测试网I RS,H%d2`iV*B[
         break;
2Pt"U;k2@q&GG0       case 6:week ="星期六";51Testing软件测试网 Z-Y0Pp7O3J,Y)v|
         break;
)or |3@:t4R&HrE S0       case 0:week ="星期日";51Testing软件测试网8h2R%dnz if\
         break;
(`(K.O,U o&\ [0      };
jUmU.I#L0     lr_message ("使用结构获取的当前时间为:%d:%d:%d,%s",a,b,c,week);
2P+b WT0Cq6g7@0     return 0;
*y8Qq3}(Z0}51Testing软件测试网nl%H @z:_bkN

cg+c!v'E/| h0运行结果:使用结构获取的当前时间为:14:1:40,星期三51Testing软件测试网B Z$[+OQEA

51Testing软件测试网;x)n%U pI]zE$F%M+K8M

===========================================

0r'a-Q)\7V;`&J9d3~0

G]&r"C(P9D(e v9`CC0 

#y!xT0Nee!Jh0\N0

TAG: LoadRunner time ctime tm 系统时间

高高的美丽天空 引用 删除 meiliqingdao   /   2007-11-19 17:46:23
只知道用lr_save_datatime可以实现,想不到还有这么多方法,受益了!
persist的个人空间 引用 删除 persist   /   2007-07-05 17:53:38
用这个也可以实现lr_save_datetime("Today is %B %d %Y", DATE_NOW, "cur_time");
 

评分:0

我来说两句

qiguojie

qiguojie

北京测试一草根儿

日历

« 2024-04-28  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 120418
  • 日志数: 39
  • 图片数: 1
  • 建立时间: 2007-06-05
  • 更新时间: 2011-06-29

RSS订阅

Open Toolbar