51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[求助] LR 16进制 "\x00\x00\x00"该怎么参数化

[复制链接]
  • TA的每日心情

    2015-7-31 14:36
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2015-7-31 14:30:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 yxwz 于 2015-7-31 14:40 编辑

    需要发送一个16进制报文

    代码大概如下,发送内容在用data.ws文件中

    lrs_send("socket1","buf0",LrsLastArg);

    ;WSRData 2 1
            send buf0 n
    "\x00\x00\x00\x00\x03\x00"
    "\x00\x00\x00"
    "\x62\x26\x15\x02\x83\x81\x69\x22\"

    中间那行,000000是serialNo 不能重复可以从000000到FFFFFF
    即"\x00\x00\x00" 到 "\xFF\xFF\xFF"

    因为有\x分隔 之前思路是把3个00分别参数化
    "\x<参数_1>\x<参数_2>\x<参数_3>"
    每个参数的值为00到ff (0-256)
    参数3为低位2个数字 直接sequential+each occurrence
    参数2为中位2个数字 用sequential+each iteration  用iteration设置为256
    参数3为高位2个数字 用sequential+once 然后判断参数2和参数3都为ff时,进行+1操作
    vugen中跑一个用户是可以了
    但是这样会造成controller跑多vuser时,流水重复的问题 参数设置Unique的话
    多用户之间参数1,2,3中的数据又不能关联起来,没办法合理分配每个用户不重复的流水

    求教有没有还有其他的好办法 最好详细一点 谢谢大家


    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情

    2015-7-31 14:36
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
     楼主| 发表于 2015-8-6 15:26:50 | 只看该作者
    自己回答这问题 此问题结了
    用java生成文件  然后文件参数化 注意\需要转义


    public class Test {

            /**
             * @param args
             * @throws IOException
             */
            public static void main(String[] args) throws IOException {
                    OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(
                                    new File("c:/outman/memory.txt")));
                    BufferedWriter bw = new BufferedWriter(osw);
                    for(int i=0;i<16777216;i++){
                            String str = String.format("%6x",i).replace(" ", "0");
                            System.out.println(str);
                            String s1 = str.substring(0,2);
                            String s2 = str.substring(2,4);
                            String s3 = str.substring(4,6);
                            String s4 = "\\\\x"+s1+"\\\\x"+s2+"\\\\x"+s3;
                            System.out.println(s4);       
                           
                            bw.write(s4);
                            bw.newLine();
                    }
                    bw.close();
                   
            }

    }
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-7 09:37 , Processed in 0.067159 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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