|
action()中的winsocket脚本
#include "lrs.h"
Action()
{
lrs_create_socket("socket0", "TCP", "RemoteHost=192.168.10.2:51461", LrsLastArg);
lrs_send("socket0", "buf0", LrsLastArg);
lrs_receive("socket0", "buf1", LrsLastArg);
lrs_send("socket0", "buf2", LrsLastArg);
lrs_receive("socket0", "buf3", LrsLastArg);
lrs_close_socket("socket0");
return 0;
}
其中data.ws文件是:
;WSRData 2 1
send buf0 101
"MBWII 01011.000000Server MmlTest 000000Login000000000000000HELO PA"
"SV=0\tuser=user1\tpass=pass1"
"\x00"
recv buf1 101
"MBWII 01011.000100MmlTest Server 000000Login000000000000000HELO re"
"tn=0\tport=\tdesc=Login OK.."
"\x00"
send buf2 180
"MBWII 01801.000001Server MmlTest 0000001000000000 F1460101 us"
"erno=13160000500\tsmtotal=100\tsmleft=20\tfristtime=1151994579\tendtime=21"
"51994579\tsmtype=2\tmonth=200608\t\t "
"\x00"
recv buf3 227
"MBWII 00941.000100MmlTest Server 0000001000000000 F1460101 re"
"tn=0\tdesc=Data OK.."
"\x00"
"MBWII 01331.000200MmlTest Server 0000001000000000 F1460101 re"
"tn=-1\tret_code=-3\tdesc=接收INSERTFM_EX_RESP_TYPE包错误!_\t"
"\x00"
-1
讨论:
1: 在作压力测试或者回防脚本时,data.ws文件中的缓冲区recv buf1 101和recv buf3 227中的数据是否有必要参数化(buf0和buf2需要参数化,必须保证发送请求包系列号唯一), 对作压力测试是否有用,我个人认为它们不需要参数化.
2:在程序代码中是这样处理的: 必须提起第一次握手后返回值retn=o时(此处即buf1中的retn=0)才进行第二次握手,如果返回非0值,则不进行第二次握手.请问大家在loadrunner中怎么处理这种关系. |
|