• LoadRunner 如何进行接口的压力测试


    主要压测的时候需要开发提供相关接口文档,或者自己录制。
    左侧的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互换。这种写法更利于拼接参数。

    这个只是一个简单的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互换。这种写法更利于拼接参数。

  • 相关阅读:
    闪电侠 Netty 小册里的骚操作
    面试被问烂的 Spring IOC(求求你别再问了)
    面试问烂的 Spring AOP 原理、SpringMVC 过程(求求你别问了)
    使用 Cglib 实现多重代理
    Redis 初次见面
    Apollo 10 — adminService 全量发布
    Apollo 9 — adminService 主/灰度版本发布
    简析限流算法
    Dubbo 源码分析
    Dubbo 源码分析
  • 原文地址:https://www.cnblogs.com/yanghj010/p/4850057.html
Copyright © 2020-2023  润新知