add:http://bbs.51testing.com/thread-1000574-1-1.html
纠结了一天,终于解决了....参数化方法不对,留个脚印给后人:
char data[] = {0x01,0x63,0x00,0x08,0x54,0x1C,0x01,0x00,0x18,0x00,0x00,0x00,0x00,0x0D,0x0B,0x13,0x00,0x00,0x03,0x66,0xA8,0x00,0x02,0x00,0x01,0x53,0xD7,0xDD,0x71,0xA1,0xF6,0x8A,0xD5,0x10,0x02,0x8C,0x4C};
// 创建socket连接
lrs_create_socket("socket0","UDP","LocalHost=0","RemoteHost=192.168.1.103:10888",LrsLastArg);
// 此处参数化,保存到size_param变量中
lrs_save_param_ex("socket0", "user", data, 0, sizeof(data),"ascii", "size_param");
然后在
;WSRData 2 1
send buf0 ""
-1
----------------------------------------------------
问题描述:
关于loadrunner socket 9013错误问题
原文中的问题如下:
#include "lrs.h"
Action()
{
// 初始化变量
char data[]={0x30,0x00,0x00,0x00,0x31,0x30,0xA8};
// 创建socket连接
lrs_create_socket("socket0","UDP","LocalHost=0","RemoteHost=192.168.1.103:10888",LrsLastArg);
// 设定要发送数据的缓冲区
lrs_set_send_buffer("socket0",data,sizeof(data));
// 调用发送函数
lrs_send("socket0","buf0",LrsLastArg);
// 接收返回数据
//lrs_receive("socket0","buf1",LrsLastArg);
// 打印接收到得数据
//lr_output_message("返回的数据:%s","buf1");
// 释放缓冲区
lrs_free_buffer("buf0");
// 关闭socket连接
lrs_close_socket("socket0");
}
data.ws文件内容如下:
;WSRData 2 1
send buf0
-1
报错:Error : Unable to translate buffer to socket0. Error code : 9013.
我个人先分析了下,万般无奈求助网友:
1、必须UDP发包,所以网上网友说的lrs_length_send函数不适用,不可取;
2、若将data数组中的数据直接放在data.ws中,也不会报错,可正常发包;
3、分析了下数据,发现是最后一个0xA8,LR无法转换为其可识别的字符,但为啥我用data.ws这种方式可以呢,不报错呢?如果将0xA8改成 十进制值128以下的 都可以成功,超了则不行...
[popexizhi:自己是对websocket打包,发送数据中对128以上数据发送有相同问题,使用data.ws参数化解决此问题,谢谢吞]
纠结了一天,终于解决了....参数化方法不对,留个脚印给后人:
char data[] = {0x01,0x63,0x00,0x08,0x54,0x1C,0x01,0x00,0x18,0x00,0x00,0x00,0x00,0x0D,0x0B,0x13,0x00,0x00,0x03,0x66,0xA8,0x00,0x02,0x00,0x01,0x53,0xD7,0xDD,0x71,0xA1,0xF6,0x8A,0xD5,0x10,0x02,0x8C,0x4C};
// 创建socket连接
lrs_create_socket("socket0","UDP","LocalHost=0","RemoteHost=192.168.1.103:10888",LrsLastArg);
// 此处参数化,保存到size_param变量中
lrs_save_param_ex("socket0", "user", data, 0, sizeof(data),"ascii", "size_param");
然后在
;WSRData 2 1
send buf0 "
-1
----------------------------------------------------
问题描述:
关于loadrunner socket 9013错误问题
原文中的问题如下:
#include "lrs.h"
Action()
{
// 初始化变量
char data[]={0x30,0x00,0x00,0x00,0x31,0x30,0xA8};
// 创建socket连接
lrs_create_socket("socket0","UDP","LocalHost=0","RemoteHost=192.168.1.103:10888",LrsLastArg);
// 设定要发送数据的缓冲区
lrs_set_send_buffer("socket0",data,sizeof(data));
// 调用发送函数
lrs_send("socket0","buf0",LrsLastArg);
// 接收返回数据
//lrs_receive("socket0","buf1",LrsLastArg);
// 打印接收到得数据
//lr_output_message("返回的数据:%s","buf1");
// 释放缓冲区
lrs_free_buffer("buf0");
// 关闭socket连接
lrs_close_socket("socket0");
}
data.ws文件内容如下:
;WSRData 2 1
send buf0
-1
报错:Error : Unable to translate buffer to socket0. Error code : 9013.
我个人先分析了下,万般无奈求助网友:
1、必须UDP发包,所以网上网友说的lrs_length_send函数不适用,不可取;
2、若将data数组中的数据直接放在data.ws中,也不会报错,可正常发包;
3、分析了下数据,发现是最后一个0xA8,LR无法转换为其可识别的字符,但为啥我用data.ws这种方式可以呢,不报错呢?如果将0xA8改成 十进制值128以下的 都可以成功,超了则不行...
[popexizhi:自己是对websocket打包,发送数据中对128以上数据发送有相同问题,使用data.ws参数化解决此问题,谢谢吞]
参数化 的size_param 怎么发送呢
回复删除此处参数化 是什么意思 可以麻烦讲解下吗 我刚接触
回复删除不好意思刚看到你的问题。http://lovesoo.org/how-to-use-loadrunner-to-write-socket-protocol-script.html?nshcpc=fk8ac1 这里的在data.ws中直接进行参数化 ,应该可以详细回答你的问题,不行你再来问我,我blog的原文是自己的工作总结,写的太粗了,不好意思。
删除