Loadrunner:使用list中的参数作为数组元素编号来获取随机数组值

时间:2017-06-02 11:28:16

标签: arrays parameters element loadrunner

我想使用列表中的随机数来选择参数数组的特定元素,并在脚本的其他地方将其用作参数,例如。

数组是sspaidlist 参数列表中的随机整数是{GenRandomSSPAID},我想将其用作sspaidlist数组的元素并保存为RandomSSPAID

lr_save_string(lr_eval_string("sspaidlist_{GenRandomSSPAID}"),"RandomSSPAID");

这只是给了我实际价值" sspaidlist"而不是数组。

我也试过

sprintf(RandomSSPAID, "{sspaidlist_%d}", lr_eval_string("{GenRandomSSPAID}"));

但似乎将RandomSSPAID设置为0

这个想法是获得3个唯一值 - 所以3个不同的数组元素,我不能两次获得相同的值。我已将随机性卸载到loadrunner参数函数,因此我将始终使用{GenRandomSSPAID}获取唯一编号。

2 个答案:

答案 0 :(得分:1)

首先将“GenRandomSSPAID”转换为整数,如下所示:

i = atoi(lr_eval_string(“{GenRandomSSPAID}”));

现在使用sprintf将其保存到RandomSSPAID中,如下所示:

sprintf(RandomSSPAID,“{sspaidlist_%d}”,i);

你现在应该能够看到价值。

答案 1 :(得分:0)

我使用以下代码解决了这个问题:

//declare c variables
Add_List()
{
....
char *RandomSSPAID;
char *SecondRandomSSPAID;
char *ThirdRandomSSPAID;

RandomSSPAID = lr_paramarr_idx("sspaidlist",atoi(lr_eval_string("{GenRandomSSPAID}")));
lr_save_string(lr_eval_string(RandomSSPAID),"RandomSSPAID");

SecondRandomSSPAID = lr_paramarr_idx("sspaidlist",atoi(lr_eval_string("{GenRandomSSPAID}")));
lr_save_string(lr_eval_string(SecondRandomSSPAID),"SecondRandomSSPAID");

ThirdRandomSSPAID = lr_paramarr_idx("sspaidlist",atoi(lr_eval_string("{GenRandomSSPAID}")));
lr_save_string(lr_eval_string(ThirdRandomSSPAID),"ThirdRandomSSPAID");

lr_error_message("Random Values  for iteration %s are : %s_%s_%s",lr_eval_string("{IterationNumber}"),lr_eval_string("{RandomSSPAID}"),lr_eval_string("{SecondRandomSSPAID}"),lr_eval_string("{ThirdRandomSSPAID}"));
....
}

请注意,我将随机性卸载到Loadrunner以生成{GenRandomSSPAID}的随机数,subject = new Subject<any>(); constructor (){ this.subject.next('hello'); } getsubject():Observable<any>{ return this.subject.asObservable(); } 是参数类型的文件,带有数字列表和设置以选择新行“随机”,更新“每次出现”的值