欢迎大家来到测试人生,在你休息的时候你可以畅所欲言,空间里也许有些资料可以帮助到你,来吧,朋友,测试人生欢迎你!!!!

关于函数lr_eval_string

上一篇 / 下一篇  2008-10-21 16:20:24 / 个人分类:LR经籍

51Testing软件测试网6\9OB5]+]N

在LR中,C的变量和LR的参数是不一样的。51Testing软件测试网B#J*U(aW&T-GF1HYEuK
任何C的变量都不能被LR的函数直接调用。51Testing软件测试网(f&J7j;Y)k'V
应该用lr_eval_string来取值。
!G NLP,wv0比如{NewParam}(LR中参数化的变量)直接用这个引用是没有问题的。
J(F~NB0但是如果如下:
%W}(jXJ^/u0  Action()
%y&U~DA9`s0{51Testing软件测试网.E1BB {3[(y1OB ]
    char a[10];51Testing软件测试网#A3_ s$\g.\,P7aD
    strcpy(a,"{NewParam}");
/q0Uf'w6G:C{k0    lr_message(a);51Testing软件测试网t4vq'd)jJ#P5qbH I%U
    return 0;
Y ML%Blpl0}
z dJYp+?0这就不对了。 
Q[E!La H` I0S)U0lr_message(a);就会报错。
y%X-UMH wU%^4{0但是写成lr_message(lr_eval_string(a));就可以。
'Kulq'h'U7|0因为这里的值已经取出来了。
P(`/ga9E s%Eg051Testing软件测试网f8r.?&x(H9Ran!Xo
再看另一个问题:一个网友说:51Testing软件测试网5F vc.tG\ C
Action()51Testing软件测试网u!Q t;W%B'a P
{51Testing软件测试网+oSu7ss/V}xN
    char a[10];
+zOR.y{&j}]7bl0    strcpy(a,"{NewParam}");
g!j-Y2_9|!Gi F0    lr_message(lr_eval_string(a));
:mVy4z*I&|0        if (lr_eval_string(a)[0] == 11) {
i1n eT8XdVp0                lr_message ("a=%d",a);
VLyr4@cx*e0        }51Testing软件测试网B5|Ovk f
        return 0;51Testing软件测试网 g]|VK/O
}
)_$txfx G0中的 if (lr_eval_string(a)[0] == 11)不应该通过语法检查。
koC'?{.H b0其中{NewParam}是参数化的。内容:11.
!kI O%uP}0

jp#S|_$N9O|0
T$M#sa"M b;l7O0

1Q|w4`'bO0那下面我来用lr_message ("a=d",lr_eval_string(a)[0]);在if前面打出来看看是什么。结果打出来是:49(数字1的ascii码).
#AcU:a~(tO}+w0也就是说if (lr_eval_string(a)[0] == 11)是判断1的ascii码是否等于11.显示是不相等的。于是这里的  lr_message ("a=%d",a);就不会执行。

a4W4[0]!{`0
9e'mjf$N0

/DG.O {(o0下面我们用另一段代码来看看:
%t9e r^+_9I#K6i3E0char *str2="T";51Testing软件测试网6pN*P9O5S%xX
char a[10];51Testing软件测试网 j%q P}$s
strcpy(a,lr_eval_string("{NewParam}"));
y(Iq/dKz&j6s0lr_message ("a=%d",lr_eval_string(a)[0]);
T`Z fNH0lr_message(lr_eval_string(a));
}!u@ {$`ba0       
q(P$St'DJY \w0r-J0if (lr_eval_string(a)[0]== *str2) {51Testing软件测试网 ^ZM:](C
                lr_message ("a=%s",a);51Testing软件测试网ik*f3L/i*L|3mr
  lr_message ("执行这句!");51Testing软件测试网 ue%VvJ!|J
        }
3T Z'IM_8z5B+P M A0结果如下:
pjlT@wT6j0Starting action Action.
@BFa*[B0a=84
nV7DG&S2Z}Q0T
a$}$J+h&j*~m*Mn0a=T51Testing软件测试网2\3j `E2u
执行这句!
6K9d7LlWd y0Ending action Action.
A2s6PhX ?"o@)X5o0这里我的参数是一个大写的“T”。
P(pGb4Y"Y.Y0我们看到lr_eval_string(a)[0]取到的是大写字母“T”的ascii码。

^&w'K/y!i!^ Om0

TAG: LR经籍

引用 删除 qzp_peng   /   2011-04-23 14:55:41
好文章。但我还想问下,loadrunner监视linux服务器,loadrunner是windows版的吗
 

评分:0

我来说两句

Open Toolbar