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互换。这种写法更利于拼接参数。
LoadRunner 如何进行接口的压力测试的更多相关文章
- Loadrunner模拟JSON接口请求进行测试
Loadrunner模拟JSON接口请求进行测试 一.loadrunner脚本创建 1.Insert - New step -选择Custom Request - web_custom_re ...
- 使用COSBench工具对ceph s3接口进行压力测试--续
之前写的使用COSBench工具对ceph s3接口进行压力测试是入门,在实际使用是,配置内容各不一样,下面列出 压力脚本是xml格式的,套用UserGuide文档说明,如下 有很多模板的例子,在co ...
- python学习笔记(threading接口性能压力测试)
又是新的一周 延续上周的进度 关于多进程的学习 今天实践下 初步设计的接口性能压力测试代码如下: #!/usr/bin/env python # -*- coding: utf_8 -*- impor ...
- 单机Web后端接口服务压力测试
单机Web后端接口服务压力测试 工具:Apache jmeter 环境:Window 10 语言:Kotlin + java 架构:SpringBoot + + Mysql + redis + Spr ...
- 使用 WRK 压力测试工具对 ASP.NET Core 的接口进行压力测试
0. 简要介绍 WRK 是一款轻量且易用的 HTTP 压力测试工具,通过该工具我们可以方便地对我们所开发的 WebAPI 项目进行压力测试,并且针对测试的情况返回结果. PS:Wrk 并不能针对测试的 ...
- JMeter工具接口性能压力测试分析与优化
最近公司做的项目,要求对相关接口做性能压力测试,在这里记录一下分析解决过程. 压力测试过程中,如果因为资源使用瓶颈等问题引发最直接性能问题是业务交易响应时间偏大,TPS逐渐降低等.而问题定位分析通常情 ...
- Loadrunner&Jemeter进行手机APP压力测试
一.loadrunner通过代理录制app脚本 随着手机APP的广泛应用,手机应用的使用已占据了大量的市场份额,尤其是优秀的手机APP,动辄用户过千万过亿,对于如此庞大的用户量,我们在开发APP时,也 ...
- 结合docker做flask+kafka数据接口与压力测试
一.需求 需要做实时数据接入的接口.数据最终要写入库,要做到高并发,数据的完整,不丢失数据. 二.技术选型 1.因为只是做简单的接口,不需要复杂功能,所以决定用flask这个简单的python框架(因 ...
- 使用COSBench工具对ceph s3接口进行压力测试
一.COSBench安装 COSBench是Intel团队基于java开发,对云存储的测试工具,全称是Cloud object Storage Bench 吐槽下,貌似这套工具是intel上海团队开发 ...
随机推荐
- Redis安装与调试
Redis安装与调试 Redis安装与调试linux版本:64位CentOS 6.5 Redis版本:2.8.17 (更新到2014年10月31日) Redis官网:http://redis.io/ ...
- 【JDBC】预编译SQL与防注入式攻击
在JDBC编程中,常用Statement.PreparedStatement 和 CallableStatement三种方式来执行查询语句,其中 Statement 用于通用查询, PreparedS ...
- ASP.NET forms凭据设置和跳转的几种方法
string user = "userName"; //默认的第1种,超时时间是在web.cofig中forms设置的timeout,单位是分钟,生成的cookie和凭证超时时间一 ...
- C++中void型指针
问题由来: PX_FORCE_INLINE void* operator new(size_t size, const char* handle, const char * filename, int ...
- 改变UIView 的位置 Center和Frame
网上找了一个,一般来说 有两种方法: 1.改变view 的Frame [cell setFrame:CGRectMake(<#CGFloat x#>, <#CGFloat y#> ...
- 算法代码[置顶] 机器学习实战之KNN算法详解
改章节笔者在深圳喝咖啡的时候突然想到的...之前就有想写几篇关于算法代码的文章,所以回家到以后就奋笔疾书的写出来发表了 前一段时间介绍了Kmeans聚类,而KNN这个算法刚好是聚类以后经常使用的匹配技 ...
- Codeforces Gym 100203E E - bits-Equalizer 贪心
E - bits-EqualizerTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest ...
- Visual Prolog 的 Web 专家系统 (9)
GENI的核心 -- 推理机(3)一些谓词 为了集中注意力.较好地分析GENI推理机核心程序,应该做些准备工作,弄明确一些起辅助作用的谓词功能. is_htmlfile(Rulexpl) is_htm ...
- 安卓高手之路之 ClassLoader
我不喜欢那些泛泛而谈的去讲那些形而上学的道理,更不喜欢记那些既定的东西.靠记忆去弥补思考的人,容易陷入人云亦云的境地,最后必定被记忆所围困,而最终消亡的是创造力.希望这个高手之路系列能够记录我学习安卓 ...
- iOS修改声明为readonly的属性值
本文讨论的是,对于类中声明为 readonly 的属性值,我们就不可以修改其值了么?如何可以,那么如何修改呢? 为了便于说明,定义一个 ACLStudent 的类: ACLStudent.h @int ...