我们不应该仅仅局限于某一种工具,性能测试能使用的工具非常多,选择适合的就是最好的。笔者已经使用Loadrunner进行多年的项目性能测试实战经验,也算略有小成,任何性能测试(如压力测试、负载测试、疲劳强度测试等)都可以使用该工具。但我并不鼓励这样做,我们应该根据当前所处的情况,基于被测对象、时间及成本考虑,采用最合适的工具。闲话少谈,今天笔者要给大家分享的是用Jmeter来进行HTTP接口的压力测试。实际接口测试还可以使用Tsung、SoapUI等工具,但基于各方面考虑,最终采用了Jmeter。

  Jmeter相对于Loadrunner来说,更轻,易于安装,如果对过程数据收集不多、测试场景不复杂的情况下,可以优先考虑。笔者的使用的工具版本为Apache JMeter3.0,如果你们使用的是其它版本,可以与该版本界面有一定出入。

  下面就说说使用Jmeter进行HTTP接口压力测试的具体使用步骤:

  1、首先添加一线程组(即用户组:一个线程模拟一个用户行为,如果要模拟多个用户,则通过设置多线程来实现)

 2、因为是对HTTP接口进行压力测试,所以需要在线程组下添加一HTTP请求(通过鼠标右键->添加->Sampler->HTTP请求 完成) 

3、紧接着就是对HTTP请求进行设置了,主要设置服务器名称或IP,端口号,连接、响应时间,所采用的协议,请求类型,内容编码,路径,最后设置请求内容。

  注意,路径为URL除去如http://XXX.XX.X后的内容,如URL为http://www.51testing.com/?action-login,则服务器名称或IP应该填写http://www.51testing.com,端口默认80,路径应该填写“/?action-login”

 4、因为这里的请求内容使用的是json字符串,所以需要在头部进行声明,否则请求就要报错。所以需要给HTTP请求添加一信息头(通过鼠标右键->添加->配置元件->HTTP信息头管理器 完成)

 5、配置HTTP头信息,添加对应名称和值,这里添加“Content-Type”,值为“application/json;charset=utf-8”;如果头还需要添加其它信息,如id、token等,也应如此进行配置

 6、到这一步看起来就可以了,但是我们执行时并不能看到执行结果。所以还应该为该请求添加一结果监听器“查看结果树”(通过鼠标右键->添加->监听器->查看结果树完成)

按照上面步骤,可以依次添加“聚合报告”(总体线程执行结果统计),图形结果(总体线程执行结果统计图),“用表格察看结果”(每个线程执行的表格统计情况)等。

  PS(如果在进行非接口测试,如页面测试过程中发现错误,可能是少了COOKIE信息,所以可以为线程组添加一个Cookie头,可以通过鼠标右键->配置元件->HTTP Cookie管理器 完成)

  7、如果HTTP请求没有问题,那么我们要进行性能测试,那就需要设置一个断言(即Loadrunner中的检查点),即只要检查到指定的返回值(如返回结果包含字符“success”)则说明执行成功。添加断言通过右键请求->添加->断言->响应断言 完成。

  OK,到了这里,我们的脚本工作完成的八九不离十了,但是我们做性能测试,为了使测试结果更加准确,同时避免单点限制等原因,还应该对请求的值进行参数化。

  8、参数化,这里主要将通过CSV文件进行的参数化。

  1)首先我们新建一个CSV文件,然后录入我们要参数化的信息。

  我们也可以新建一个记事本,然后输入参数化的内容信息,多个参数值间以英文逗号隔开,回车换行如:

  Username1,password1

  Username2,password2

  点击保存,然后把记事本的文件名改为test.csv,注意这里的csv是文件扩展名。

  2)在HTTP请求新建一个CSV Data Set Config元件(通过鼠标右键->添加->配置元件->CSV Data Set Config 完成)

  3)配置CSV Data Set Config元件,这里主要需要指明参数化取值文件路径(即前面我们新建的CSV文件),参数名(如上面CSV文件中主要有两个参数值,我们可以分别用username和passwd作为参数名,参数名类似程序中定义的变量名)

如何使用Jmeter对HTTP接口进行压力测试?相关推荐

  1. Jmeter做接口的压力测试

    章节一压力测试课程介绍 1.2018年亿级流量压测系列之Jmeter4.0课程介绍和效果演示 简介: 讲解课程安排,使用的Jmeter版本 讲课风格:涉及的组件,操作配置多,不会一次性讲解,会先讲部分 ...

  2. jmeter json断言_Jmeter接口测试+压力测试

     jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单.因为jmeter是java开发的,所以运行的时候必须先要 ...

  3. 【总结】个人推荐的接口测试工具和接口性能/压力测试工具

    一般接口有2种测试,现在很多是模糊了这个,但是如果细分.一般还要写<接口测试用例>和<接口性能测试用例>.同样,也分接口测试报告和接口性能测试报告. 接口的本质及其工作原理 接 ...

  4. jmeter可以做接口测试和压力测试(较全)

    jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单.因为jmeter是java开发的,所以运行的时候必须先要安 ...

  5. Jmeter连接SqlServer数据库进行压力测试

    Jmeter连接SqlServer数据库进行压力测试 前提准备:先安装jdbc驱动 驱动下载链接地址:http://pan.baidu.com/s/1bpDpjSr 密码:v6tn 下载解压之后,讲s ...

  6. 使用COSBench工具对ceph s3接口进行压力测试--续

    之前写的使用COSBench工具对ceph s3接口进行压力测试是入门,在实际使用是,配置内容各不一样,下面列出 压力脚本是xml格式的,套用UserGuide文档说明,如下 有很多模板的例子,在co ...

  7. NHibernate+WCF项目实战(四)使用WAS对Webservices接口进行压力测试

    NHibernate+WCF项目实战 第一篇.项目介绍与搭建: 第二篇.使用NHibernate实现数据访问并进行单元测试: 第三篇.使用WCF对外提供Webservices接口并进行单元测试: 第四 ...

  8. Jmeter对Web Socket进行压力测试 —— 200人直播课实战经验

    转载 Jmeter对Web Socket进行压力测试 -- 200人直播课实战经验 分类专栏: Jmeter 测试经验 Web Socket 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-S ...

  9. 支付系统接口性能压力测试TPS优化之路

    支付系统接口性能压力测试TPS优化之路 郭柏雅 本文案例是我们品课学院在银行系统性能测试第一个案例,由发生至解决,通过对业务逻辑的认知.测试环境的了解.测试脚本的开发.服务的监控分析优化.操作系统的监 ...

最新文章

  1. freebsd command
  2. boost::phoenix::ref相关的测试程序
  3. 上一篇的改进!!!!!
  4. 【Redis】redis 哨兵模式
  5. 搭载Apple芯片的Mac如何使用macOS恢复?
  6. 几种主流数据库类型简介
  7. Hexo-Next主题配置
  8. 基层干部计算机培训方案,基层管理干部培训方案
  9. 黑客暗战 —— 黑帽、白帽、灰帽背后的隐秘世界
  10. 数据可视化笔记 Task3 - Matplotlib布局
  11. 使用加密锁加密Unity工程插件源码
  12. c语言报名入口,考试报名入口
  13. 美图类App原型制作分享-Meitu
  14. 常用资料备查(1)-长周期行业-(1980-2014)
  15. 暑假第十三天之每天一些题系列
  16. python--使用cnmaps绘制省界地图(快速上手,简单有效)
  17. 自动控制原理/现代控制原理专业词汇中英文对照
  18. 模256计数器的路径验证
  19. CrossPoint:自监督3D点云场景理解(CVPR2022)
  20. 乐视云视频 接口开发 结合百度编辑器

热门文章

  1. alibaba/COLA 4.0框架 使用记录
  2. 广度优先搜索:迷宫问题
  3. c2059 错误类型
  4. 纵横字谜的答案 (UVa232)
  5. 小沙的remake(牛客)排序+ 树状数组 + dp
  6. 小试ildasm,ilasm,ilspy
  7. 微信小程序picker组件
  8. read_csv()报错: 'utf-8' codec can't decode byte 0xca in position 0: invalid continuation byte最新解决办法
  9. 贝叶斯学派:先验分布、后验分布、共轭分布、共轭先验分布
  10. asp.net mvc 客户端加验证非空验证数据库是否存在验证