1

在 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。

4

3 回答 3

1

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

请参见 lr.next_row() 和 lr.advance_param()。您可能正在使用一个带有明确定义的参数的地方,您将希望使用另一个。lr.advance_param() 将是更常见的用途,请记住,当您迭代时,您将根据参数的定义自然地获得一些这种进步。

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

于 2011-10-31T14:04:04.700 回答
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"
于 2011-10-25T16:26:58.540 回答
0

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

lr_eval_string("{FirstHeader}");

于 2013-10-21T18:31:47.837 回答