51Testing软件测试论坛

标题: 请问下loadrunner中如果发送二进制字节流? [打印本页]

作者: levelksk    时间: 2012-2-2 17:31
标题: 请问下loadrunner中如果发送二进制字节流?
请问下,如果在loadrunner中发送二进制字节流,使用sockets协议,发送的内容
[0] 32
[1] 0
[2] 0
[3] 0
[4] 0
[5] 0
[6] 0
[7] 0
[8] 2
[9] 0
[10] 0
[11] 1
[12] 25
[13] 139
[14] 78
[15] 35
[16] 73
[17] 238
[18] 0
[19] 0
[20] 0
[21] 0
[22] 0
[23] 5
[24] 0
[25] 0
[26] 0
[27] 0
[28] 0
[29] 0
[30] 0
[31] 0
求助,- - 今天一天搞这个,感觉快疯了
作者: wower1985    时间: 2012-2-3 17:27
本帖最后由 wower1985 于 2012-2-3 17:30 编辑

send  buf20 30
        "\x06\x03\xAC\x0C\x0E\x01\x05\x40\xA0\x00\x00\x78\xF3"
发十六进制的。。。。你换下试试,是在不行吧,你把你的二进制转成十六进制,每个数之间用“\x”分割,应该就没问题了。
作者: levelksk    时间: 2012-2-6 17:59
谢谢楼上的,问题顺利解决了,在data.ws  中,我做了如下编辑
;WSRData 2 1

send  buf0 128
        "\x20"
        "\x00"
        "\x00"
        "\x00"
        "\x00"
        "\x00"
        "\x00"
        "\x00"
        "\x02"
        "\x00"
        "\x00"
        "\x01"
        "\x19"
        "\x8B"
        "\x4E"
        "\x23"
        "\x49"
        "\xEE"
        "\x00"
        "\x00"
        "\x00"
        "\x00"
        "\x00"
        "\x05"
        "\x00"
        "\x00"
        "\x00"
        "\x00"
        "\x00"
        "\x00"
        "\x00"
        "\x00"

recv  buf1 32



-1

服务器接收数据正确
作者: 云层    时间: 2012-2-6 18:16
其实你可以并成一个字符串
作者: cafard-haibin    时间: 2012-9-21 16:10
1、基础知识:
(1)需要知道所测试软件中的包结构。
(2)知道二进制流;
(3)知道Big Endian 与 Little Endian
(4)知道字符类型的长度
(5)知道:当两台采用不同字节序的主机通信时,在传输数据之前双方都必须 对其进行字节序转换,转为网络字节序后才能进行传输.

2、实例说明:

如某包体中有两个值,定义如下:

struct msgHead
{
int id,
char name
}

假设我们要发送的包体就包括这两个字段。并且id=81001 ,name=A

那么在loadrunner的data.ws文件中或者自己自定义的数据包中的值分别如下:

/*********************************
send buf0   5

"\x69\x3C\x01\x00"//说明:十进制:81001  十六进制:13C69 按照高低位存储:69 3c 01 00

"\x41"   //说明: ascii码A 对应十进制是65 ,65转化成十六进制是41  
*********************************/


三、注意

通过上面的例子,真正的理解后,不管你录制后的数据包显示什么样的乱码。都可以用以上方法,根据

包结构中定义的长度,一个个给解析出来。
作者: xiaofan3707    时间: 2012-9-24 14:34
学习了




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