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

 

转载于:https://www.cnblogs.com/soloate/p/9176566.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/366782.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2018-2019-1 20165203 《信息安全系统设计基础》第六周学习总结

2018-2019-1 20165203 《信息安全系统设计基础》第六周学习总结 教材学习内容总结 重要知识点 I/O:在主存和外部设备(例如磁盘存储器、终端和网络)之间复制数据的过程。输入操作:从I/O设备复制数据到主存。输出操作:从…

linux 使用VI命令怎么删除输入内容,linux系统vi编辑器常用命令及使用方法。

在linux系统中编辑文档我们常用到vi编辑器。vi编辑器,通常称之为vi,是一种广泛存在于各种UNIX和Linux系统中的文本编辑程序。它的功能十分强大,但是命令繁多,不容易掌握,它可以执行输出、删除、查找、替换、块操作等众多文本操作&…

Spring安全–幕后

安全任务(例如,用户身份验证和用户查看应用程序资源的授权)通常由应用程序服务器处理。 可以将这些任务委托给Spring安全性流程,以减轻应用程序服务器处理这些任务的负担。 Spring安全性基本上通过实现标准javax.servlet.Filter来…

在react中使用svg的各种骚姿势

开头先抛个可供参考的项目ts-react-webpack4, 或脚手架steamer-react-ts 优势 SVG可被非常多的工具读取和修改(比如vscode)不失真, 放大缩小图像都很清晰SVG文件是纯粹的XML, 也是一种DOM结构使用方便, 设计软件可以直接导出 兼容性 上一张兼容性图表, 或到caniuse.com查看 …

chrome 浏览器的插件权限有多大?

转自:https://segmentfault.com/q/1010000003777353 1)Chrome插件本身有机制控制,不会无限制的开放很多权限给你2)页面的DOM元素时可以操作的,Chrome插件是和宿主页面之间是共享DOM对象,但是不共享Javascri…

3.2自定义方法

方法是类的一种行为,方会使我们的代码容易修改,方便阅读,实现封装和重用。比如前面使用的很多.net定义好的类的方法,当然我们也可以自定义方法。 3.2.1定义方法 语法: 访问修饰符 返回类型 方法名(参数列表) &#xff…

linux live cd ubuntu,在Windows 7上体验Ubuntu Live CD

http://download.gna.org/grub4dos/grub4dos-0.4.4.zip把grldr.mbr,grldr放到C盘根目录.注意:以管理员身份运行cmd,进行以下操作.备份/Boot/BCD:bcdedit /export "D:\BCD.backup"用bcdedit编辑启动文件/Boot/BCD添加GRUB引导项:bcdedit /create /d "GRUB" …

[Electron]仿写一个课堂随机点名小项目

自从前几个月下了抖音,无聊闲暇时就打会打开抖音,因为打开它有种莫名其妙打开了全世界的感觉... 无意中看到这个小视频:随机点名 于是仿写了一个课堂点名小项目,算是对Electron的一个简单的认识,有时间再深入。 项目…

何时以及如何使用ThreadLocal

正如我们的读者可能已经猜到的那样,我每天都在处理内存泄漏。 最近,一种特殊类型的OutOfMemoryError消息开始引起我的注意-滥用ThreadLocals触发的问题变得越来越频繁。 在查看此类泄漏的原因时,我开始相信其中一半以上是由于开发人员导致的&…

linux redis安装使用,linux安装redis

Linux(CentOS)中Redis介绍、安装、使用【一篇就够】2018-05-13 13:36:16 sjmz30071360 阅读数 1590更多分类专栏: redis版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。一、介绍Redis is…

用three.js写一个简单的3D射门游戏

这个小游戏很简单,一共由3个部分构成。1个平面(球场),1个球体(足球)还有一个立方体(球门)。 上个图给你们感受一下简陋的画风(掘金最高上传5M图片,原来图片都…

100份Spring面试问答-最终名单(PDF下载)

上次更新时间:2019年2月11日 这是有关Spring框架的一些最重要问题的摘要,在面试或面试测试过程中可能会要求您回答这些问题! 您无需担心下一次面试的机会,因为Java Code Geeks在这里为您服务! 您可能会被问到的大多数…

3.1 unittest简介

3.1 unittest简介 前言 熟悉java的应该都清楚常见的单元测试框架Junit和TestNG。python里面也有单元测试框架-unittest,相当于是一个python版的junit。python里面的单元测试框架除了unittest,还有一个pytest框架,这个用的比较少,后面有空再继…

织梦其他模型使用联动类型地区联动

官方模型的联动类型只能模型是在【独立模型】或者官方默认的【分类信息】模型下使用,其他模型下使用无效,我们来让联动类型支持所有模型。 添加联动地区类型字段 内容模型管理 - 文章模型(或者其他模型) - 添加新字段 字段名称 和 数据类型 千万别搞错了…

linux修改组的选项名字为,Linux用户、组及权限管理浅析

一、用户和组1.用户系统用来认证(Authentication),授权(Authorization),审计(Autition)的帐号。通过登录用户来登录系统。操作系统通过登录不同的用户来调用相对应权限的进程或程序,也可以说,用户是能获取系统资源的权限集合。2.用…

如何在 vue-cli v3.0 中使用 SCSS/SASS

在项目中使用 SCSS/SASS 进行样式编写无疑会节省很多开发样式的时间。关于如何在 vue-cli v3.0 中使用 SCSS/SASS,这里提供三种方案。前提是在使用 vue-cli 生成项目时勾选了 CSS Pre-processors (CSS预处理器),否则无法在项目中直接使用。 方案一&…

使用IntelliJ IDEA进行热部署

最近,在PrimeFaces论坛PrimeFaces IDE Poll中进行了投票,以投票赞成用于开发PrimeFaces应用程序的最佳IDE。 最多人投票支持NetBeans。 NetBeans和Eclipse是免费的IDE。 我最喜欢的IDE IntelliJ IDEA Ultimate不是免费的,我认为这就是为什么在…

创梦天地关嵩:借力腾讯云,打造文娱新生态——云+未来峰会回顾

欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 今年腾讯云未来峰会主题的关键词是“焕启”,这是包含无限希望的两个字,让人倍感振奋。“焕启”是什么意思?在我的理解中,“焕启”本身就是激活,激…

领域模型学习笔记

别在领域模型迷失了自己转载于:https://www.cnblogs.com/mySerilBlog/p/9914375.html

【缓存清理工具】缓存清理软件_电脑缓存清理软件

产品介绍 有很多种比如来自网页和windows等,缓存如果不经常清理会使你的机器运行速度变慢,缓存清理工具可以帮你最多程度的清理垃圾文件而且速度也很快,有了它的帮助让你爱机清理彻底,运行更加顺畅!主要能清理:所有应…