51Testing软件测试网D IHn(cS VS 写这篇文章的时候,我先声明一下,本BLOG中的文章如果没有写出是转贴的一般就是本人原创.
Ce:hg cQ+L0!o-iTSVRm0 Loadrunner脚本中进行关联的时候,用到了一些函数,作用是把字符串保存到参数中,并且在需要的时候检索出来.C Vusers中用到的函数有:
YP-i/r,c'I8J0Y
lc051Testing软件测试网XBQW.@z4j#ilr_eval_string 所有出现参数的地方用它的当前值来代替.
^k.P7@`051Testing软件测试网^~*quS._#mlr_save_string 把null-terminated字符串保存到参数中.其中,null-terminated的意思,我从网上查了下是:"以空字符为结束标志的字符串",也就是以"\0"结束的字符串,其中的0是ASCII码的0,是不能用显示字符表示出来的,只有用转义字符表示了.
YsY]5[DE iBBT051Testing软件测试网s6js6m.[
e @)ig4{mlr_save_var 把变长字符串保存到参数中.51Testing软件测试网te7XI*n-@
Q:Bn3wn:n0下面再来看下每个函数的具体解释(参考帮助):51Testing软件测试网*v6l._%T`/gn9?S6p
n!K+zo'hP0lr_eval_string:
\O
O7Vg)Q
D0C Language51Testing软件测试网@I I/M4O5Y'?
char *lr_eval_string (const char *instring);
.e2MohO"N0返回内嵌参数赋值后的字符串。51Testing软件测试网m:FLf)D(v]*~q
.o1eI6P4sM@;Y MC0v+Q1Uch7O0instring:需要赋值的字符串。51Testing软件测试网z#G~#eM7P0fo:x,_ryA
51Testing软件测试网2`km n3wYzm&Ulr_eval_string函数返回任何内嵌参数赋值后的输入字符串。如果字符串变量只包含一个参数,函数返回参数的当前值。
/Z_G(rl051Testing软件测试网T,K%@ hg'W#I8s内嵌参数必须在括号中。51Testing软件测试网1b2ZS
}
GhkV~Y
51Testing软件测试网R*[jD)F`Y注:lr_eval_string是内部地分配内存。在每一次迭代之后会释放。如果你在循环中给参数赋值,不要使用lr_eval_string保存内存。你需要使用lr_eval_string_ext,并且在每个循环迭代中使用lr_eval_string_ext_free释放内存。
@fjSu
c051Testing软件测试网y@-r%cn G J'H%e[p这里我再补充一下:lr_eval_string_ext在关联的数据是二进制数据,例如,数据包含嵌入的NULL字符时是非常有用的。
p4xRYAq0oZ&bQX#Sn0例子:下面的例子使用lr_eval_string来代替参数row_cnt的当前值。使用lr_output_message把这个值输出到输出窗口。51Testing软件测试网/J8cot9\#T
lrd_stmt(Csr1, "select count(*) from employee", -1, 1 /*Deferred*/, 2 /*Ora V7*/, 0);
6d&FSb,x4D~0lrd_bind_col(Csr1, 1, &COUNT_D1, 0, 0);