• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

LoadRunner关联函数

发布: 2008-8-28 18:13 | 作者: 网络转载 | 来源: 网络转载 | 查看: 370次 | 进入软件测试论坛讨论

领测软件测试网


 

   Loadrunner脚本中进行关联的时候,用到了一些函数,作用是把字符串保存到参数中,并且在需要的时候检索出来.C Vusers中用到的函数有:

lr_eval_string  所有出现参数的地方用它的当前值来代替.

lr_save_string   把null-terminated字符串保存到参数中.其中,null-terminated的意思,我从网上查了下是:"以空字符为结束标志的字符串",也就是以"\0"结束的字符串,其中的0是ASCII码的0,是不能用显示字符表示出来的,只有用转义字符表示了.

lr_save_var 把变长字符串保存到参数中.

下面再来看下每个函数的具体解释(参考帮助):

lr_eval_string:

C Language

char * lr_eval_string (const char * instring );

返回内嵌参数赋值后的字符串。


instring: 需要赋值的字符串。

lr_eval_string函数返回任何内嵌参数赋值后的输入字符串。如果字符串变量只包含一个参数,函数返回参数的当前值。

内嵌参数必须在括号中。

注:lr_eval_string是内部地分配内存。在每一次迭代之后会释放。如果你在循环中给参数赋值,不要使用lr_eval_string保存内存。你需要使用lr_eval_string_ext,并且在每个循环迭代中使用lr_eval_string_ext_free释放内存。

这里我再补充一下:lr_eval_string_ext 在关联的数据是二进制数据,例如,数据包含嵌入的NULL字符时是非常有用的。

例子:下面的例子使用lr_eval_string来代替参数row_cnt的当前值。使用lr_output_message把这个值输出到输出窗口。

lrd_stmt(Csr1, "select count(*) from employee", -1, 1 /*Deferred*/, 2 /*Ora V7*/, 0);

lrd_bind_col(Csr1, 1, &COUNT_D1, 0, 0);

lrd_exec(Csr1, 0, 0, 0, 0, 0);

lrd_save_col(Csr1, 1, 1, 0, "row_cnt");

lrd_fetch(Csr1, 1, 1, 0, PrintRow2, 0);

lr_output_message("value : %s",

       lr_eval_string("The row count is: {row_cnt}"));

lr_save_string:

C Language

int lr_save_string (const char *param_value, const char *param_name);

param_value:给参数赋值的值,参数值

param_name:参数名称

lr_save_string函数把指定的以空结束的字符串赋值给参数。这个函数在关联查询的时候非常有用。需要使用lr_eval_string来确定参数的值。

例子:

在下面的例子中,lr_save_string给参数emp_id赋值为777。然后这个参数被用在另一个查询中。

lrd_stmt(Csr1, "select id from employees where name='John'", ...);

lrd_bind_col(Csr1,1,&ID_D1,...);

lrd_exec(Csr1, ...);

lrd_fetch(Csr1, 1, ...);


   ID_D1
 
0
 777
 


lr_save_string("777", "emp_id");

lrd_stmt(Csr1,"select salary from payment where id ='{emp_id}'",...);

lrd_exec(Csr1, 0, 0, 0, 0, 0);

lr_save_var

C Language

int lr_save_var (const char * param_value, unsigned long const value_len, unsigned long const options, const char * param_name);

param_value:参数值

value_len:值的字节长度

options:参数选项,一般为0。

param_name:参数名称。

lr_save_var函数把指定的变长字符串赋值给参数。这个函数在关联查询的时候非常有用。需要使用lr_eval_string来确定参数的值。

例子:

在下面的例子中, lr_save_var 用来限制参数的长度。

Action()

{

       #define MAX_NAME_LEN 4


// 创建参数, InName

       lr_save_string("Fitzwilliam", "InName");

// 把 "InName"的前四个字节保存到 "ShortName"

       lr_save_var( lr_eval_string("{InName}"),

              MAX_NAME_LEN, 0, "ShortName");

       return 0;

}

Output:

Action.c(8): Notify: Saving Parameter "InName = Fitzwilliam"

Action.c(10): Notify: Saving Parameter "ShortName = Fitz"

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: loadrunner LoadRunner Loadrunner loadRunner 关联函数


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网