• 0
  • 0
分享
  • 最详细的Jmeter并发测试介绍(上)——软件测试圈
  • 橙子 2024-08-28 10:24:57 字数 1789 阅读 377 收藏 0

  之前在项目中用LoadRunner进行并发性能测试,后改用Jmeter更为简便快捷,笔者认为这也是开源工具颇受欢迎的原因之一吧。本次继之前的分享更新了一版,近期项目做个小结,希望大家也可以有新的收获!

  下载

  官网https://archive.apache.org/dist/jmeter/,选择binaries。目前最新5.6.3,官网上说“应该避免使用比最后一个版本早3个版本的版本”。笔者习惯不使用最新的版本,免得不稳定,大家可以使用5.0以上的都行,2、3版本的bug比较多。

16-1.png


  环境配置

  一、配置环境变量

  系统变量中新建JMETER_HOME,值为安装路径D:\dev\apache-jmeter,再新建classpath,值为%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;

  配置之后在命令行直接输入Jmter就可以打开Jmeter,而无需在安装文件夹找bin目录下的jmeter.bat,是不是很便捷?!

  二、配置语言

  打开apache jmeter5.5,“Options”菜单选择语言为简体中文。如果想永久切换成简体中文,可以打开bin目录下的jmeter.properties,找到第27行。

  #language=en

  修改成

  language=zh_CN

  即可。

  在项目中性能测试要用到分布式,找到如下的代码:

  # Remote Hosts - comma delimited
  remote_hosts=127.0.0.1
  #remote_hosts=localhost:1099,localhost:2010

  将remote_hosts进行修改,多个电脑IP时用英文逗号分隔。

  三、启动Jmeter

  命令行敲cmd,输入jmeter,出现Apache JMeter GUI Mode后停顿一会儿,出现CLI mode的界面。


16-2.png

  这是Jmeter主界面,是用Swing(Java用户界面开发工具包)应用程序开发的。

  创建测试计划

16-3.png


  启动Jmeter窗口,默认打开创建测试计划界面。

  测试计划定义如何测试,并提供一个布局,可以看作一个容器在运行测试。一个完整的测试计划将包括如下元素:比如线程组、逻辑控制器、样品产生控制器、监听器、定时器、断言和配置元素等。

  测试计划必须至少有一个线程组。

16-4.png


  setUp线程组:第一个执行的线程组,用来初始化测试环境。

  线程组:普通的线程组。

  tearDown:最后一个执行的线程组,用来清理测试环境。

  元件

  主要分为三类:配置元件、监听器元件和其他常用元件。

  一、配置元件

  ·HTTP请求默认值

  新增了HTTP请求默认值,后续的HTTP请求中不需要再填写协议、服务器名称或IP,端口号;

  如果改变了环境(测试环境、预生产环境、生产环境)则只需修改请求默认值就好。

16-5.png


  端口443 https,端口8080 tomcat,端口80 http

  · HTTP消息头管理器

16-6.png


  · HTTP Cookies管理器

  可自动获取到cookie,带给登录接口用。

16-7.png


  二、监听器元件

  1.查看结果树

  · 分析查看具体某一个请求的详情:

    - 请求头、请求体

    - 响应头、响应体

  · 做性能场景时分析错误请求的原因

    - 分析请求错误的原因

16-8.png


  2.聚合报告

  ·汇总统计

    - 请求数、响应时间(平均的),单位是ms

    - 错误率,越低越好

    - 吞吐量,越高越好

    - 发送/接收,代表着带宽

16-9.png


  3.用表格查看结果

16-10.png


  4.图形结果

16-11.png


  三、其他常用元件

  1.断言

  可以把断言拖拽到请求下:

16-12.png


  2.前置处理器

  · 请求发出去之前执行的控制器元件

  如:加密,md5

  3.后置处理器

  · 请求发出去后执行的控制器元件

  如:提前数据,正则表达式

  4.定时器

  · 思考时间,固定定时器

  · 同步定时器,集合点

  · 随机定时器

  · 吞吐量定时器


作者:枫叶    

来源:http://www.51testing.com/html/53/n-7802253.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 背景最近在看单元测试,因为公司要求使用语言为C#,所以探索了一下微软自带的一个单元测试框架MSTest,研究了半天终于跑通了,决定记下来,供自己日后参考单元测试简介所谓单元测试(unit testing),就是开发者编写的一小段代码,用于对软件中的最小单元进行检查和验证,其一般验证对象是一个函数或者一个类。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。单元测试是由程序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。所用环境VS2019MSTest一个实例1. 创建一个被测项目1、首先需要一个被...
            0 0 2140
            分享
          •   从去年决定跳出舒适区,应聘大厂,截止到目前已经将近一年,值此之际,总结下自己近一年在大厂的经历。  希望通过我的感触,能够帮助你们进一步了解大厂的测试工作。  维护上下游合作关系  在大厂,人际关系非常重要,为什么要把它放在第一位,是因为在大厂里做测试的时候,所涉及的系统错综复杂,种类繁多,经常要进行上下游的联调测试。  我刚开始的时候,测试联调找不到相关的责任人,使得自己在测试工作中浪费了大量的时间和精力,所以进入大厂之后,一定先要:  首先,梳理自己负责系统的上下游联系人,将其联系方式整理起来,方便后续查询联络,可以参考下面表格进行简单汇总即可。  其次,维护好自己与前辈的关系,保持自...
            12 12 1782
            分享
          •   一 现状及场景  1、缺失bug根因分析环节  工作10年,虽然不是一线城市,也经历过几家公司,规模大的、规模小的都有,针对于测试行业很少有Bug根因环节,主流程基本上都是测试提交bug-开发修改-测试验证-发送报告,测试环节结束。  往往有下面几个原因:  · 时间压力: 在项目开发周期紧张的情况下,测试团队可能会因时间压力而忽略深入的BUG根源分析。解决方案:合理规划测试时间,将足够的时间用于分析和解决问题。  · 技能和经验不足: 一些测试人员可能缺乏足够的技能和经验来进行深入的BUG根源分析。解决方案:提供培训和指导,提升团队成员的技能水平。  · 沟通不畅: ...
            0 0 482
            分享
          •   今天采访了一个在游戏行业做测试的同学,他所在的游戏公司是做大型多人在线角色扮演类的游戏,类似传奇游戏。他所在的公司目前有1200多人,是上市公司,目前游戏产品在国内海外都有市场。  因为我是一个对游戏无感的人,所以我就问了一些大家可能会感兴趣的问题,提前帮大家探探路。  PS:以下问题不代表权威或专业发声,只是测试行业的同学的个人感受  1.你感觉游戏测试行业就业如何?  我目前在游戏测试行业做了4年了,软件测试行业太卷了,游戏行业很好找工作,只要做功能测试就可以。但是这个行业对于新人来说跨度挺大的,但是做久了就很好搞了,业务熟悉了,怎么样都可以做,如果你对游戏一些基础的业务都不清楚,公司...
            0 0 1022
            分享
          • 1、引言面试官:小鱼,你来说说自动化测试架构是啥,怎么理解自动化测试架构?小鱼心想:挖草~ ~ 你这个坑,你这一个问题,我都能写一篇文章了。奈何心里这样想的,也不能就这样表达出来,于是乎,小鱼就说:嗯,这问题,我可以从以下几点来慢慢说。2、架构是个啥东西软件架构(software architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用...
            0 1 4551
            分享
      • 51testing软件测试圈微信