关注于测试自动化和测试管理,我是一个永远的测试新手。
Loadrunner 用户自定义函数
上一篇 /
下一篇 2007-06-18 11:14:07
{
N/BT+OI0Loadrunner可以使用标准C语言的函数,因此我们可以在脚本中编写自己的函数用于调用,把脚本结构化,更好的进行重用。51Testing软件测试网@K9O/?"M&xO(j
先看一个例子:51Testing软件测试网"F}-Xv|vo
Action()
v[X&\Z0`0{51Testing软件测试网S8NK Kwt,_v_ a
int i,j;
dL,g0x-RKJ@*E$~E0 j = 1;
-K;y
f4u ZN)G
O0 for (i=0;i<10;i++)
MU1yF2K9l0 {51Testing软件测试网Yq},m Ma5l.b
lr_message("i+j=%d",sum(i,j));51Testing软件测试网F4x,H{"@
j++;
`D&v,oK3e0 }51Testing软件测试网x%?X$uOp
return 0;
cey.dV(p
gkM I0}51Testing软件测试网,T"^*Y.j c
int sum(int a,int b)//简单的求和函数51Testing软件测试网4I:NIM!j![
pLfE8d
{
6~I4d
zf&Ju5y0 return a+b;51Testing软件测试网k'hS}^7|7Y
}
"A-HS;y#z,U DNE9FxB0例子说明:
6t)lRn @1O0我写了一个很简单的函数sum,求2个整数的和;
}:kQ O COv$uJ01、函数实现可以放在lr脚本的任意位置(函数的作用域);51Testing软件测试网lhRJm
例如action、vuser_init、vuser_end这些脚本的主函数外,则不需要考虑函数的作用域;在任意地方都可以调用。
4`fJ0xFn5T0 如果放到Action()、vuser_init()、vuser_end()这些函数体内,则只有本函数体内才可以调用。51Testing软件测试网&nIp9a$QLd'qw
例如:51Testing软件测试网 }+n$a+Y]8}6\
Action()51Testing软件测试网lADecO
{51Testing软件测试网xG"@:XkEr3k
int sum(int a,int b)//简单的求和函数
,qYnlp K*V0 {
?1a3ue;\ _` u0 return a+b;51Testing软件测试网P] X|
G"Xfci
}
#[\2]?!vqFp0~%m"f051Testing软件测试网 f0v3r6S#|,sN int i,j;51Testing软件测试网[ lM
c6Z
j = 1;
C!wKQ5[ y0 for (i=0;i<10;i++)51Testing软件测试网-DdC}8J1H0F
{
+RKMw.J I4V0 lr_message("i+j=%d",sum(i,j));51Testing软件测试网&Hecm
P6zJ([
j++;
1_2k%R:EF8J.U0D8X0 }51Testing软件测试网:tpB6}.M+_n
return 0;51Testing软件测试网2twt%{`E9H
}51Testing软件测试网`)BSP%xq"Tt0w ~
上例则只有action内部可以调用sum函数。51Testing软件测试网v&N?:U;Jd"UQ
51Testing软件测试网+D@T:P"j5wBI9F2、如果想跳出函数,使用return 0或break即可51Testing软件测试网&J/J.b%F#^Xn
xu
2?$[VaK"i:FY0再看一个稍微复杂点的例子:51Testing软件测试网G.m0F"R(|\3E
Action()
?)~.|R-xq0{51Testing软件测试网]0Dyn*rJQ}H
int aa[20];51Testing软件测试网C'ev O*iQm\Yh:W zOO
CheckChar("AaBbCc001 1 1",aa);
4FUi3X'c}
N[P?*S)O0 lr_message("字符串长度为:%d",aa[0]);
S u$V1s
P/V)u(F0 lr_message ("统计-大写字符:%d",aa[1]);
ce-Zz1v8j0 lr_message ("统计-小写字符:%d",aa[2]);51Testing软件测试网h5crw1P2Be
lr_message ("统计-数字字符:%d",aa[3]);51Testing软件测试网8V3q6BT ?7U.[
lr_message ("统计-空格字符:%d",aa[4]);
0D_V9|!XFN.KL0 return 0;51Testing软件测试网q"y x
gP-Z_
}
KBw;p-U$b0 51Testing软件测试网
}]!on`O }r
void CheckChar(char ch[],int a[]) //统计函数,分别统计字符串长度;大写、小写、数字和空格的个数,返回整形保存在数组里
Kz~j6^J0{51Testing软件测试网sJX
z)j,}
BW0J5K?$a
int i;
E|A-D#KKU5[0 for(i=0;i<=3;i++)
R3e(Dq
BO
N a!F4_0 a[i]=0;51Testing软件测试网b/[u3@"l%J0Iaf
a[0] = strlen(ch);//获取字符串长度
.gI5y+g
Vo0 for(i=0;i<a[0];i++)51Testing软件测试网8D$c!M8_`7A"{ N
{
G-X!J6Vw0 if(ch[i]>='A' && ch[i]<='Z') //如果是大写字符51Testing软件测试网.F Z;|P
C4O+P
a[1]++;51Testing软件测试网v'Q)mkA(_|+^
else if(ch[i]>='a' && ch[i]<='z') //如果是小写字符51Testing软件测试网s\)~yt
a[2]++;51Testing软件测试网4F1t2U{R#J
else if(ch[i]>='0' && ch[i]<='9') //如果是数字
){)f@UC!T/L0 a[3]++;51Testing软件测试网[@sG"E'H7D
else if(ch[i]==' ') //如果是空格51Testing软件测试网\#R\3} B%hS*GBd
a[4]++;51Testing软件测试网6}&S*ec J*yc` {
}51Testing软件测试网x,B(B!Q.^Rb[
}51Testing软件测试网lzO8PY)O!g1]
写了一个检查字符串成分的函数,只能检查出字符串长度,大写、小写、数字和空格的个数。
wy-K
eZ,i051Testing软件测试网.R f ?"ax"@:T由此可见,lr中使用C函数还是比较灵活。
e2z/WJZj1T0
收藏
举报
TAG:
Loadrunner
自定义
函数