51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 14515|回复: 15
打印 上一主题 下一主题

[原创] 即时通讯软件(Openfire+Spark)怎么测试?

[复制链接]
  • TA的每日心情
    开心
    2014-11-11 09:38
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2008-1-4 16:04:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    我要测试一个类似QQ和MSN的局域网通讯软件
    Openfire(服务器) 和 Spark(客户端)都是用JAVA 开发的
    用sniffer抓包,发现之间通讯使用的是TCP协议
    用LoadRunner的Sockets协议录制Spark
    Spark 登陆后LoadRunner出现错误
    自动退出

    用Sockets 和Http两个协议录制时
    有代码产生,但回放不成功
    也没有错误提示

    ——————Action内容————————
    Action()
    {
    lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=172.16.14.100:5222", LrsLastArg);
    lrs_send("socket0", "buf0", LrsLastArg);
    lrs_receive("socket0", "buf1", LrsLastArg);
    lrs_send("socket0", "buf2", LrsLastArg);
    lrs_receive("socket0", "buf3", LrsLastArg);
    lrs_send("socket0", "buf4", LrsLastArg);
    lrs_receive("socket0", "buf5", LrsLastArg);
    lrs_send("socket0", "buf6", LrsLastArg);
    lrs_receive("socket0", "buf7", LrsLastArg);
    lrs_send("socket0", "buf8", LrsLastArg);
    lrs_receive("socket0", "buf9", LrsLastArg);
    lrs_send("socket0", "buf10", LrsLastArg);
    lrs_receive("socket0", "buf11", LrsLastArg);
    lrs_send("socket0", "buf12", LrsLastArg);
    lrs_receive("socket0", "buf13", LrsLastArg);
    lrs_send("socket0", "buf14", LrsLastArg);
    lrs_receive("socket0", "buf15", LrsLastArg);
    lrs_send("socket0", "buf16", LrsLastArg);
    lrs_receive("socket0", "buf17", LrsLastArg);
    lrs_send("socket0", "buf18", LrsLastArg);
    lrs_receive("socket0", "buf19", LrsLastArg);
    lrs_send("socket0", "buf20", LrsLastArg);
    lrs_receive("socket0", "buf21", LrsLastArg);
    lrs_send("socket0", "buf22", LrsLastArg);
    lrs_receive("socket0", "buf23", LrsLastArg);
    lrs_send("socket0", "buf24", LrsLastArg);
    lrs_receive("socket0", "buf25", LrsLastArg);
    lrs_send("socket0", "buf26", LrsLastArg);
    lrs_receive("socket0", "buf27", LrsLastArg);
    lrs_send("socket0", "buf28", LrsLastArg);
    lrs_receive("socket0", "buf29", LrsLastArg);
    lrs_send("socket0", "buf30", LrsLastArg);
    lrs_receive("socket0", "buf31", LrsLastArg);
    lrs_send("socket0", "buf32", LrsLastArg);
    lrs_receive("socket0", "buf33", LrsLastArg);
    lrs_send("socket0", "buf34", LrsLastArg);
    lrs_receive("socket0", "buf35", LrsLastArg);
    lrs_send("socket0", "buf36", LrsLastArg);
    lrs_receive("socket0", "buf37", LrsLastArg);
    lrs_send("socket0", "buf38", LrsLastArg);
    lrs_receive("socket0", "buf39", LrsLastArg);
    lrs_send("socket0", "buf40", LrsLastArg);
    lrs_receive("socket0", "buf41", LrsLastArg);
    lrs_send("socket0", "buf42", LrsLastArg);
    lrs_receive("socket0", "buf43", LrsLastArg);
    lrs_send("socket0", "buf44", LrsLastArg);
    lrs_receive("socket0", "buf45", LrsLastArg);
    lrs_send("socket0", "buf46", LrsLastArg);
    lrs_receive("socket0", "buf47", LrsLastArg);
    lrs_send("socket0", "buf48", LrsLastArg);
    lrs_receive("socket0", "buf49", LrsLastArg);
    lrs_send("socket0", "buf50", LrsLastArg);
    lrs_receive("socket0", "buf51", LrsLastArg);
    lrs_send("socket0", "buf52", LrsLastArg);
    lrs_receive("socket0", "buf53", LrsLastArg);
    lrs_send("socket0", "buf54", LrsLastArg);
    lrs_receive("socket0", "buf55", LrsLastArg);
    lrs_send("socket0", "buf56", LrsLastArg);
    lrs_receive("socket0", "buf57", LrsLastArg);
    lrs_send("socket0", "buf58", LrsLastArg);
    lrs_receive("socket0", "buf59", LrsLastArg);
    lrs_send("socket0", "buf60", LrsLastArg);
    lrs_receive("socket0", "buf61", LrsLastArg);

    lrs_close_socket("socket0");
    return 0;

    ———data.vs内容—————
    ;WSRData 2 1
    send  buf0 118
    "<stream:stream to=\"172.16.14.100\" xmlns=\"jabber:client\" xmlns:stream=\""
    "http://etherx.jabber.org/streams\" version=\"1.0\">"
    recv  buf1 672
    "<?xml version='1.0' encoding='UTF-8'?><stream:stream xmlns:stream=\"http:/"
    "/etherx.jabber.org/streams\" xmlns=\"jabber:client\" from=\"172.16.14.100\""
    " id=\"21b3ac33\" xml:lang=\"en\" version=\"1.0\"><stream:features><starttl"
    "s xmlns=\"urn:ietf:params:xml:ns:xmpp-tls\"></starttls><mechanisms xmlns=\""
    "urn:ietf:params:xml:ns:xmpp-sasl\"><mechanism>DIGEST-MD5</mechanism><mecha"
    "nism>PLAIN</mechanism><mechanism>ANONYMOUS</mechanism><mechanism>CRAM-MD5<"
    "/mechanism></mechanisms><compression xmlns=\"http://jabber.org/features/co"
    "mpress\"><method>zlib</method></compression><auth xmlns=\"http://jabber.or"
    "g/features/iq-auth\"/><register xmlns=\"http://jabber.org/features/iq-regi"
    "ster\"/></stream:features>"
    send  buf2 51
    "<starttls xmlns=\"urn:ietf:params:xml:ns:xmpp-tls\"/>"
    recv  buf3 50
    "<proceed xmlns=\"urn:ietf:params:xml:ns:xmpp-tls\"/>"
    send  buf4 100
    "\x80"
    "b"
    "\x01\x03\x01\x00"
    "9"
    "\x00\x00\x00"
    " "
    "\x00\x00\x04\x01\x00\x80\x00\x00\x05\x00\x00"
    "/"
    "\x00\x00"
    "3"
    "\x00\x00"
    "2"
    "\x00\x00"
    "\n"
    "\a"
    "\x00\xc0\x00\x00\x16\x00\x00\x13\x00\x00"
    "\t"
    "\x06\x00"
    "@"
    "\x00\x00\x15\x00\x00\x12\x00\x00\x03\x02\x00\x80\x00\x00"
    "\b"
    "\x00\x00\x14\x00\x00\x11"
    "G}臻祴"
    "\x13"
    "薍]け嬟譌vl竦H曃"
    "\xd3\x1f"
    "4("
    "\x10"
    recv  buf5 570
    "\x16\x03\x01\x02"
    "5"
    "\x02\x00\x00"
    "F"
    "\x03\x01"
    "G}臻"
    "\x0e"
    "w 敁砉谛觇"
    "\xf5\x12"
    "\"n橇"
    "\x15"
    "玛el/\n"
    "滝"
    "\x16"
    "M G}臻犂u粀"
    "\xaf"
    "\"贂"
    "\x12"
    "饱Wl轸珢"
    "\xb3"
    "'\r猒%D^檔"
    "\x00\x04\x00"
    "\v"
    "\x00\x01\xe3\x00\x01\xe0\x00\x01\xdd"
    "0"
    "\x82\x01\xd9"
    "0"
    "\x82\x01"
    "B"
    "\xa0\x03\x02\x01\x02\x02"
    "\b|尖"
    "\x99"
    "'"
    "\xea"
    "0\r"
    "\x06"
    "\t*咹嗺\r"
    "\x01\x01\x04\x05\x00"
    "0"
    "\x18"
    "1"
    "\x16"
    "0"
    "\x14\x06\x03"
    "U"
    "\x04\x03"
    "\f\r172.16.14.1000"
    "\x1e\x17"
    "\r080102092800Z"
    "\x17"
    "\r121206092800Z0"
    "\x18"
    "1"
    "\x16"
    "0"
    "\x14\x06\x03"
    "U"
    "\x04\x03"
    "\f\r172.16.14.1000仧0\r"
    "\x06"
    "\t*咹嗺\r"
    "\x01\x01\x01\x05\x00\x03"
    "亶"
    "\x00"
    "0亯"
    "\x02"
    "亖"
    "\x00\xb2\x0e"
    "じ97#"
    "\x84"
    ":"
    "\x1c"
    "碞Dcm"
    "\x14"
    "\tng"
    "\x89"
    ";躸d赏"
    "\xbb"
    ".Rj迤f6.o艞閪"
    "\x06\x19"
    "\a旽"
    "\xa4"
    "\r拲z灰"
    "\xaf"
    "<a薩[柇R\r犺恐b溶7n"
    "\x9e\x1c\xed"
    "\v韦\\"
    "\x85"
    "?"
    "\x92"
    "(!挍柫'\t^繐徾詝課"
    "\xac"
    "(YE幛噣Y"
    "\x05"
    "`&="
    "\x1a"
    "G"
    "\x1c"
    "羪孤棱"
    "\xab"
    "(醿"
    "\x02\x03\x01\x00\x01\xa3"
    ",0*0("
    "\x06\x03"
    "U"
    "\x1d\x11\x04"
    "!0"
    "\x1f\xa0\x1d\x06"
    "\b+"
    "\x06\x01\x05\x05"
    "\a\b"
    "\x05\xa0\x11"
    "\f"
    "\x0f"
    "*.172.16.14.1000\r"
    "\x06"
    "\t*咹嗺\r"
    "\x01\x01\x04\x05\x00\x03"
    "亖"
    "\x00\x1c"
    "'"
    "\xa5\x12"
    "]c"
    "\xf2"
    "\n"
    "癣豿蓋U"
    "\x91\x10"
    "lz6l"
    "\xb6"
    "\f\\"
    "\xc3\xff"
    "Y恣灯,伃婫涋蟖獚喝y伂q抆"
    "\x1b"
    "8U綹u劰h誰特"
    "\x8b"
    " 9c&v"
    "\x0f"
    "e玙"
    "\x1b"
    "茆Q"
    "\xd5"
    "<裋朸"
    "\x80"
    "闂擊"
    "\x1f"
    "B"
    "\xca"
    "1景鼴竭V.v"
    "\x05"
    "\v"
    "\x96\x18"
    "麜M位嶼NgH"
    "\x9e"
    "$;"
    "\x88"
    "?A绀BU"
    "\x0e\x00\x00\x00"
    ……

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2014-11-11 09:38
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]测试小兵

    2#
     楼主| 发表于 2008-1-4 16:09:02 | 只看该作者
    Openfire+Spark+Spark Web安装配置(一)
    http://sun-snowfox.blog.sohu.com/74538502.html

    Openfire+Spark+Spark Web安装配置(二)
    http://sun-snowfox.blog.sohu.com/74541019.html

    Openfire+Spark+Spark Web安装配置(三)
    http://sun-snowfox.blog.sohu.com/74542147.html
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2008-11-4 15:54:44 | 只看该作者
    怎么没人回答了,我也想这方面的问题!麻烦知道的朋友说下!!!!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2009-1-5 13:21:12 | 只看该作者
    LZ你好,后来这个你C/S结构,你测试了吗?我现在遇到和你一样的问题,也打算测试openfire+spark,望LZ赐教. 谢谢.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2009-3-30 20:05:56 | 只看该作者

    求兼职openfire +spark开发

    求兼职openfire +spark开发
    了解 spark的原理
    了解spark与QQ MSN 通信的原理!
    了解jecat 等webim即时通!
    联系QQ:147858017
    手机:13472478590
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2009-10-23 15:30:16 | 只看该作者
    LZ,你好。我也遇到和你一样的问题,现在解决了吗?望赐教!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-3-11 09:18
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    7#
    发表于 2010-2-23 17:50:59 | 只看该作者
    改用loadrunner 8.1
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2010-4-13 13:42:28 | 只看该作者
    请教各位一下,你们的问题都解决了嘛?能不能说以下解决方法呀?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2010-12-29 10:40:23 | 只看该作者
    我也遇到了这样的问题。。  麻烦大虾们解决下。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2013-11-6 17:16:34 | 只看该作者
    各位大哥大姐,此问题你们是如何解决的,小弟在此跪谢!!!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2014-7-24 17:18:22 | 只看该作者
    回复 10# testforphone


        我做过openfire+Spark的性能测试,
    方案一:建议找开发将通信过程中的发送和接收的日志打印出来,xml格式的,然后按照此格式替换到data.ws中,手写脚本,此方式要求很细心,工作量较大!
    方案二:openfire有现成的性能测试工具,Tsung,开源的,只是要运行在linux环境下,可以找找tsung相关资料看看就懂了!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2015-4-28 18:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    12#
    发表于 2015-5-15 10:03:13 | 只看该作者
    xiongyijz 发表于 2014-7-24 17:18
    回复 10# testforphone

    我现在也在做openfire的性能测试,我想了解一下你都测了哪些场景?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2015-5-18 10:00:18 | 只看该作者
    spark这个是客户端登陆吧,Loadrunner的用户登录之后应该会把spark的用户挤下来,另外你抓包填进data.ws里面的数据有乱码,这个应该是不对的吧。我之前抓XMPP协议的报文全部是字符串的,还是说你这个系统是加密过的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2015-12-1 15:02:14 | 只看该作者
    TristaHan 发表于 2015-5-15 10:03
    我现在也在做openfire的性能测试,我想了解一下你都测了哪些场景?

    同求,,想要知道哪些测试用例以及场景
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-12-4 10:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    15#
    发表于 2015-12-1 15:34:02 | 只看该作者
    本帖最后由 joe45 于 2015-12-1 15:52 编辑

    loadrunner压不上10万的在线。 如果使用socket协议,TPS会很慢。可能还会有base64加密需要绕过去,或者decode结果,但是不同的软件, 加密规则会不同。 我用过lr 的 socket的协议压测。 也用过jmeter 加上调用java的 base64加密 jar包压测。
    最好的还是用 tsung 来压测。 可以测试心跳,报文,在线,发消息等等。 tsung还支持多台并发。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-20 02:15 , Processed in 0.080228 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表