51Testing软件测试论坛
标题:
请教LoadRunner中C Vuser script的参数化问题
[打印本页]
作者:
luxuabc
时间:
2006-2-21 11:52
标题:
请教LoadRunner中C Vuser script的参数化问题
步骤:
1。新建一个C Vuser脚本。
2。脚本如下所示:
#define DIR_LEN 1024
Action()
{
char command[DIR_LEN];
char *temail = "temail.exe";
char *args = "temail_smtp.ini";
char original_dir[DIR_LEN];
getcwd(original_dir, DIR_LEN);
sprintf(command, "%s /ini=%s", temail,args);
lr_debug_message(LR_MSG_CLASS_EXTENDED_LOG, "%s", command);
chdir("D:\\VirusSample");
system(command);
chdir(original_dir);
return 0;
}
3。想把args参数化,也就是每次用不同的ini配置文件来运行temail.exe这个程序。
4。选择"temail_smtp.ini",右键选择参数化,新建一个参数名为iniFile。
5。给这个参数加入多个值,如:temail_smtp_1.ini,temail_smtp_2.ini等。
6。但在运行的时候这个参数并不转换为设置的值。
7。从debuglog看总是执行:temail.exe /ini={iniFile}, 而我希望的是temail.exe /ini=temail_smtp.ini.
不知道我想实现的这个功能,loadrunner是否支持。有人知道吗?谢谢!
作者:
xyuan007
时间:
2006-2-21 13:42
用不着吧,程序控制更方便一些。
作者:
mingerp1026
时间:
2006-2-21 14:23
看看你选择的参数取值是选的什么模式,就是你在参数化窗口里有个update value on选项,设置每循环一次取,还是随机取?如果你选的once,那么就只能取一个了,而且,你选择each iteration,要跑2个以上用户才能看出来的
你再试试看呢?
作者:
luxuabc
时间:
2006-2-21 14:29
我就是这样设置的,设置每循环一次取,也设置了iteration.
关键问题是从debuglog来看,loadrunner并没有把保存的参数解析出来,总是{iniFile}.
看来还是用循环实现吧。
作者:
mingerp1026
时间:
2006-2-21 14:32
你设置成unique,然后跑三个用户来看看
作者:
li_ok
时间:
2006-9-25 09:54
如果选用C vuser协议,就不能直接参数化一个变量,你需要借助一个lr的函数lr_eval_string,在你要替换的变量处改成lr_eval_string("{iniFile}"), 就可以正常执行了
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2