Error code 10053,Software caused connection abort.
上一篇 / 下一篇 2007-02-01 14:21:43 / 个人分类:LoadRunner
/gS3~uhE.B0发现问题的应用场景
~5b2c2}(m#KC0 C/S结构程序,请求响应采用异步机制。即客户端发送一个请求后不是一直等待这个结果,客户端将请求存放在请求队列并获得一个JOBID,服务器运行后将运行结果存放在响应队列,客户端定时查看响应队列,根据JOBID定时从响应队列中获取结果。因此带来的测试问题是受服务器状态影响,客户端获取结果的次数不固定。
Yk{E1T1K0测试脚本示例
{F5H }|0K0Ln0 lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=localhost:8080", LrsLastArg);
J9U6J3]!f4Fx3]0 lrs_send("socket0", "buf56", LrsLastArg);
h'N:tWAns0 lrs_receive("socket0", "buf57", LrsLastArg);51Testing软件测试网L[qtKdR'u
GetJobID();
r] U.rg(H;i0 do{51Testing软件测试网)`G/pUP${
lr_think_time(0.3);51Testing软件测试网[`'X5qC1o"K
lrs_send("socket0", "buf58", LrsLastArg);
_Ff;h} iJ0 lrs_receive("socket0", "buf59", LrsLastArg);51Testing软件测试网E&o"v#~f6n!k8gK:p!R
}while(!CheckStatus());
w3KfL/~"CL0 其中buf56、57是发送请求,buf58、59是循环去获取结果并检查返回的标志位,若仍没有结果返回则在一定时间后循环获取结果,因此请求数不固定。
LR提示socket异常
d#j'Z3e
h9M0 当我用lrs_create_socket创建连接之后,当这个socket连接的请求次数达到100次后,这个连接就不可用了,必须close后再重新create。LoadRunner提示错误:Error : socket0 - Software caused connection abort. Error code : 10053.51Testing软件测试网Fw7iU/\6}2t[]
?.Fk:qk#sU_0问题验证51Testing软件测试网N6{-m3n%w*z
一开始认为是LoadRunner对Socket的支持问题,因为同样的测试方式在Rational Robot中可以通过。于是做了最简单的一个试验:51Testing软件测试网yg6J_u;]3i
1、用socket方式录制访问某个网页并保存(如baidu、或tomcat的默认页面)
F)?&{+w w[J s0 2、添加循环方式去访问
g*^
r3Zi@)}j0 结果证明在socket请求次数达到100后即无法再次访问了(少数次数可以达到一百零几)。51Testing软件测试网w(X%D o4f
51Testing软件测试网G3oXry*zLT
脚本如下:
zx \uk0 #include "lrs.h"
hKpzwb(z
s0 int i;51Testing软件测试网SZ5\s:RkU
Action()51Testing软件测试网3KWL+zw8Tc
{
d#K"EY2g%z#K0 lr_think_time(1);51Testing软件测试网]Xh%G_;AIf
51Testing软件测试网 w7y9`+`\U1tr1Z#p
lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=appsvr01:8080", LrsLastArg);
-KJ?mIB0 i=1;
-p'N)_
]3g y0 do{
1^]m$y2M-vBG+x0 lrs_send("socket0", "buf0", LrsLastArg);
b2Sf*s-v8v8Bm`0 lrs_receive("socket0", "buf1", LrsLastArg);51Testing软件测试网^|4c*dE
lr_output_message("-------------lrs request times: %d ", i);
z4po.qFR{Y#D0 i++;51Testing软件测试网8F7A*FEs
lrs_send("socket0", "buf2", LrsLastArg);
)^'WF(@
s5edV0 lrs_receive("socket0", "buf3", LrsLastArg);51Testing软件测试网1Bv[!BGI!s;e
lr_output_message("-------------lrs request times: %d ", i);51Testing软件测试网k2C],kH-{9bV lN
i++;