在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。
答案 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(',');
}
这很糟糕,因为:
例如,以下内容无法正确解析:
FirstHeader,SecondHeader
"1,A","1,B"
"2,A","2,B"
"3,A","3,B"
答案 2 :(得分:0)
只需使用您要使用的列名称。
lr_eval_string( “{} FirstHeader”);