JMeter简介:一个100%的纯Java桌面应用,由Apache组织的开放源代码项目,它是功能和性能测试的工具。具有高可扩展性、支持Web(HTTP/HTTPS)、SOAP、FTP、JAVA等多种协议的特点。

JMeter环境安装与配置:

  1、本机配置好Java环境变量
  2、官网下载压缩包,在任意目录下解压
  3、修改配置文件,打开Jmeter的bin目录下jmeter.properties,修改
    language=zh_CN
    sampleresult.default.encoding=utf-8
  4、进入到Jmeter的bin目录下,双击jmeter.bat启动,或者双击ApacheJMeter.jar启动

Jmeter主要元件:◼测试计划◼ 线程组◼ 采样器(sampler)◼ 断言◼ 监听器

Jmeter基本元件-线程组:添加线程组并设置参数大小:测试计划→添加→Threads →线程组

Jmeter应用:

一、接口测试脚本-get/post:

  get请求如下,ip和port为全局变量,在 测试计划下添加;

  post请求如下:

  

响应文本断言和json断言:

  

  

二、逻辑控制器:

  常用的逻辑控制器
  1,循环控制器:可以设置该控制器内的sampler执行的次数,循环次数与线程的循环次数各自独立
  2,if控制器:根据判断条件决定是否执行该控制器内的请求,如果是字符串比较条件,参数和字符串
      都需要加引号,如”{param}” == “test”
  3,随机控制器:随机执行该控制器内的一个请求
  4,随机顺序控制器:执行该控制器内的所有请求,顺序随机
  5,仅一次控制器:该控制器内的请求只执行一次,无论线程循环多少次
  6,foreach控制器,可以遍历某个参数数组,循环获取数组中的参数

三、关联参数,后置处理器,提取参数后可以通过调试取样器的返回结果查看参数值:

  1、正则表达式提取器:可以通过正则表达式来获取http请求返回的数据
  引用名称:匹配后的结果,保存到一个参数中,如param
  正则表达式:支持正则表达式的语法,用()来进行分组,指定要获取的内容,如":(.+?),
  模板:$1$表示取匹配到的第一组数据,$2$为第二组
  匹配数字:当某组数据中包含多少个参数时,0代表随机,1代表该组的第一个参数,2表示第二个。。。-1代表获取全部的参数,这个时候,引用名称就变成了参数数组,可以通过param_n来获取指定的参数,当有多组数据时,第一组为param_1_g1,第二组为param_1_g2。

  https://baike.baidu.com/item/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1700215?fr=aladdin

  2、JSON提取器:专门对json数据进行提取的后置处理器,用$代表json数据,配置基本和正则表达式提取器类似

        

四、cookie管理器:和Loadrunner一样,Jmeter可以自动处理cookie,但是需要在线程组内添加一个空的cookie管理器。

五、header管理器:在http信息头管理器中添加一个或多个http请求header中的名称和值,可以修改请求头的值

六、token处理:

  1.登录请求后添加 json 提取器,提取 token参数,下一操作的请求头中引用 token:${token} 值。

七、上传文件请求如下,下载请求同普通get:

         

八、webservice请求如下,与普通post:

  1、添加http post请求
  2、添加header:Conent-type:text/xml
  3、Post请求的body中填写 xml请求body

九、函数助手与csv数据文件设置

函数助手可以选择一个功能,填入所需值后,点击生成,即可生成 引用的表达式,直接复制函数字符串 即可在请求中使用;

cvs数据文件设置 可以从指定文件中读取csv格式数据,作为参数在请求中使用。

性能测试学习第五天-----Jmeter测试脚本&基础元件使用的更多相关文章

  1. fiddler自动生成jmeter测试脚本

    概述 昨天我们在课堂上讲了如何通过fiddler抓包,单一接口可以复制到jmeter中进行接口测试,那么如果抓包获取了大量的接口,我们如何快速实现接口转换成jmx文件呢? 今天给大家介绍fiddler ...

  2. JMeter学习(十七)JMeter测试MongoDB(转载)

    转载自 http://www.cnblogs.com/yangxia-test JMeter测试MongoDB性能有两种方式,一种是利用JMeter直接进行测试MongoDB,还有一种是写Java代码 ...

  3. 【NO.11】Jmeter - 构建1个可供Linux使用的Jmeter测试脚本 - 共3个步骤

    在Linux使用Jmeter做性能测试需要4个前提条件,这4个前提条件已经在之前的文档里提到了,重复一下加深印象: (1) 在本地已安装xshell 参考<SecureCRT-转换密钥-Xshe ...

  4. 性能测试学习第五天_loadrunner概述

    1.为什么要进行性能测试(性能测试贯穿于软件生命周期) The failure of a mission-critical application can be costly. Assure perf ...

  5. 用BlazeMeter录制JMeter测试脚本

    工具: 1,JMeter 2,Chrome 3,BlazeMeter 4,SwitchyOmega(如果需要代理) 步骤: 以上工具准备好以后就可以录制JMeter的测试脚本了, 在Chrome中点击 ...

  6. 菜鸟教程之工具使用(十)——用BlazeMeter录制JMeter测试脚本

    工具: 1,JMeter 2,Chrome 3,BlazeMeter 4,SwitchyOmega(如果需要代理) 步骤: 以上工具准备好以后就可以录制JMeter的测试脚本了, 在Chrome中点击 ...

  7. 【Python】使用Beautiful Soup等三种方式定制Jmeter测试脚本

    背景介绍 我们在做性能调优时,时常需要根据实际压测的情况,调整线程组的参数,比如循环次数,线程数,所有线程启动的时间等. 如果是在一台Linux机器上,就免不了在本机打开图形页面修改,然后最后传递到压 ...

  8. JMeter学习(十五)JMeter测试Java(转载)

    转载自 http://www.cnblogs.com/yangxia-test 目的:对Java程序进行测试 目录 一.核心步骤 二.实例 三.JMeter Java Sampler介绍 四.自带Ja ...

  9. 性能测试学习第七天-----JMeter之linux环境部署篇

    一.linux获取动态ip或静态ip: 1. virtualbox 加载linux虚拟机镜像文件,加载时重置全部网卡,加载后网络选择“桥接网络”--本机当前使用网卡: 2. ifconfig      ...

随机推荐

  1. 教你发布vue+.netCore项目到服务器

    最近一直在做项目,发布部署的事情都是同事或者老大做的,无奈什么事都要自己尝试经历后才能记住,所以发布的事情轮到我了,由于是第一次发布部署项目到一个新的服务器环境,难免会遇到各种各样的问题,总结下来,希 ...

  2. java学习笔记(基础篇)—抽象与接口的区别

    抽象与接口的区别 一.抽象(abstract) 1. 抽象方法 1) 作用:定义规范 2) 抽象方法用来描述具有什么功能,但不提供实现. 3) 如果类中一个方法没有实现就要定义一个抽象方法. 2. 抽 ...

  3. 【DFS的分支限界】(例题-算式等式)

    不知道DFS的请滚去 这里瞅一眼再说. -分支限界- 基本概念: 类似于回溯法,也是一种在问题的解空间树T上搜索问题解的算法.但在一般情况下,分支限界法与回溯法的求解目标不同.回溯法的求解目标是找出T ...

  4. tomcat7之性能优化

    一.Tomcat 7.0.X: 要了解tomcat的优化,我们先看看Tomcat的官方定义:The Apache Tomcat® software is an open source implemen ...

  5. 基于 HTML5 Canvas 的可交互旋钮组件

    前言 此次的 Demo 效果如下: Demo 链接:https://hightopo.com/demo/comp-knob/ 整体思路 组件参数 绘制旋钮 绘制刻度 绘制指针 绘制标尺 绘制文本 1. ...

  6. 主机cpu突然飙高,如何快速排查问题

    [问题发现] 使用zabbix软件监控服务器时发现cpu突然异常,在业务主机上使用top命令查看系统的整体运行情况,使用top命令后发现mysqld占用CPU特别高,初步判断可能是mysqld出现问题 ...

  7. 14. 流、文件和IO

    前言 InputStream/OutStream流用来处理设备之间的数据传输 Java.io 包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. Java.io 包中的流支持 ...

  8. “$Bitmap 有标记已使用的未用簇”

    前几天在电脑上用 DiskGenius 给移动硬盘分区的时候出现了这个错误,如下图所示: 解决方法: 在 cmd 命令行窗口中输入如下代码: chkdsk /f /x c: PS: 其中 " ...

  9. Could not load NIB in bundle: 'NSBundle.....

    学习NSNotification时遇到了这个问题,错误日志如下: 2015-08-28 17:47:24.617 NSNotificationDemo[7158:786614] *** Termina ...

  10. 消息中间件——RabbitMQ(一)Windows/Linux环境搭建(完整版)

    前言 最近在学习消息中间件--RabbitMQ,打算把这个学习过程记录下来.此章主要介绍环境搭建.此次主要是单机搭建(条件有限),包括在Windows.Linux环境下的搭建,以及RabbitMQ的监 ...