在LoadRunner中使用表参数时,如何从各列中选择值?

时间:2011-10-25 16:16:04

标签: c# loadrunner

在LoadRunner中,给定存储在文件MyTable.dat中的参数表和用C#编写的VUGEN脚本:

FirstHeader,SecondHeader,ThirdHeader
1A,1B,1C
2A,2B,2C
3A,3B,3C

我可以使用lr.eval_string("{MyTable}");返回整行:

1A,1B,1C

我可以使用lr.next_row("MyTable.dat");前进到下一行

2A,2B,2C

但是,目前尚不清楚如何选择单个列。

用C语言编写的脚本的函数引用说明您可以将lr_paramarr_idx用于参数数组 - 但这似乎不适用于C#&它不清楚表行是否算作参数数组。

HP VUGen版本9.52.0.0。

3 个答案:

答案 0 :(得分:1)

使用您定义的分隔符定义分配给不同列的各个参数。如果您的数据中有逗号,则使用其他数据分隔符,例如制表符(tsv格式文件)或我通常使用管道'|'符号。如果您没有设置单个参数并将其分配给各个列,那么您需要抓住整行并自行拆分。

请参阅lr.next_row()和lr.advance_param()。你可能正在使用一个明确定义参数的地方,你会想要使用另一个。 lr.advance_param()将是更常见的用途,请记住,当你进行迭代时,你将在自然的基础上获得一些进步,具体取决于参数的定义。

根据您的问题,您需要查看LoadRunner文档的两个部分,(1)有关LoadRunner的参数化引擎的文档,以及(2)VUGEN手册中有关高级概念和构建虚拟用户的部分在Visual Studio中(这里对参数化概念有一些强化)。

答案 1 :(得分:0)

这是错误答案

private string[] GetRowCells(string parameter)
{
    string row = lr.eval_string("{" + parameter + "}");
    return row.Split(',');
}

这很糟糕,因为:

  • 如果LoadRunner为表参数提供了工具,则必须具有查询各列的功能。
  • 以上内容未考虑可能在其正文中包含逗​​号的列:

例如,以下内容无法正确解析:

FirstHeader,SecondHeader
"1,A","1,B"
"2,A","2,B"
"3,A","3,B"

答案 2 :(得分:0)

只需使用您要使用的列名称。

lr_eval_string( “{} FirstHeader”);