51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2835|回复: 5
打印 上一主题 下一主题

请教LoadRunner中C Vuser script的参数化问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-2-21 11:52:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
步骤:
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是否支持。有人知道吗?谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-2-21 13:42:36 | 只看该作者
用不着吧,程序控制更方便一些。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-2-21 14:23:35 | 只看该作者
看看你选择的参数取值是选的什么模式,就是你在参数化窗口里有个update value on选项,设置每循环一次取,还是随机取?如果你选的once,那么就只能取一个了,而且,你选择each iteration,要跑2个以上用户才能看出来的
你再试试看呢?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2006-2-21 14:29:19 | 只看该作者
我就是这样设置的,设置每循环一次取,也设置了iteration.
关键问题是从debuglog来看,loadrunner并没有把保存的参数解析出来,总是{iniFile}.
看来还是用循环实现吧。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2006-2-21 14:32:49 | 只看该作者
你设置成unique,然后跑三个用户来看看
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2006-9-25 09:54:28 | 只看该作者
如果选用C vuser协议,就不能直接参数化一个变量,你需要借助一个lr的函数lr_eval_string,在你要替换的变量处改成lr_eval_string("{iniFile}"), 就可以正常执行了
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-22 13:12 , Processed in 0.100450 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表