目录

  • 本篇内容
  • 重点&难点
  • Jmeter环境安装与配置
  • Jmeter目录结构
  • JmeterGUI工具介绍
    • 工具菜单
      • 更改显示语言(语言切换)
    • Jmeter脚本组成部分
  • HTTP协议
    • 接口数据来源
    • HTTP接口重要组成部分
  • HTTP请求

本篇内容

  1. Jmeter环境配置
    Jmeter配置与安装
    Jmeter工作原理
  2. Jmeter上手
    文件目录介绍
    工具介绍
  3. 制作脚本
    HTTP协议
    接口
    编写脚本

负载测试关键词:逐步增加并发用户数,找到区间,再细化区间后,找到拐点。
压力测试关键词:服务器稳定性。

重点&难点

  1. 重点
  • Jmeter组成部分
  • Jmeter编写脚本
  1. 难点
  • HTTP协议

Jmeter环境安装与配置

  • Apache下的java开源 免费
  • java开发一运行环境jre、jdk;跨平台
    jre(Java Runtime Environment) java运行环境的英文缩写
    jdk(Java Development Kit) java的开发工具包的英文缩写(包含了jre)
    java -version
    1. 安装jdk(建议1.8),因为jmeter是基于jdk1.8开发的,比较稳定。较高的jdk版本,有可能造成部分功能不能正常使用。典型:soap接口,如果公司采用soap协议,用jmeter做测试,如果安装的不是jdk1.8,可能出现无法正常使用的问题。linux或者mac电脑安装openjdk1.8就行了。一台电脑允许安装多个jdk版本,环境变量中只能有一个jdk版本。
    1. 下载免费的jmeter
    1. 启动jmeter(只需要配置jdk的环境变量,不需要配置jmeter的环境变量。配置jmeter的环境变量,可能导致jmeter无法启动,闪退)
      3.1 同一个系统中,可以启动多个jmeter(相同版本、不同版本)
      3.2 bin jmeter.bat(批处理文件)ApacheJmeter.jar
      windows双击jmeter.bat启动jmeter
      mac启动jmeter命令如下,两种方式:
sh jmeter.sh
./jmeter.sh

注意:jmeter不要去使用低于5的版本。因为界面不同(入口找不到),功能发生变化,性能得到优化,本身这款工具的性能得到了提升。
赋权限:在bin文件夹下执行chmod +x * 赋予权限,保证权限正常。
如果执行命令chmod +x jmeter.sh,只给jmeter.sh赋权限,还会依赖于其他文件,会出现别的文件没有执行权限导致的报错。

性能测试的脚本,可以用于功能测试,也可以用于自动化测试。
功能测试的脚本,或者自动化测试的脚本,不能直接用于性能测试。
性能测试的脚本,可以简化一下,不要做并发用户,就可以直接用于功能测试或自动化测试。

在bin目录下存在ApacheJMeter.jar,双击不能运行,可以通过如下命令运行:
如果是windows系统,bin目录下直接cmd打开DOS窗口

java -jar ApacheJMeter.jar

两种启动方式有区别:使用jar文件启动起来的是中文界面,使用双击jmeter.bat启动起来的是英文界面。两种启动方式均可,只是读取的配置文件不同。
mac右键点击bin文件夹,可以选择New Terminal at Folder,打开command窗口

Jmeter目录结构

  • bin:启动脚本,jar文件,配置文件。一般java项目都会包括启动所需要的文件都会在bin目录下。配置文件不一定在这个目录下面。默认情况下,保存的jmeter脚本
  • docs:api文档。api:javadoc,java
  • api文档,注释/注解信息。要对Jmeter进行二次开发,就可以看源码的接口文档,调源码里面的接口。jmeter可以用java做二次开发,也可以用python里面的jython这种语言来写。
  • extras:扩展,希望能够实现持续集成、持续交付。
  • lib:字典或者库(library的缩写)。jmeter本身这款工具的源码包,源码打成jar包。自己对jmeter进行二次开发的jar包,放在lib这个文件夹中。第三方jar包使用,放在**/lib/ext,放第三方插件**。junit是单元测试脚本。
  • licenses:apache组织的开源工具,所使用的licenses,就是apache的licenses。
  • printable_docs:帮助文档,操作手册(本地文件)。官方在线的操作文档,永远都是最新版本的操作文档。更多的是看自己本地文件夹的离线帮助文档,和安装的版本是一致的。
  • README.md:文档。可以用记事本打开。

注:不要从工具中引入库,会出现各种各样的问题,要放入lib或者lib/ext文件夹。

JmeterGUI工具介绍

工具菜单

更改显示语言(语言切换)

  1. 选项-选择语言-选择中文简体
  2. language=zh_CN
    菜单工具栏:Options(选项)->Choose Language(选择语言)->English or Chinese (Simplified) (英语 or 中文简体)
    这是一种临时切换语言方式,只有当前这一次有效,下一次打开仍然恢复到原先的语言配置。
  • ini是windows配置文件的后缀。
  • conf是linux配置文件的后缀。
  • properties和xml是java常用的配置文件的后缀,yaml还不是java最主流程的配置文件的后缀。

jmeter中最关心的配置文件是:jmeter.properties
在bin目录下,可以用记事本直接打开。这边更改语言之后,是永久生效。

Jmeter脚本组成部分

  • 工具栏右上角的惊叹号三角形为日志面板,logcatch
    panel,显示的是工具本身的日志。日志级别有INFO、ERROR等,一般不会调整日志级别。
  • 右上角0/0,就是当前并发用户数。
  • 测试计划:根文件夹,项目根目录,都是通过右击添加。

元件:

  1. 线程组
  2. 取样器:不同的元件,编辑区不一样。根据不同的协议,来写脚本的元件。
  3. 监视器:在线程组上面右键添加监听器。比如查看结果树。

HTTP协议

协议:超文本传输协议 https = http + ssl(Tls)
用于规定客户端与服务端的数据传输格式
tcp:面向连接,提供可靠数据传输 srt dst(三次握手四次挥手)
udp:无连接的,尽快传输数据

接口数据来源

  • 接口文档/api文档
  • 网络抓包(http)

HTTP接口重要组成部分

请求的四部分:请求行、请求头、空一行、请求体

  • 请求行:请求方法(get、post等)和请求uri地址(变化的),以及请求协议规范版本(基本上都是1.1规范版本)
  • 请求头:host 、ua、Content-Type(application/x-www-form-urlencoded 浏览器表单提交格式-浏览器默认提交请求的数据格式,把参数直接跟在url地址后面、application/json json格式、text/html 文本格式、multipart/form
  • -data 表单)…,在线程组->添加->配置元件里面,HTTP信息头管理器。
  • 请求体:request body,请求参数

线程组-添加-逻辑控制器,最常用的有

  • if控制器
  • for循环控制器

用户参数等的设定,可以在线程组-添加-前置处理器里面添加。配置元件里面有个用户定义的变量。有点类似setup,teardown,但还不是,不等于这两个。
需要拿到请求结果里面的值,就需要用到线程组-添加-后置处理器。
实际结果与预期结果进行比较,需要用到线程组-添加-断言-响应断言。
思考时间,暂停休息一下,可以添加线程组-添加-定时器-固定定时器。
测试片段,用来管理我们的测试脚本。

响应的四部分:响应头、响应行、响应体

HTTP请求



Request Body

Request Headers

Response headers

绿色箭头这是表示网络是通的,并不代表接口请求结果是正常的。
红色箭头表示网络出错了。

服务器名称或IP:里面不能带有斜杠,前后都不能有斜杠。
端口:默认端口为80端口,可不填写。
路径:里面不能重复再次添加IP和端口

控制请求不乱码的三个地方:

  1. 内容编码:utf-8,只对请求有效,对响应无效。保证中文正常,有3个地方。这是其中一个地方。
  2. 请求值:有中文的时候,一定要记得编码处要打勾。不然的话,会把中文直接带到url地址后面,就有可能出现url地址直接报错,服务器不识别。或者出现中文乱码,直接进入到数据库。
    密码加密,也一定要勾选编码。防止加密的密码出现“等于号”“加号”出现url地址报错,无法访问。为什么等于号会出现?url中,都是key=value,如果密码中出现等于号,就没法匹配了。
    为了保险起见,为了避免不出错,把编码都钩上。
  3. 第三个地方,在HTTP信息头管理器,加入charset=utf8。
    英文和数字编码打勾后,不变,仍然是英文和数字,只有中文和特殊符号编码后,会变化。

Jmeter开发脚本相关推荐

  1. nmon结果分析工具_Jmeter测试工具实践:如何为Jmeter开发测试插件定制专属取样器?...

    JMeter原生支持多种不同的取样器(HTTP.TCP.JDBC.JMS等),每一种不同类型的取样器可以向服务器发送不同协议类型的请求.除了开箱即用的协议支持以外,JMeter还支持用户自己开发新协议 ...

  2. 如何为Apache JMeter开发插件(三)——冲破图片验证码的束缚

    我们在性能测试中总会时不时地遭遇到来自于应用系统的各种阻碍,图片验证码就是一类最常见的束缚,登录或交易时需要按照图片中的内容输入正确的验证信息后,数据才可以提交成功,这使得许多性能测试工具只能望而却步 ...

  3. 使用Jmeter开发app端接口自动化案例实战

    开发思路 1.开发app端接口自动化案例,首先需要使用Fiddler抓包: 2.目前接触到的app端都是https协议,所以需要开启Fiddler的https协议 3.抓包完成之后,使用jmeter模 ...

  4. Jmeter性能测试脚本实战

    charles抓包经验分享 1.设置过滤 2.对于抓包操作进行备注 3.去掉资源文件(js/css/imgs/wav等) 其他去除资源文件方法,在过滤中设置exclude中添加正则 Charles抓H ...

  5. cocos creator休闲游戏甜品幻想H5+安卓+IOS三端源码开发脚本为javaScript

    cocos creator休闲游戏甜品幻想H5+安卓+IOS三端源码,开发脚本为javaScript方便扩展和阅读,支持cocos creator2.X版本,完整的源码可拿来运营学习研究二次开发. 1 ...

  6. Jmeter录制脚本fiddler fiddler录制jmeter脚本

    jmeter录制脚本有多种方法,例如badboy.fiddler.jmeter自带的等. fiddler录制 jmx 脚本 fiddler安装使用请自行百度. 分享自己使用的插件及fiddler: 链 ...

  7. 使用JMeter 录制脚本

    使用JMeter 录制脚本,参考的一个博主的,我记录到我这里,留着以后用哈哈哈哈 1,添加 HTTP代理服务器 测试计划右键–>添加–>非测试元件–>http代理服务器 2,添加线程 ...

  8. 使用loadrunner javavuser协议开发脚本实战

    众所周知,Java语言是一门非常适合网络开发的语言,用Java语言进行性能测试脚本开发将会大大提高测试开发效率.LoadRunner中提供了对Java虚拟用户的支持.Java虚拟用户依托于JDK,这大 ...

  9. android开发脚本之awk

    引言 android开发脚本之过滤特定包名的log 这个样例中,其它的都好懂,就是awk,可能如果没有接触过,就是有点不明白是怎么回事,下面简单的讲讲awk 简介 awk是一个强大的文本分析工具,相对 ...

最新文章

  1. phalcon遇到的那些坑
  2. python入门有基础-python入门基础
  3. 中国移动手机网络私有网络连接问题解决办法
  4. 单行溢出文本显示省略号的方法(兼容IE FF)
  5. 《计算机网络:自顶向下方法(原书第6版)》一第1章
  6. DataGrid分页(1)
  7. Graphviz安装配置教程(图文详解)
  8. Java - HttpClient 下载文件
  9. 【ios】为什么要在Other Linker Flags添加Flag (eg:-ObjC、-lc++等)?
  10. linux虚拟机中如何复制粘贴内容到主机
  11. mysql数据库的超级管理员名称_MySQL数据库的超级管理员用户的名称是__________。...
  12. 腹肌锻炼视频(02):八种基本动作
  13. (转)2016年对冲基金经理“封神榜”
  14. 程序员:迟到1分钟罚300,加班却视而不见,月底工资让人寒心
  15. 《求职》第四部分 - 操作系统篇 - Linux基础
  16. 语言哲学与计算机语言,20世纪语言哲学和心智哲学的发展走向——以塞尔为例...
  17. 【转载】双微信分享发生TransactionTooLargeException 异常记录
  18. PHP实验报告 点餐系统,点餐系统软件工程实验报告.doc
  19. STM32cube 控制 AIP650 TM1650
  20. Unity shader build 打包android和PC机显示效果不一样

热门文章

  1. 极客头条:5月31日科技资讯 |中国计算机学会暂停与IEEE合作;百度接连五位高管离职;所有版本 Docker 被爆严重漏洞!
  2. AcWing 4956. 冶炼金属
  3. 138Vue-带参数自定义指令directive、v-foucs
  4. 链表使用基础——如何创建链表
  5. 有这样的老婆,真舒服!
  6. c语言程序运行环境实验报告,程序的运行环境实验报告.doc
  7. Postgres SQL 设置pgAdmin使用谷歌打开
  8. openssl hmac源码分析
  9. KMP算法(字符串匹配问题)acm寒假集训日记22/1/19
  10. <十四五规划以及2035年远景目标建议> 简单提炼