vx19820 发表于 2009-2-16 10:10:49

loadrunner socket协议参数化问题

用socket录制一个UDP发包程序。系统原理是采集点采集到数据后,进行处理,以udp方式发送给服务端。采集点最多支持32个。现在的问题是:我录制了一个采集点脚本,buffer里显示的数据是采集点id对应的16进制所对应的字符,例:采集点id为10,buffer数据显示为“/n”(即0A对应的字符常量,这个是我自己总结出来的,不过录了几个不同的id,貌似是对的)。现在的问题是,我怎样才能将这个ID参数化啊??能用什么函数吗?

[ 本帖最后由 vx19820 于 2009-2-17 14:28 编辑 ]

vx19820 发表于 2009-2-16 10:15:10

buffer数据

#include "lrs.h"

Action()
{
   
   
lr_start_transaction("建立连接");
    lrs_create_socket("socket0", "UDP",LrsLastArg);

lr_end_transaction("建立连接", LR_AUTO);


lr_rendezvous("发送");
lr_start_transaction("发送数据");
    lrs_send("socket0", "buf0", "TargetSocket=ADMIN:19527", LrsLastArg);

lr_end_transaction("发送数据", LR_AUTO);

    return 0;
}


buffer
;WSRData 2 1
sendbuf0 42185
"\x00\x05\x00\x01\x00\x00\x00\x00"
" \n"             //需要参数化的数据,采集点ID, 真实的数据应该是“10”,
                     // 录制成脚本就成“\n”,个人认为是“10”的十六进制(0A)对应的字符;
"\x00"
"v"
"\x01\x00\x00\x00\x01\x06\x05\xff"
"n蹺榻尜H窎,"
"\xd8"
" "
"\xd9"
"#铒x264 - core 49 - H.264/MPEG-4 AVC codec - Copyleft 2005 - http://www.vi"
"deolan.org/x264.html - options: cabac=0 ref=1 deblock=1:0:0 analyse=0x1:0x"
"111 me=hex subme=5 brdo=0 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x"
"8dct=0 cqm=0 chroma_qp_offset=0 slices=1 nr=0 decimate=1 bframes=0 keyint="
"20 keyint_min=11 scenecut=40 rc=cqp qp=29 ip_ratio=1.40"
"\x00\x80\x00\x05\x00\x01\x01\x00\x00\x00"
"\n"
"\x00\x1b\x00\x00\x00\x00\x01"
"gB"
"\xc0"
"3"
"\xb9\x10"
"(?B"
"\x00\x00\x03\x00\x02\x00\x00\x03\x00"
"e"
"\x1e"
"0e@"
"\x00\x05\x00\x01\x02\x00\x00\x00"
"\n"
"\x00"
"\b"
"\x00\x00\x00\x00\x01"
"h"
"\xce"
"\r"
"\xc8\x00\x05\x00\x10\x03\x00\x00\x00"
"\n"
"\x00\xf4\x01\x00\x00\x00\x01"
"e垇"
"\x00\x1f"
"饉a\b+"
"\x8f\x01\xe6\x00"
"`"
"\x1d"
"0螵("
"\xd3"
"#r叱%"
"\xfa"
"\aA屇\br瑐厇"
"\x7f"
"瘼製"
"\x1f"
"(騬㊣k铤"
"\xef"
",D瑱臚_Q"
"\x11"
"U偤門"
"\xc5\x1b"
"|r"
"\xab"
"-"
"\xa0"
"!qx鸆羮a盘\""
"\x85\x10"
"Fe訢k=k獑Bビ"
"\xeb\x18"
"2讴"
"\xaa"
"\"-囆1J"
"\x10\x15\xa1\x01"
"("
"\x10"
"*鮔弽Ak "
"\xdc"
"\b"
"\x17"
"\f"
"\xee"
".A"
"\xac"
"4\f差"
"\x80"
"粝"
"\x13"
"(辡蘳Z-q}睾慐[Q"
"\x80\x18\xb0\x10\x12\xa3"
"/痆誜k藿"
"\x0e"
"*メ餃D麺C㊣倥}忒"
"\xb7\xff"
"滙譗褮"
"\xad"
"'謩伆"
"\x90"
";爉"
"\xff"
"澼鲞h"
"\xa0\x00\x14"
"J"
"\x1f"
"z"
"\x80"
"燎鄩祌"
"\xf6"应该是

[ 本帖最后由 vx19820 于 2009-2-16 13:56 编辑 ]

aman_cao 发表于 2009-2-16 11:49:50

进入Tree View,找到对应的Buffer,选中要参数化的部分,然后右击->选择create parameter

vx19820 发表于 2009-2-16 12:04:47

谢谢这个我知道 可是我应该选那种参数类型呢? 况且 这个参数不是实际的参数,需要作两次转换,我现在能想到的办法就是选择参数类型为file,然后自己编辑参数数据表,就是比较笨的办法。我想知道有没有别的办法? 有没有人知道它LR里为什么不是直接显示id号码?
还有,建立连接后,会发送多个buffer,每个buffer里都包括这个id号码,这个是不是需要关联?怎么关联?

aman_cao 发表于 2009-2-16 14:23:05

ID号是对我们而言的,对于机器(socket),它是不知道其上传送的是什么数据的。
你可以咨询一下开发人员,看整个传输过程中,要传输几次,以及每次传输的内容是什么,然后再做参数化。

vx19820 发表于 2009-2-16 14:26:32

那这种情况下 以file形式给出的参数列表应该实际的id号码还是 它的这种形式的字符?

vx19820 发表于 2009-2-16 14:28:14

因为采集点发送的是视频数据,所以发送的每个数据包都需要给出这个id的 那么每个包的id都参数化一次??

aman_cao 发表于 2009-2-16 14:37:25

在data.ws里的数据是socket直接发送的,所以一定是0XA这种格式的
参数化只做一次就好了,其他地方替换就好了

vx19820 发表于 2009-2-16 14:42:30

你知道能从什么地方看到我实际运行过程中都使用到了哪些参数吗?
页: [1]
查看完整版本: loadrunner socket协议参数化问题