LoadRunner+api的压力测试

Stella981
• 阅读 654

今天的文章主要分享的是使用loadRunner如何使用纯代码来助力api的压力测试,需要读者对loadRunner有一定的基础了解,便于更好的理解本文分享的示例代码及参数信息。

FUN:web_custom_request# web_custom_request方法可以发送POST和GET类型的请求

参数详细解释如下:
URL-  请求地址

Method – 请求方法  POST or GET

EncType – 编码类型,指定Content-Type,如"text/html","application/json"等,会重写 web_add_[auto_]header中定义的Content-Type。

RecContentType – 响应头编码类型(Content–Type) e.g., text/html, application/x–javascript

Body – 请求体,不同的应用中,请求体分别通过Body、BodyBinary或者BodyUnicode参数来传递

Resource – 指示URL是否属于资源。1 是;0 不是。设置了这个参数后,RecContentType参数被忽略。

"Resource=1":意味着当前操作与所在脚本的成功与否关系不大。在下载资源时如果发生错误,是当作警告而不是错误来处理的;URL是否被下载受“Run-Time Setting—Browser Emulation--Download non-HTML resources” 这个选项的影响。此操作的响应信息是不做为HTML来解析的。

"Resource=0" :表明此URL是重要的,不受发送请求(RTS)的影响,在需要时也会解析它。

Mode – 录制级别: HTML or HTTP

UserAgent – 用户代理,它是一个HTTP头的名字,用来标识应用程序,通常是浏览器,它呈现的是用户和服务器的交互。
返回LR_PASS(0)代表成功,LR_FAIL(1)代表失败。

示例:
web_custom_request("entry",
"Method=POST",
"URL=http://apitest-subaccounts.stg-test.com/account/flow/entry",  //单笔交易记账接口
"Resource=0",
"RecContentType=application/json",
"Referer=",
"Mode=HTTP",
"EncType=application/json",
"Body={\"userId\": \"performance_userId_credit\",\"opponentUserId\": \"performance_userId_cash\",\"accountGuid\": \"c632ee2f0000e1ac\",\"opponentAccountGuid\": \"c63303970000faac\",\"direct\": \"-1\",\"amount\": \"0.01\",\"transactionGuid\": \"transactionGuid_{random}_{localtime_now}\",\"description\": \"entry\"}",
LAST);

FUN:web_submit_data

#处理“无状态”或者“无上下文”的表单提交,只能发送POST类型的请求
#所有web_submit_data方法发送的请求都可以使用web_custom_request来实现
web_submit_data请求中提交的数据是以这样的方式存在的【“Name=属性名称,”,“Value=属性值” 】
示例:
web_submit_data("login", 
        "Action=http://192.168.214.111:8080/login"
        "Method=POST", 
        "RecContentType=application/json", 
        "Referer=http://192.168.214.111:8080/index"
        "Snapshot=t1.inf", 
        "Mode=HTML", 
        ITEMDATA, 
        "Name=id", "Value=xxx", ENDITEM, 
        "Name=password", "Value=xxx", ENDITEM, 
        LAST);

FUN:web_url
#加载指定的页面
示例:
web_url("webPage.html", 
        "URL=http://192.168.214.111:8080/cms/login/weblogin.html"
        "Resource=0", 
        "RecContentType=text/html", 
        "Referer=", 
        "Snapshot=t1.inf", 
        "Mode=HTML", 
        EXTRARES, 
        "Url=../text/lib/bootstrap/fonts/glyphicons-halflings-regular.eot", ENDITEM, 
        LAST);

本文分享自微信公众号 - 无量测试之道(gh_858a1aa25a6d)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Java修道之路,问鼎巅峰,我辈代码修仙法力齐天
<center<fontcolor00FF7Fsize5face"黑体"代码尽头谁为峰,一见秃头道成空。</font<center<fontcolor00FF00size5face"黑体"编程修真路破折,一步一劫渡飞升。</font众所周知,编程修真有八大境界:1.Javase练气筑基2.数据库结丹3.web前端元婴4.Jav
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
Loadrunner测试json接口实例以及 web_custom_request 函数详解
1\.loadrunnerjson说明使用lr测试json接口,向服务端发送json格式请求,接收处理返回响应数据。主要用到函数:  1)web\_custom\_request  2)web\_reg\_save\_param(此函数常用户处理动态参数,该方法在LoadRunner中
Easter79 Easter79
3年前
SpringMvc接受特殊符号参数被转义
WEB开发时,在前端通过get/post方法传递参数的时候 如果实参附带特殊符号,后端接收到的值中特殊符号就会被转义例如该请求: http://localhost:10001/demo/index.do?name张三(1)注:中文()不会出现此种情况后台就收到的实际name值为:  张三&40;1&41;&40;其实为h
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。