zoukankan      html  css  js  c++  java
  • 性能测试LR Json脚本编写教程

    本篇文章主要针对POST请求的三种数据请求格式,组织不同的脚本,较为基础,入手较简单

    (1)、application/x-www-form-urlencoded 键值对

    (2)、multipart/form-data 表单

    (3)、application/json Json串

      注意:loadrunner参数中的引号,需要自己加""。

    1. application/x-www-form-urlencoded 键值对

    1. Action()  

    2. {  

    3.     lr_start_transaction("checkPerson");  

    4.     /* 注册获取返回参数,该方法可以配合打印返回数据,检测数据内容 */  

    5.     web_reg_save_param("Para",  

    6.                        "LB=",  

    7.                        "RB=",  

    8.                        LAST);  

    9.   

    10.     /* 注册断言:Text=断言内容 */  

    11.     /* 该方法会判断后面的web请求方法的返回值 */  

    12.     web_reg_find("Text=成功",  

    13.              LAST);  

    14.   

    15.     /* 汉字进行UTF-8编码 */  

    16.     lr_convert_string_encoding("需要进行UTF-8加密的中文字符串",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"result");  

    17.   

    18.     /* 向后面的web请求函数增加请求头 */  

    19.     /* 如果web请求方法中已经设置了相同的头,则优先使用web请求方法中的头,例如web请求方法中的EncType参数,对应请求投中的Content-Type。由于下面的方法已经设置了EncType参数,所以这里的设置并没有什么X用 */  

    20.     /* 表单直接使用方法自带参数,键值对和json建议使用该方法 */  

    21.     web_add_header("Content-Type",  

    22.                "application/x-www-form-urlencoded; charset=utf-8");  

    23.     /*针对一些接口开发规则,token需要在header内添加*/

    24.       web_add_auto_header("token", "79faf82271944fe38c4f1d99be71bc9c");

    25.     /* 主要针对form表单和键值对两种格式的web请求 */  

    26.     web_submit_data("checkPerson",  

    27.         "Action=http://130.1.11.105:9080/ibis/faceService/checkPerson",  

    28.         "Method=POST",  

    29.         /* 该方法支持常见的两种请求数据格式 */  

    30.         /* (1)"EncType=multipart/form-data"。form表单提交数据 */  

    31.         /* (1)"EncType=application/x-www-form-urlencoded"。默认使用键值对提交数据 */  

    32.         //"EncType=",  

    33.         "TargetFrame=",  

    34.         "Referer=",  

    35.         ITEMDATA,  

    36.         "Name=Name1", "Value=Value1", ENDITEM,  

    37.         "Name=Name2", "Value=Value2", ENDITEM,  

    38.         LAST);  

    39.   

    40.     /* 打印相应结果 */  

    41.     /* lr_eval_string("{result}") 使用loadrunner引用外部函数,只有这样才能取出上面web_reg_save_param方法的返回值 */  

    42.     lr_log_message(lr_eval_string("{result}"));  

    43.   

    44.     lr_end_transaction("checkPerson", LR_AUTO);  

    45.   

    46.     return 0;  

    47. }  



    2. multipart/form-data 表单

     

    [plain] < class="ViewSource" data-linktype="2" rel="nofollow" style="background-position: left top;border: medium; 16px;background-image: url("https://mmbiz.qpic.cn/mmbiz_png/2j5DcS1ub5qJ3cYlI7hvGy6wicWiatTePOAoAuMh1K10h8GRDpSS1XxpSGGGM9voncWEYzfR6bnutQV2mbBicQJ0Q/640?wx_fmt=gif");text-indent: -2000px;background-repeat: no-repeat;" title="view plain">view plain < class="CopyToClipboard" data-linktype="2" rel="nofollow" style="background-position: left top;border: medium; 16px;background-image:url("https://mmbiz.qpic.cn/mmbiz_png/2j5DcS1ub5qJ3cYlI7hvGy6wicWiatTePOOgZdcYV9sVP9EuVUvnaY6Vph9SU2yL44kHMgYZic1PGSyMenoibNatbw/640?wx_fmt=gif");text-indent: -2000px;background-repeat: no-repeat;" title="copy">copy

    1. Action()  

    2. {  

    3.     lr_start_transaction("checkPerson");  

    4.     /* 注册获取返回参数,该方法可以配合打印返回数据,检测数据内容 */  

    5.     web_reg_save_param("Para",  

    6.                        "LB=",  

    7.                        "RB=",  

    8.                        LAST);  

    9.   

    10.     /* 注册断言:Text=断言内容 */  

    11.     /* 该方法会判断后面的web请求方法的返回值 */  

    12.     web_reg_find("Text=成功",  

    13.              LAST);  

    14.   

    15.     /* 汉字进行UTF-8编码 */  

    16.     lr_convert_string_encoding("需要进行UTF-8加密的中文字符串",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"result");  

    17.   

    18.     /* 向后面的web请求函数增加请求头 */  

    19.     /* 如果web请求方法中已经设置了相同的头,则优先使用web请求方法中的头,例如web请求方法中的EncType参数,对应请求投中的Content-Type。由于下面的方法已经设置了EncType参数,所以这里的设置并没有什么X用 */  

    20.     /* 表单直接使用方法自带参数,键值对和json建议使用该方法 */  

    21.     //web_add_header("Content-Type",  

    22.     //         "multipart/form-data; boundary = --------BORN3QKNRTS4; charset=UTF-8");  

    23.     /*针对一些接口开发规则,token需要在header内添加*/
           web_add_auto_header("token", "79faf82271944fe38c4f1d99be71bc9c");

    24.     /* 主要针对form表单和键值对两种格式的web请求 */  

    25.     web_submit_data("checkPerson",  

    26.         "Action=http://130.1.11.105:9080/ibis/faceService/checkPerson",  

    27.         "Method=POST",  

    28.         /* 该方法支持常见的两种请求数据格式 */  

    29.         /* (1)"EncType=multipart/form-data"。form表单提交数据 */  

    30.         /* (1)"EncType="。默认使用键值对提交数据 */  

    31.         "EncType=multipart/form-data",  

    32.         "TargetFrame=",  

    33.         "Referer=",  

    34.         ITEMDATA,  

    35.         "Name=Name1", "Value=Value1", ENDITEM,  

    36.         "Name=Name2", "Value=Value2", ENDITEM,  

    37.         LAST);  

    38.   

    39.     /* 打印相应结果 */  

    40.     /* lr_eval_string("{result}") 使用loadrunner引用外部函数,只有这样才能取出上面web_reg_save_param方法的返回值 */  

    41.     lr_log_message(lr_eval_string("{result}"));  

    42.   

    43.     lr_end_transaction("checkPerson", LR_AUTO);  

    44.   

    45.     return 0;  

    46. }  


    3.  application/json Json串

    [plain] < class="ViewSource" data-linktype="2" rel="nofollow" style="background-position: left top;border: medium; 16px;background-image: url("https://mmbiz.qpic.cn/mmbiz_png/2j5DcS1ub5qJ3cYlI7hvGy6wicWiatTePOAoAuMh1K10h8GRDpSS1XxpSGGGM9voncWEYzfR6bnutQV2mbBicQJ0Q/640?wx_fmt=gif");text-indent: -2000px;background-repeat: no-repeat;" title="view plain">view plain < class="CopyToClipboard" data-linktype="2" rel="nofollow" style="background-position: left top;border: medium; 16px;background-image: url("https://mmbiz.qpic.cn/mmbiz_png/2j5DcS1ub5qJ3cYlI7hvGy6wicWiatTePOOgZdcYV9sVP9EuVUvnaY6Vph9SU2yL44kHMgYZic1PGSyMenoibNatbw/640?wx_fmt=gif");text-indent: -2000px;background-repeat: no-repeat;" title="copy">copy

      1. Action()  

      2. {  

      3.     lr_start_transaction("checkPerson");  

      4.     /* 注册获取返回参数,该方法可以配合打印返回数据,检测数据内容 */  

      5.     web_reg_save_param("Para",  

      6.                        "LB=",  

      7.                        "RB=",  

      8.                        LAST);  

      9.   

      10.     /* 注册断言:Text=断言内容 */  

      11.     /* 该方法会判断后面的web请求方法的返回值 */  

      12.     // web_reg_find("Text=成功",  

      13.     //       LAST);  

      14.   

      15.     /* 汉字进行UTF-8编码 */  

      16.     lr_convert_string_encoding("需要进行UTF-8加密的中文字符串",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"result");  

      17.   

      18.     /* 向后面的web请求函数增加请求头 */  

      19.     /* 如果web请求方法中已经设置了相同的头,则优先使用web请求方法中的头,例如web请求方法中的EncType参数,对应请求投中的Content-Type。由于下面的方法已经设置了EncType参数,所以这里的设置并没有什么X用 */  

      20.     /* 表单直接使用方法自带参数,键值对和json建议使用该方法 */  

      21.     web_add_header("Content-Type",  

      22.                "application/json; charset=UTF-8");  

      23.     /*针对一些接口开发规则,token需要在header内添加*/
              web_add_auto_header("token", "79faf82271944fe38c4f1d99be71bc9c");

      24.     /* 主要针对form表单和键值对两种格式的web请求 */  

      25.   

      26.     web_custom_request("web_custom_request",  

      27.         "URL=http://www.baidu.com",  

      28.         "Method=POST",  

      29.         "TargetFrame=",  

      30.         "Resource=0",  

      31.         "Referer=",  

      32.         "Mode=HTTP",  

      33.         /* json和键值对数据格式,建议使用web_add_header方法添加Content-Type头 */  

      34.         //"EncType=application/json",  

      35.         "Body={"Name1":"Value1","Name2":"Value2"}",  

      36.         LAST);  

      37.   

      38.     /* 打印相应结果 */  

      39.     /* lr_eval_string("{result}") 使用loadrunner引用外部函数,只有这样才能取出上面web_reg_save_param方法的返回值 */  

      40.     lr_log_message(lr_eval_string("{result}"));  

      41.   

      42.     lr_end_transaction("checkPerson", LR_AUTO);  

      43.   

      44.   

      45.     return 0;  

  • 相关阅读:
    动图+源码,演示 Java 中常用数据结构执行过程及原理
    16 个超级实用的 Java 工具类
    图解 Java 垃圾回收机制,写得非常好!
    一些值得收藏的开源框架
    JVM 发生内存溢出的 8 种原因、及解决办法
    VC的function类说明 -- 继续
    引用文章 如何在lambda中引入递归调用
    VC中function函数解析
    folly无锁队列正确性说明
    C++ Programming Language中的Calculator源代码
  • 原文地址:https://www.cnblogs.com/zwh-Seeking/p/13273852.html
Copyright © 2011-2022 走看看