51Testing软件测试论坛
标题:
LR录制的及时通讯工具的UDP协议问题.
[打印本页]
作者:
z_kh
时间:
2009-1-16 12:29
标题:
LR录制的及时通讯工具的UDP协议问题.
我是LR新手.今天测试了一款类似QQ的及时通讯工具.在录制脚本回放的时候显示 10049和9017错误
Action.c(20): Error : callConnect - Can't assign requested address. Error code : 10049.
Action.c(20): Error : Timeout expired while trying to connect. Error code : 9017.
看了很多资料,明白是因为UDP协议问题造成的脚本没有和服务器同步问题.但是我比对脚本后不知道该怎么入手.
我把脚本比对的不同地方选了一个比较有代表性的放上来,请高手们指点指点啊....
麻烦各位帮帮忙.
小弟先谢谢了.
作者:
Zee
时间:
2009-1-16 12:57
说明一下功能流程;
查一下后台的日志;
作者:
z_kh
时间:
2009-1-16 13:12
我录制的仅仅只是一个登陆.
日志我用附件传上来.
作者:
z_kh
时间:
2009-1-16 13:14
哦,说明下.我们这个鸟东东本身是用UDP写的,但是在登陆的时候加载好友信息部分是使用TCP协议处理的.
作者:
z_kh
时间:
2009-1-16 14:50
看来楼上这位兄弟还不够清楚SOCKET啊,建议先去找找SOCKET相关资料看
简单的说
Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。
也就是 应用层-->SOCKET-->TCP/IP协议族通信.
呵呵.不过我不知道我的理解有没有错哈
作者:
z_kh
时间:
2009-1-16 15:16
我也理解错你意思了.呵呵.
错误的原因我已经找到了。但是不知道该如何解决。
我的DATA.WS里显示BUF34等好几个BUF是在加载数据,不过他们加载的这个数据的顺序肯定是不一致的。当然这些数据最后显示的结果应该是一样的。
[
本帖最后由 z_kh 于 2009-1-17 11:42 编辑
]
作者:
z_kh
时间:
2009-1-17 11:10
Zee老大,我在网上找到这么一点东东.
LR中点鼠标做关联(winsock协议)
http://www.testage.net/html/18/n-160518.html
编者语:
本篇文章也是采编自好友Zee的博客……,这是他其中的一篇;本篇主要写在winsocket中鼠标的操作的关联,讲解了Winsocket中的关联函数lrs_save_param函数的应用,以及在整个过程中如何应用这些函数。详细的请参见本文吧
但是我打不开你的这篇文章哦.不知道可否有相关的SOCKET协议下的动态关联函数介绍文章地址发个给我参考下要如何做?我在网上看了很多关于这个函数的用法讲介,看的很晕。。。
另外找资料的时候发现有人提到:
经常发生于返回buf长度与录制不一致时
lrs_set_recv_timeout(0,0);
lrs_set_recv_timeout2(0,0);
但是不知道后面的(0,0) 具体代表什么意思呢?
小弟做测试时间还很短。很多LR的东东不懂,请大家多帮帮忙。。。。
[
本帖最后由 z_kh 于 2009-1-17 11:39 编辑
]
作者:
z_kh
时间:
2009-1-19 11:48
怎么没人指点下哦...
难过哇..
我做关联的时候,BUF大数据量设置参数LR直接崩溃,能被我的WINDBUG捕捉到..用的是lrs_save_param()函数.请问是怎么回事
做个CS的压力测试咋就这么难呢..
继续顶起啊.大大们路过的时候请指点指点啊.
作者:
z_kh
时间:
2009-1-21 10:25
高手么...指点指点啊...
作者:
tttrrryyy
时间:
2009-1-21 10:49
对于socket协议,除了比较脚本的不同以外,更要比较buf内容的不同,你放的那张图可以说没一点用处
作者:
tttrrryyy
时间:
2009-1-21 10:50
前后录制两次一样的操作,脚本打包传上来,正好现在有时间可以帮你看看
作者:
z_kh
时间:
2009-1-21 15:26
两份脚本上传了。
作者:
z_kh
时间:
2009-1-21 15:29
两份脚本录制是一摸一样的。都是登陆,加载数据。但是我发现BUF的接收先后都是不一致的。不知道改怎么处理。。
作者:
tttrrryyy
时间:
2009-1-21 16:49
给脚本加上事务点,如启动客户端,登录,退出系统等等,将各事务分离开,看是哪个环节出的问题。
另外如果你的脚本报错信息就是上面说的,说明在第20行时开始报错,也就是 lrs_send("socket0", "buf2", LrsLastArg);
比较下BUF2的内容,确实存在差异,你自己比较下看看,一个是"0",一个是"F9j*",首先要搞清楚这个差异是如何产生的,弄清楚这个问题也就该解决了,实在不行可以请教下开发组的同事,问下一次登录的操作向服务器提交了哪些信息,得到的返回又是怎样
作者:
z_kh
时间:
2009-1-21 16:54
因为仅仅是为了研究SOCKET,这份脚本仅仅录制了一个登陆过程.而后直接终止掉录制的,所以我没有做任何的事物.
甚至ACTION我都没有用到.
好的.我查看下.
作者:
z_kh
时间:
2009-1-21 17:04
确实是不同.谢谢了
不过我有个疑问
我执行回放脚本的时候要到BUF34的时候才报错,这是为什么呢?而且这个错误,其实在第一个BUF.也就是BUF0的时候就已经不同了.按我的理解.当BUF的长度不一致的时候应该就会报错,而比较BUF0后,我发现他其实长度已经不一致了.
[
本帖最后由 z_kh 于 2009-1-21 17:17 编辑
]
作者:
z_kh
时间:
2009-1-22 15:31
马上要回家了。看来这个问题今年是没办法解决了。。
郁闷ing 。。
来年继续。。。
作者:
云层
时间:
2009-1-24 23:39
c/s架构的东西最好自己写个客户端来压吧,别死在lr上了,用个大炮打蚊子,研究怎么打中,确实是很有技术含量的事情
作者:
zhengaiqi
时间:
2013-5-24 11:46
回复
20#
云层
陈老师,关键是不会写客户端呀。。哎,咋办呀
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2