51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 32686|回复: 19
打印 上一主题 下一主题

[求助] LoadRunner 如何进行接口的压力测试(http协议)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-11-28 11:08:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
LoadRunner 如何进行接口的压力测试(http协议)
会的同仁可以加我QQ  952173657
感激!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2
回复

使用道具 举报

该用户从未签到

2#
发表于 2011-11-28 15:56:23 | 只看该作者
可以考虑用jmeter?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2011-11-28 17:55:35 | 只看该作者
回复 2# ella2008cm


    不会使用那工具。哎。。。。太白开水了!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2011-11-29 16:31:28 | 只看该作者
我也遇到同样的问题 我用lr测试的 但返回值太多 不知道怎么判断 求达人解决
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    5#
    发表于 2011-11-29 19:45:07 | 只看该作者
    回复 1# 潇潇暮雨


        楼主讲的接口是指什么样的接口
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    6#
    发表于 2011-11-29 19:45:18 | 只看该作者
    回复 4# lenjuan


        返回的值太多,是指?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2011-11-29 20:58:14 | 只看该作者
    回复  潇潇暮雨


        楼主讲的接口是指什么样的接口
    msnshow 发表于 2011-11-29 19:45



        就是http协议的那种接口,get,post
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    8#
    发表于 2011-11-29 22:18:37 | 只看该作者
    回复 7# 潇潇暮雨

    这个直接使用http/html协议录制就OK了吧
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2011-11-30 09:12:56 | 只看该作者
    回复 8# msnshow


        我开始也是这样做的。可是我把URL在浏览器上运行 报错。不知道是不是我的测试方式错了,还是接口问题。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    10#
    发表于 2011-12-1 00:13:09 | 只看该作者
    如果你的URL是post的,直接用浏览器访问没有post需要的参数,肯定会报错的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2011-12-1 09:19:39 | 只看该作者
    回复 10# msnshow


         我后来传了参数。可是用LR怎么进行自动化的传参呢?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    12#
    发表于 2011-12-1 13:28:31 | 只看该作者
    自动化传参是指啥,不就参数化就行了么
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2011-12-1 13:42:20 | 只看该作者
    回复 1# 潇潇暮雨

    下面给楼主2个例子,参考以下,然后主要压测的时候需要开发提供相关接口文档,或者自己录制。
    左侧的Name都是开发提供的接口参数名称,Value是相应的参数值。Action为开发给的测试地址。
    PS:注意在测试的时候设置Controller的Run time seting  Pacing的值为With a fixed delay of X seconds。还要注意在压测的时候观察服务器的CPU利用率已经内存使用情况。

            web_submit_data("insert",
                    "Action= http://116.211.23.121/app/Jigsaw/GetResult.ashx",
                    "Method=GET",
                    "Referer= http://116.211.23.121/home.aspx",
                                     "Mode=HTML",
                    ITEMDATA,
                    "Name=uid","Value={myUid}",ENDITEM,
                    "Name=id","Value=4",ENDITEM,
                    "Name=time","Value=00:00:{ss}",ENDITEM,
                    "Name=piecewn","Value={myPiecewn}",ENDITEM,
                    "Name=piecehn","Value={myPiecehn}",ENDITEM,
                    LAST);


    char str[1000];
    strcpy(str,"SNSID=7999&UserID=1&CommentsTypeID=1&CommentsID=1&AuthorID=1&CommentsContent=1");
    web_custom_request("Publish",
         "Url= http://10.240.248.103:7006/Comment/{IID}",
         "Method=POST",
         "Referer= http://10.240.248.103:7006/Comment/{IID}",
         "Mode=HTTP",
         str,
        LAST);
    这也是一种写法,可以跟web_submit_data互换。这种写法更利于拼接参数。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2011-12-1 13:47:16 | 只看该作者
    回复 1# 潇潇暮雨

    忘记说了,这个只是一个简单的LR API函数,还需要对脚本使用web_reg_find()做一个最终的结果检查:
    PS:下面的例子是我以前写的一个脚本的例子,对最终的返回结果要最好有一个结果检查,这样子比较合理些。
    Action()
    {
            web_reg_find("Search=Body", //定义查找范围
        "SaveCount=result", //定义查找计数变量名称
        "Text=领取成功", //定义查找内容
         LAST);

    //发送请求
            web_submit_data("GetActivativeCode",
                    "Action= http://192.168.101.181:8931/project/libao/bf.asp",
                    "Method=POST",
                    "Referer= http://192.168.101.181:8931/project/libao/bf.asp",
            "Mode=HTML",
                     ITEMDATA,
            "Name=Jcode","Value=4",ENDITEM,
            "Name=Account","Value=zhzh1986",ENDITEM,
                        LAST);

            if (atoi(lr_eval_string("{result}")) > 0) //判断如果Welcome字符串出现次数大于0
            lr_output_message("Log on successful."); //在日志中输出Log on successful
        else
                    //如果出现次数小于等于
           lr_error_message("Log on failed"); //在日志中输出Log on failed

            return 0;
    }

    下面给楼主2个例子,参考以下,然后主要压测的时候需要开发提供相关接口文档,或者自己录制。
    左侧的Name都是开发提供的接口参数名称,Value是相应的参数值。Action为开发给的测试地址。
    PS:注意在测试的时候设置Controller的Run time seting  Pacing的值为With a fixed delay of X seconds。还要注意在压测的时候观察服务器的CPU利用率已经内存使用情况。

            web_submit_data("insert",
                    "Action= http://116.211.23.121/app/Jigsaw/GetResult.ashx",
                    "Method=GET",
                    "Referer= http://116.211.23.121/home.aspx",
                                     "Mode=HTML",
                    ITEMDATA,
                    "Name=uid","Value={myUid}",ENDITEM,
                    "Name=id","Value=4",ENDITEM,
                    "Name=time","Value=00:00:{ss}",ENDITEM,
                    "Name=piecewn","Value={myPiecewn}",ENDITEM,
                    "Name=piecehn","Value={myPiecehn}",ENDITEM,
                    LAST);


    char str[1000];
    strcpy(str,"SNSID=7999&UserID=1&CommentsTypeID=1&CommentsID=1&AuthorID=1&CommentsContent=1");
    web_custom_request("Publish",
         "Url= http://10.240.248.103:7006/Comment/{IID}",
         "Method=POST",
         "Referer= http://10.240.248.103:7006/Comment/{IID}",
         "Mode=HTTP",
         str,
        LAST);
    这也是一种写法,可以跟web_submit_data互换。这种写法更利于拼接参数。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-1-30 12:49
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    15#
    发表于 2011-12-6 14:50:48 | 只看该作者
    可以借助工具(SOAPUI/XPY xml )再用LR录制脚本,选择多协议中的web services或web(http/html)协议进行录制后,适当修改脚本.即可.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
     楼主| 发表于 2011-12-6 17:53:40 | 只看该作者
    可以借助工具(SOAPUI/XPY xml )再用LR录制脚本,选择多协议中的web services或web(http/html)协议进行录制后 ...
    newhackerman 发表于 2011-12-6 14:50



        我不会那个。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2011-12-8 09:40:48 | 只看该作者
    回复 1# 潇潇暮雨


        是webservice的吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
     楼主| 发表于 2011-12-8 17:26:21 | 只看该作者
    回复  潇潇暮雨


        是webservice的吗?
    m2502927 发表于 2011-12-8 09:40



        恩咯
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2011-12-9 14:48:13 | 只看该作者
    我用web_custom_request函数 ,协议是HTTP  方式可以有post get 等
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2012-6-5 15:05:28 | 只看该作者
    回复  潇潇暮雨

    下面给楼主2个例子,参考以下,然后主要压测的时候需要开发提供相关接口文档,或者自己 ...

    PS:注意在测试的时候设置Controller的Run time seting  Pacing的值为With a fixed delay of X seconds。
    bob123654 发表于 2011-12-1 13:42


    Pacing可以用think time代替吗,不加的话对服务器的压力更大吧
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-9-21 08:06 , Processed in 0.086804 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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