发布: 2008-10-08 14:12 |
作者: xingcyx |
来源:
xingcyx的博客 |
查看: 41次 | 进入软件测试论坛讨论
领测软件测试网
`bqE*E+eZ9M,Y2、第二种方法则麻烦一点,下面重点做个介绍。(不是我故意要找麻烦,而是因为我每次遇到的问题总是要比一般的情况麻烦一点,5555~~)
软件测试技术网#b.a.ybcBV+|$^%L软件测试技术网E*Y2W$A*a(vtD 事情是这样的:话说如果我要发送的数据是很通过简单的方法拼接起来,举个简单的例子,比如是“用户名(假设是123)+密码(假设是456)”,在这种情况下,使用第一种方法就够用了,我可以设置两个参数<username>和<password>,写成
"iG$U3kR W1v2\dozb*y}T h!Esend buf0 106
软件测试技术网~
n ~K"W'b"<username><password>"
2Q'm"l$b Q2x'@软件测试技术网)pCB/{B`的方式就可以了。
8W1O9q0e\G软件测试技术网w7~+k#RwC 但是这边的情况稍微复杂一些,发送的数据格式还需要加上字符串的长度,比如在上面的例子中,需要这样表示:00100312303456。
软件测试技术网
aC*k1aq前四位0010是表示后面发送的字符串总长度是10,后面的03则表示用户名有3位,再后面的123才是真正的用户名,再后面的03456也是同样的道理。而每次发送的用户名长度不同,字符串也就不同,比如用户名如果是1234,那么我的报文就应该是这样“001104123403456”这样一来,我就不能通过简单地拼接的方式来发送了,而需要再对它进行一些处理。
软件测试技术网m
i)Xw'V.vfT'F软件测试技术网Q7a R9w*A't 我的方法是在action中进行字符串的拼接和处理:
4Z){r@:YM,u.n char data[200];
3OI\Z]z~C
\6O char length[20];
0Q:u,k+V!Q6{2l#^f软件测试技术网u2z\'R$r5]%z] len = strlen(lr_eval_string("{usermame}"));
G9jS8v0q iNMe sprintf(length,"%d",len);
:@{t'R_!Sjx%yA strcat(data,length);
1rl$|M-h,P#KB