51Testing软件测试论坛

标题: 关于LoadRunner的变量赋值问题 [打印本页]

作者: peking    时间: 2007-6-25 09:40
标题: 关于LoadRunner的变量赋值问题
关于LoadRunner的变量赋值问题
例如:定义 char xxx[7];
         buf1->12345
         buf2->1234567890abcdefg 1234567890

         
我现在想调用buf2里的全部结果中的 abcdefg 放到 buf3里来进行数据的发送
怎么做?
代码:
rc=lrs_create_socket("socket1", "TCP", "RemoteHost=XXXX", LrsLastArg);
        if(rc != 0)
        {
                lr_output_message("创建连接失败 %s ",rc);
                return 0;
        }

        lrs_send ("socket1", "buf1", LrsLastArg );       
        lrs_receive("socket1", "buf2", "Flags= MSG_PEEK", LrsLastArg);

        len=lrs_get_last_received_buffer_size("socket1");
        if (len < 1) {
       lr_error_message("没有任何数据收到");
       return -1 ;
        }

        ReceivedBuffer = lrs_get_received_buffer("socket1",0, len, NULL);
        lr_output_message("接收到的数据 %s ",ReceivedBuffer);

        lrs_disable_socket("socket1", DISABLE_SEND_RECV);

        rc=lrs_close_socket("socket1");
        if (rc==0)
       {lr_output_message("Socket 1 was successfully closed "); }
        else
       {lr_error_message("An error occurred while closing the socket, Error Code: %d", rc); }
作者: peking    时间: 2007-6-25 10:02
怎么没人呢?
作者: qiguojie    时间: 2007-6-25 10:49
如果你的buf2是规律返回“数字+字母+数字”
1、把buf2的值取出来放进一个串
2、写一个函数,输入buf2,把数字去掉,返回字母数组

另外,使用正则表达式,直接输出字母部分(不过偶米用过,8知道怎么用)
作者: peking    时间: 2007-6-25 10:57
char ding[7];

在脚本中添加
lrs_save_param("socket1",NULL,"ding", 20,7);
lr_output_message(lr_eval_string("<ding>"));
把<ding>放到buf3里发送 是可以通过的
但是能取出我想要的值,但是我不想数值的位置写死

例:buf2->1234567890abcdefg 1234567890
lrs_save_param("socket1",NULL,"ding", 10,7);

请高手再次指点下
作者: peking    时间: 2007-6-25 11:38
自己顶一顶
作者: qiguojie    时间: 2007-6-25 13:55
你想要的值肯定是要有一定规则的吧?

例:buf2->1234567890abcdefg 1234567890
比如说你想要abcdefg
那就写个函数把abcdefg以外的全去掉就可以了啊。。。。函数也不是位置写死???




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2