51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1857|回复: 1
打印 上一主题 下一主题

[原创] 一个可能容易被大家忽视的函数

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-5-13 12:42:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
近期在做南京地铁2号线的项目,遇到这样一个需求。通过socket协议模拟列车的运行,报文当中某一字节表示列车的索引号,如果是第一辆车,索引号为02,第二辆为04,以此类推,并且是以16进制显示,即第8辆车的时候显示为10,而不是16。
如果在controller中使用不同的vuser模拟不同的列车,很明显,要对索引号进行参数化,那这样的参数如何设计便成了一个问题。首先对于每个vuser,该参数的取值的是唯一的,到这里,大家应该能想到Vuser ID参数或是unique,但这两种直接拿来用均无法满足实际需要。这时便轮到这次要讲的主角出场了:
void lr_whoami (int *vuser_id, char **sgroup, int *scid);
直接看例子:
        int vuid;
        lr_whoami(&vuid,NULL,NULL);
        lr_outmessage("%d",vuid);

如果在Vuser Generator中运行的话输出结果应该是"-1",若是在controller中运行便会打印出相应的vuser id。
vuid取出来后接下来就好办,根据规律,不难写出下面的代码:
        int vuid;
        char id[2];
        lr_whoami(&vuid,NULL,NULL);//取出当前的Vuser ID,保存在vuid整型变量中
        //lr_output_message("%d",vuid);
        vuid =vuid*2;
        itoa(vuid,id,16);//将int类型的vuid转成char数组id,并且是通过16进制
        //lr_output_message("%s",id);
        lr_save_string(id,"No");//将id保存为参数No供脚本使用
此时保存的参数No便是我们所需要的。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-5-13 14:10:54 | 只看该作者
lr_whoami  呵呵 记录下来
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-21 00:36 , Processed in 0.070852 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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