2017-06-22 85 views
0

在HP Load Runner VU Gen中,我想要創建一個腳本,該腳本從表中讀取數據,具有多個列,並使用數據根據env調用某個url。如何在Load Runner中使用多列?

我確實有兩個表具有相同的結構:mytable_dev和mytable_prod。這些是文件參數表。例如,在mytable_dev.dat中: 名字|姓氏|年齡 john |史密斯| 12 Lara | Croft | 24 ...

我可以做這樣的事情來獲得 「開發」 或 「刺」:

env = lr_get_attrib_string("env"); 

然後,我可以選擇表(DEV或PROD)有:

sprintf (data_temp,"{url_imd_%s}", env); 
lr_save_string (lr_eval_string(data_temp), "data_env"); 

然後,我想打電話給一些網址,根據表中的值:

web_rest("Foo", 
    "URL=http://somesite.com/foo/{data_env['firstname']}/{data_env['lastname']}", 
    ... 

我怎麼能這樣做?

Th。

+0

只需更換數據文件,爲您的環境,並與邏輯來完成。 K(eep)I(t)S(實施)S(*****) –

回答

2

這不是參數如何工作。每個參數引用數據表的單個列(請參閱選擇列 - >按名稱組合框)。 Parameter TestA is defined on the A column of the dataset in the file

0

我有一個解決方案。

首先,我使用「table」參數類型,而不是「file」,名爲「date_dev」。這裏「dev」是我的環境的名字。我也有「data_int」,「data_prod」等。

fw_save_format_eval_string("{ENV}", "{data_%s}", "DATAS_ENV"); 
temp = lr_eval_string("{DATAS_ENV}"); 
fw_splitlist_paramarr(temp, "PARAMETRE", ";"); 

這裏「;」是我的CSV分隔符。

而任何工作中的作用:

int fw_splitlist_paramarr(char *in, char *out_param, char *sep) 
{ 
int i = 0; 
char *p, *t, paramName[PARAM_SIZE]; 

sprintf(paramName, "%s_count", out_param); 
lr_free_parameter(paramName); 
lr_save_int(i, paramName); 

if ((p = strdup(in)) == NULL) 
{ 
lr_free_parameter(paramName); 
return -1; 
} 
t = strtok(p, sep); 
while (t != NULL) 
{ 
i++; 
sprintf(paramName, "%s_%d", out_param, i); 
lr_save_string(t, paramName); 
t = strtok(NULL, sep); 
} 
free(p); 

sprintf(paramName, "%s_count", out_param); 
lr_free_parameter(paramName); 
lr_save_int(i, paramName); 
return 0; 
} 

享受:-)

相關問題