TM—test聊天的脚本
上一篇 / 下一篇 2010-12-17 11:42:56 / 个人分类:测试开发
KbST7T ~0/*********************************************************************51Testing软件测试网.q,[C-}`D F
* Created by Mercury Interactive Windows Sockets Recorder51Testing软件测试网s3|eB!Cqbd
z
*
v6H:FI_\l0 * Created on: Mon Mar 13 17:30:3351Testing软件测试网w#i4F"gXM2a+l+^
~
*********************************************************************/51Testing软件测试网)Q&b7I
p\
D
,SqE!Ic'a,D*R0#include "lrs.h"
`/M:kE*ftS }v0#include "as_web.h"51Testing软件测试网$Np#[mB^)[?
#include "web_api.h"
G7bH{1\*k0
2W4C$@%XB+L*}0int i,j,k,l;
Z2uE2Bv#a0void Save_RecvBuffer(char *socketID, char *SaveBuffer);
'S8[K)x8vV2Te0void Gen_onlineUser(char outputUser[100][20], int *outputNum, char *LastRecvBuffer);
6j@R1q!VC!@9~ }"jK051Testing软件测试网A M:m8}2H@
Action()51Testing软件测试网a5WnbP!Fb
{
}9a%e.DA)^ OC@o]0 char LastRecvBuffer[10000] = "";51Testing软件测试网5g(@"O$EcW _b
int recv_i;
H;Hy9B1B0 char onlineUser[100][20];
?z!]P&@,j0 int userNum = 0;
/fn
p-jN/u*g7D n Uo:N0 int randNum = 0;
char msg[4096] = "";51Testing软件测试网"W0`N\u1p N/i]
51Testing软件测试网w&S`2Al7VZ3P //xml格式的数据包
.zsrw-\hV4YQ\E0 char qGroup[] = "<query id='<RadomID>'to='test@groups.test.com'type='get' xmlns='test:q:groups'><op>client:stop</op></query>";
hc9s.r] C0 char qtest[] = "</test:stream>";51Testing软件测试网!Ym.s,M8i5~cdq
\*^ t&Py;C#Ax4G0 lrs_set_recv_timeout(0,50000);51Testing软件测试网8Y8Gg$j'U+wX
L
lrs_set_recv_timeout2(0,50000);
//--------------------------------------------------------51Testing软件测试网7?X*[t.VK2K;Z
//login51Testing软件测试网klx}L1H8H$S
lr_rendezvous("Login");
lr_start_transaction("Login");51Testing软件测试网y1tPNM c-W
51Testing软件测试网 iic)Qo9JB] //创建socket
s.C.I EF"POL0 lrs_create_socket("socket0", "TCP", "RemoteHost=192.168.0.1:8001", LrsLastArg);
lrs_send("socket0", "buf0", LrsLastArg);
"o;s$]s#b0 lrs_receive("socket0", "buf1", LrsLastArg);
dX2Y2aA3]p&z0 lrs_send("socket0", "buf2", LrsLastArg);51Testing软件测试网$`2CX {3B6L
lrs_receive("socket0", "buf3", LrsLastArg);51Testing软件测试网Q+J1?9e0y$w#a
d.TsJs0N#Y!Y6@0 lr_end_transaction("Login", LR_AUTO);51Testing软件测试网-S4l[qC;K
51Testing软件测试网6U0|j QZvPrsleep (1000);51Testing软件测试网UQ YpIq
51Testing软件测试网|6Kl;y-R_kL;F:]*f
6@vyr)JU\0 //--------------------------------------------------------
(r;K jME0 //加入group
#d.e!X,i:d;sO0 lr_rendezvous("join_group");51Testing软件测试网8w.z:?u1j
lr_start_transaction("Join group");51Testing软件测试网:`WvTO
51Testing软件测试网;hl_3R4KL;p.pq3glrs_send("socket0", "buf4", LrsLastArg);51Testing软件测试网!MV!tZCCH
51Testing软件测试网k3UBXV[ for(j=0;j<3;j++){51Testing软件测试网iQ I:_#L
lrs_receive("socket0", "buf5", LrsLastArg);51Testing软件测试网U5aO
[rQZ
}51Testing软件测试网;@*nj+Bz6Vt
f-b
lr_end_transaction("Join group", LR_AUTO);
|zA$de p)U&U1m0#|4r+sU)\c051Testing软件测试网0zU
ms8TZ
//--------------------------------------------------------51Testing软件测试网lp+Q:Dl{
//获取在线用户列表51Testing软件测试网6|+YB:j%\;\:Nr8]
lrs_send("socket0", "buf9", LrsLastArg);
recv_i = 0;51Testing软件测试网zX5`n|z;vK:Q
do{
#F1W5M:mb9{0 lrs_receive("socket0", "buf15",LrsLastArg);
o2Eqa,Lf oI0 Save_RecvBuffer("socket0",LastRecvBuffer);
k'r|
e,d[?O0 recv_i++;51Testing软件测试网a L]nY
} while(strstr(LastRecvBuffer,"online") == 0 && recv_i < 10);51Testing软件测试网-c d\
\kv
Gen_onlineUser(onlineUser, &userNum, LastRecvBuffer);51Testing软件测试网#h3R_r`Y!x]f R[
51Testing软件测试网6ME-ub2_/^+t //--------------------------------------------------------51Testing软件测试网Y%v*{]
{8Bb'p_
//随机向其他在线用户发消息,循环100次51Testing软件测试网4Kw*c|!e
srand( time(NULL) );
"KZ a_v y0 for(l = 0; l <= 100; l++){
%r/lN
K7f-A:h;q%oR0
!J0~k7HPnj0 randNum = rand() % (userNum+1) ;
5O
U_y,i2Jw+j3rSW0 if( strstr(onlineUser[randNum], "#") != 0 )51Testing软件测试网/Z;N(vi`}E
t9F9d
continue;
sprintf(msg,"<message id='<RadomID>' to='%s' xmlns='normal'><content>Mseeage ID : - <msg> - ",onlineUser[randNum]);
4JD D4]dq5w0tS
z7[0 strcat(msg,"- <msg> - </content></message>");51Testing软件测试网6ltF}C%nU}x
tL/p:KU.p0 lrs_set_send_buffer("socket0", msg, strlen(msg) );
9f| ~
F^'o0 lrs_send("socket0", "buf11", LrsLastArg); //send Msg51Testing软件测试网
O-m+_ BX*t,~&n%Ty
//接收其他用户发来的消息
&l5I\{h o8{d-q0 lrs_receive("socket0", "buf5", LrsLastArg);
Z/YMuT(e7z?0 }
&^ dw-GmK051Testing软件测试网ek} qP9I //--------------------------------------------------------51Testing软件测试网W"N#L
Up8r1@h
//退出group51Testing软件测试网8I H"rAR
lrs_set_send_buffer("socket0", qGroup, strlen(qGroup) );51Testing软件测试网u0|q*v[6y
lrs_send("socket0", "buf6", LrsLastArg); //quit group
@~(_5|K ma*z*o6w0 //接收退出消息等等51Testing软件测试网1c"vc1[ e
for(k=0;k<3;k++){51Testing软件测试网2q"Nx4Q4?!Y
lrs_receive("socket0", "buf7", LrsLastArg);51Testing软件测试网%M]4sN1Jd3C
}51Testing软件测试网
L;rl"`
e1Cb:`7pR Z
c8}{&WO2j-Y0 sleep (1000);
5N X,h$HUR7Zm!g?HM0[P
\-M*F0c1tp#` i0 //退出IM消息平台51Testing软件测试网T5_9~9F8n+JUO/|^
lrs_set_send_buffer("socket0", qtest, strlen(qtest) );
!o-Ki6`(rNSh!~w)]-t0 lrs_send("socket0", "buf8", LrsLastArg);
Qb|!tyH||0 //断开socket51Testing软件测试网s| _)I%c-G9U'l7i
lrs_disable_socket("socket0", DISABLE_SEND_RECV);
g3DY\!b-I0 lrs_close_socket("socket0");
return 0;51Testing软件测试网Cf(A!M| t
%^ ~)pZIh'sN0}51Testing软件测试网 Px9k+Ho6A.rdin
M([ru5U:fL0
z;Ee:ox&}'w&Q0//接收最后缓冲区数据并输出到字符串////////////////////////////////////////////////////
t~9qv.P)sA0void Save_RecvBuffer(char *socketID, char *SaveBuffer)
XA0jII0{51Testing软件测试网4o!Df5n&KSP-n
char *Buffer;
Oqh,\s@d0e B0 int NumberOfBytes;
strcpy(SaveBuffer, "");51Testing软件测试网(dC({.G1?
$|X/x5rF*Y0 lrs_get_last_received_buffer(socketID,&Buffer, &NumberOfBytes);
w-O.v;{'i`T0Q9vr(qm051Testing软件测试网t*t3t1^'HZ
if ( NumberOfBytes > 0 && NumberOfBytes < 9999 ){
3N1w.Vut5v]0 lrs_save_param_ex(socketID, "received", Buffer,0,NumberOfBytes, "ascii", "new_parameter");
?9xl*Z;qw0 strcpy(SaveBuffer, lr_eval_string("<new_parameter>"));51Testing软件测试网U`!J*]$c6jf:p
}else if( NumberOfBytes >= 9999 ){
\9D!d9X1Rui9w#S0#f9Fa0y_{6LIa0 lrs_save_param_ex(socketID, "received", Buffer,0,9998, "ascii", "new_parameter");
+y yGIVjP"Ee[0 strcpy(SaveBuffer, lr_eval_string("<new_parameter>"));51Testing软件测试网X+i6H{T7F#k
}
W^G Emo_z8za&_0 else{
7K5_N(D0}#kM![0 ;51Testing软件测试网!cd#S` ?T4qc8C
}
F B_A:i9YC0 lrs_free_buffer(Buffer);