51Testing软件测试论坛

标题: loadrunner测试即时通信软件性能测试 [打印本页]

作者: 274924763    时间: 2013-3-5 14:09
标题: loadrunner测试即时通信软件性能测试
各位大虾们,我是loadrunner新手,现在用loadrunner测试类似于QQ的即时通信软件,用socket协议录制的脚本中,比如一个添加分组,不知道怎样对它进行参数化并发测试,貌似录制的时候就记录了当前用户的信息其他用户并发的时候参数不知到如何设置,脚本如下:

Action()
{
    lr_think_time(7);

    lrs_create_socket("socket0", "TCP", "RemoteHost=124.116.176.141:6888",  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_create_socket("socket1", "TCP", "RemoteHost=124.116.176.141:6889",  LrsLastArg);

    lrs_receive("socket0", "buf9", LrsLastArg);

    lrs_send("socket0", "buf10", LrsLastArg);

    lrs_send("socket1", "buf11", LrsLastArg);

    lrs_create_socket("socket2", "UDP", "LocalHost=5641",  LrsLastArg);

    lrs_send("socket2", "buf12", "TargetSocket=124.116.176.141:6060", LrsLastArg);

        lrs_close_socket("socket2");

    lrs_receive("socket0", "buf13", LrsLastArg);

    lrs_receive("socket0", "buf14", LrsLastArg);

    lrs_create_socket("socket3", "TCP", "RemoteHost=124.116.176.141:6871",  LrsLastArg);

    lrs_receive("socket0", "buf15", LrsLastArg);

    lr_start_transaction("添加分组");

    lr_think_time(20);

    lrs_send("socket1", "buf16", LrsLastArg);

    lr_think_time(6);

    lrs_send("socket0", "buf17", LrsLastArg);

    lrs_receive("socket0", "buf18", LrsLastArg);

    lr_end_transaction("添加分组", LR_AUTO);

    return 0;
}

data文件如下:

;WSRData 2 1

send  buf0 110
        "獑"
        "\x01\x00"
        "n"
        "\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "<username>"
        "\x00"
        ""
        "\xfd"
        "<password>"
        "\x00"
        ""
        "\xfd\x00\x00\x02\x00\x00\x00"

recv  buf1 318
        "磫"
        "\x01\x00"
        ">"
        "\x01\x00\x00\xf1\x02\x00\x00\x00\x00\x00\x00"
        "傇"
        "\x03\x00\x00\x00\x00\x00"
        "11111"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00"
        "*"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "*"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "*"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"

send  buf2 24
        "h"
        "\x87\x01\x00\x18\x00\x00\x00\xf1\x02\x00\x00\x00\x00\x00\x00"
        "傇"
        "\x03\x00\x00\x00\x00\x00"

recv  buf3 1116
        "r"
        "\x87\x01\x00"
        "\\"
        "\x04\x00\x00\xf1\x02\x00\x00\x00\x00\x00\x00"
        "傇"
        "\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00"
        "251010"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00"

send  buf4 16
        "\xa4"
        "\r"
        "\x03\x00\x10\x00\x00\x00"
        "傇"
        "\x03\x00\x00\x00\x00\x00"

recv  buf5 352
        "\xae"
        "\r"
        "\x03\x00"
        "\f"
        "\x00\x00\x00\x05\x00\x00\x00"
        "`"
        "\x10\x03\x00"
        "D"
        "\x00\x00\x00"
        "傇"
        "\x03\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00"
        "鎴戠殑濂藉弸"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "@B"
        "\x0f\x00"
        "`"
        "\x10\x03\x00"
        "D"
        "\x00\x00\x00"
        "傇"
        "\x03\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00"
        "鎴戠殑鍚屼簨"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00"
        "`"
        "\x10\x03\x00"
        "D"
        "\x00\x00\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00"
        "test"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00"
        "榔-"
        "\x00"
        "`"
        "\x10\x03\x00"
        "D"
        "\x00\x00\x00"
        "傇"
        "\x03\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00"
        "榛戝悕鍗"
        "\x95\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\t="
        "\x00"
        "`"
        "\x10\x03\x00"
        "D"
        "\x00\x00\x00"
        "傇"
        "\x03\x00\x00\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00"
        "test"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "镀-"
        "\x00"

send  buf6 16
        "\xc2"
        "\r"
        "\x03\x00\x10\x00\x00\x00"
        "傇"
        "\x03\x00\x00\x00\x00\x00"

recv  buf7 2204
        "\xcc"
        "\r"
        "\x03\x00"
        "\f"
        "\x00\x00\x00"
        "\b"
        "\x00\x00\x00"
        "j"
        "\x10\x03\x00\x12\x01\x00\x00\x90\x03\x00\x00\x00\x00\x00\x00"
        "\f"
        "\xf0\x03\x00\x00\x00\x00\x00"
        "258060"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00"
        "\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "j"
        "\x10\x03\x00\x12\x01\x00\x00"
        "i"
        "\x03\x00\x00\x00\x00\x00\x00"
        "祜"
        "\x03\x00\x00\x00\x00\x00"
        "258028"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00"
        "\x01\x00\x00\x00"
        "\b"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"

send  buf8 16
        "2"
        "\xae\x01\x00\x10\x00\x00\x00"
        "傇"
        "\x03\x00\x00\x00\x00\x00"

recv  buf9 12
        "<"
        "\xae\x01\x00"
        "\f"
        "\x00\x00\x00\x00\x00\x00\x00"

send  buf10 24
        "D"
        "\x94\x04\x00\x18\x00\x00\x00\xf1\x02\x00\x00\x00\x00\x00\x00"
        "傇"
        "\x03\x00\x00\x00\x00\x00"

send  buf11 110
        "獑"
        "\x01\x00"
        "n"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "傇"
        "\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"

send  buf12 28
        "虈"
        "\x01\x00\x1c\x00\x00\x00"
        "傇"
        "\x03\x00\x00\x00\x00\x00"
        "括"
        "\x01"
        "j"
        "\x16"
        "\t"
        "\x00\x00\x00\x00\x00\x00"

recv  buf13 8
        "N"
        "\x94\x04\x00"
        "\f"
        "\x00\x00\x00"

recv  buf14 4
        "\x04\x00\x00\x00"

recv  buf15 32
        "爢"
        "\x01\x00\x10\x00\x00\x00"
        "D"
        "\x94\x04\x00\x02\x00\x00\x00"
        "爢"
        "\x01\x00\x10\x00\x00\x00"
        "D"
        "\x94\x04\x00\x02\x00\x00\x00"

send  buf16 110
        "獑"
        "\x01\x00"
        "n"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "傇"
        "\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"

send  buf17 68
        "\xea"
        "\r"
        "\x03\x00"
        "D"
        "\x00\x00\x00"
        "傇"
        "\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00"
        "testing"
        "\x00"
        "-"
        "\x00"

recv  buf18 68
        "\xc4\x10\x03\x00"
        "D"
        "\x00\x00\x00"
        "傇"
        "\x03\x00\x00\x00\x00\x00"
        "\a"
        "\x00\x00\x00\x01\x00\x00\x00"
        "testing"
        "\x00"
        "-"
        "\x00"


-1
作者: linneiwei    时间: 2013-3-5 15:37
直接修改发送的数据报文里面,把需要替换部分参数化就行。当然前提你得知道要修改那部分,2进制比较不好编辑。

另外,可以使用kylinPET性能测试工具,二进制部分它提供十六进制编辑界面与ASCII对比(类似wireshark抓包显示二进制),比较直观,可以直接编辑修改。
可以参考http://www.kylinpet.com/document.html的《kylinPET 二进制、文本(Socket协议)使用指导》文章
作者: 274924763    时间: 2013-4-3 10:14
回复 2# linneiwei

谢谢啊,就是不知道怎么确定需要参数化的地方。。。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2