• loadrunner post请求


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

    post 请求,分为header 和body两个部分处理

    header部分比较容易处理,使用函数实现,如web_add_header("pid","1")即可,具体参数可参见接口文档。

    body部分:

      常见的有json个是或者xml格式内容,偶尔也有一些自定义内容

     (1)如char body[1024]= "body=*****":

    web_custom_request("service", 

    url,//请求的url地址,这里把它进行了参数化

    "Method=POST", 

    "Resource=0", 

    "RecContentType=text/xml", 

    "Referer=", 

    "Snapshot=t1.inf", 

    "Mode=HTML", 

    body, //见上面的参数:postBody

    LAST);

     (2)加密内容,未加密内容,参数化参数

        web_custom_request("service", 

                url,//参数化之后的url

                "Method=POST", 

                "Resource=0", 

                "RecContentType=application/json", 

                "Referer=", 

                "Snapshot=t1.inf", 

                "Mode=HTTP", 

        "EncType={contype};charset=UTF-8",//很重要,一定要加,contype表示为请求格式

                "BodyFilePath=YOUR FILEPATH", //见上面的参数:postBody

            LAST);

    eg:"BodyFilePath=c:\yong.hu\test.txt"

    (3)常规post请求:

    web_custom_request("test",
    "URL=http://***:***",
    "Method=POST",
    "RecContentType=application/json",
    "Referer=", 
    "Mode=HTTP",
    "EncType=application/json",
    "Body={"CId":"***","CUId":"***","TId":"5"}", 
    LAST);

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

    Action()
    {
    lr_start_transaction("checkPerson");
    /* 注册获取返回参数,该方法可以配合打印返回数据,检测数据内容 */
    web_reg_save_param("Para",
    "LB=",
    "RB=",
    LAST);

    /* 注册断言: Text=断言内容 */
    /* 该方法会判断后面的web请求方法的返回值 */
    web_reg_find("Text=成功",
    LAST);

    /* 汉字进行UTF-8编码 */
    lr_convert_string_encoding("需要进行UTF-8加密的中文字符串",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"result");

    /* 向后面的web请求函数增加请求头 */
    /* 如果web请求方法中已经设置了相同的头,则优先使用web请求方法中的头,例如web请求方法中的EncType参数,对应请求投中的Content-Type。由于下面的方法已经设置了EncType参数,所以这里的设置并没有什么X用 */
    /* 表单直接使用方法自带参数,键值对和json建议使用该方法 */
    web_add_header("Content-Type",
    "application/x-www-form-urlencoded; charset=utf-8");

    /* 主要针对form表单和键值对两种格式的web请求 */
    web_submit_data("checkPerson",
    "Action=http://130.1.11.105:9080/ibis/faceService/checkPerson",
    "Method=POST",
    /* 该方法支持常见的两种请求数据格式 */
    /* (1)"EncType=multipart/form-data"。form表单提交数据 */
    /* (1)"EncType=application/x-www-form-urlencoded"。默认使用键值对提交数据 */
    //"EncType=",
    "TargetFrame=",
    "Referer=",
    ITEMDATA,
    "Name=Name1", "Value=Value1", ENDITEM,
    "Name=Name2", "Value=Value2", ENDITEM,
    LAST);

    /* 打印相应结果 */
    /* lr_eval_string("{result}") 使用loadrunner引用外部函数,只有这样才能取出上面web_reg_save_param方法的返回值 */
    lr_log_message(lr_eval_string("{result}"));

    lr_end_transaction("checkPerson", LR_AUTO);

    return 0;
    }

    (5)multipart/form-data 表单

    Action()
    {
    lr_start_transaction("checkPerson");
    /* 注册获取返回参数,该方法可以配合打印返回数据,检测数据内容 */
    web_reg_save_param("Para",
    "LB=",
    "RB=",
    LAST);

    /* 注册断言: Text=断言内容 */
    /* 该方法会判断后面的web请求方法的返回值 */
    web_reg_find("Text=成功",
    LAST);

    /* 汉字进行UTF-8编码 */
    lr_convert_string_encoding("需要进行UTF-8加密的中文字符串",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"result");

    /* 向后面的web请求函数增加请求头 */
    /* 如果web请求方法中已经设置了相同的头,则优先使用web请求方法中的头,例如web请求方法中的EncType参数,对应请求投中的Content-Type。由于下面的方法已经设置了EncType参数,所以这里的设置并没有什么X用 */
    /* 表单直接使用方法自带参数,键值对和json建议使用该方法 */
    //web_add_header("Content-Type",
    // "multipart/form-data; boundary = --------BORN3QKNRTS4; charset=UTF-8");

    /* 主要针对form表单和键值对两种格式的web请求 */
    web_submit_data("checkPerson",
    "Action=http://130.1.11.105:9080/ibis/faceService/checkPerson",
    "Method=POST",
    /* 该方法支持常见的两种请求数据格式 */
    /* (1)"EncType=multipart/form-data"。form表单提交数据 */
    /* (1)"EncType="。默认使用键值对提交数据 */
    "EncType=multipart/form-data",
    "TargetFrame=",
    "Referer=",
    ITEMDATA,
    "Name=Name1", "Value=Value1", ENDITEM,
    "Name=Name2", "Value=Value2", ENDITEM,
    LAST);

    /* 打印相应结果 */
    /* lr_eval_string("{result}") 使用loadrunner引用外部函数,只有这样才能取出上面web_reg_save_param方法的返回值 */
    lr_log_message(lr_eval_string("{result}"));

    lr_end_transaction("checkPerson", LR_AUTO);

    return 0;
    }

    (6) application/json Json串

    Action()

    {
    lr_start_transaction("checkPerson");
    /* 注册获取返回参数,该方法可以配合打印返回数据,检测数据内容 */
    web_reg_save_param("Para",
    "LB=",
    "RB=",
    LAST);

    /* 注册断言: Text=断言内容 */
    /* 该方法会判断后面的web请求方法的返回值 */
    // web_reg_find("Text=成功",
    // LAST);

    /* 汉字进行UTF-8编码 */
    lr_convert_string_encoding("需要进行UTF-8加密的中文字符串",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"result");

    /* 向后面的web请求函数增加请求头 */
    /* 如果web请求方法中已经设置了相同的头,则优先使用web请求方法中的头,例如web请求方法中的EncType参数,对应请求投中的Content-Type。由于下面的方法已经设置了EncType参数,所以这里的设置并没有什么X用 */
    /* 表单直接使用方法自带参数,键值对和json建议使用该方法 */
    web_add_header("Content-Type",
    "application/json; charset=UTF-8");

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

    web_custom_request("web_custom_request",
    "URL=http://www.baidu.com",
    "Method=POST",
    "TargetFrame=",
    "Resource=0",
    "Referer=",
    "Mode=HTTP",
    /* json和键值对数据格式,建议使用web_add_header方法添加Content-Type头 */
    //"EncType=application/json",
    "Body={"Name1":"Value1","Name2":"Value2"}",
    LAST);

    /* 打印相应结果 */
    /* lr_eval_string("{result}") 使用loadrunner引用外部函数,只有这样才能取出上面web_reg_save_param方法的返回值 */
    lr_log_message(lr_eval_string("{result}"));

    lr_end_transaction("checkPerson", LR_AUTO);


    return 0;
    }

    Ps:4~6内容引用https://blog.csdn.net/xieyuemin/article/details/52642924

  • 相关阅读:
    【BZOJ3489】A simple rmq problem【kd树】
    【BZOJ2716】天使玩偶【kd树】
    Codeforces Round #520 (Div. 2)
    Codeforces Round #521 (Div. 3)
    Educational Codeforces Round 54
    【hdu3507】Print Article 【斜率优化dp】
    【HDU5992】Finding Hotels 【KD树】
    【hdu4347】The Closest M Points 【KD树模板】
    【BZOJ2806】Cheat 【广义后缀自动机+单调队列优化dp+二分】
    SDSC2018 Day1
  • 原文地址:https://www.cnblogs.com/soloate/p/9176566.html
Copyright © 2020-2023  润新知