用jmeter写脚本

  • 修改jmeter的语言为中文:
  • 临时修改: 菜单栏 options > choose language > chinese 只对当前启动jmeter有效,关闭jmeter之后又会被还原。

jenkins跑jmeter脚本 jmeter脚本开发_jenkins跑jmeter脚本

永久修改: 配置文件 jmeter.properties

jmeter是用java语言开发,java语言中,经常看到用 xxx.properties 结尾的文件,都是它的属性配置

propeties文件,可以用 记事本 打开

用 # 开头 注释

所有 key=value 就是 属性键值对

添加 language=zh_CN 前面不要 # 保存文件

重启jmeter 才生效

所有的属性文件被改变之后,都需要重启才生效

jenkins跑jmeter脚本 jmeter脚本开发_键值对_02

jmeter启动的时候,是会先去加载 properties的属性配置文件

用 jmeter.bat jmeter.sh jmeter 这个命令启动的jmeter,是图形界面

图形界面 GUI: 仅仅用于编写和调试脚本

真正做性能测试,不用 图形界面, 用 CLI 无图形界面模式

日常使用图形界面工具,我们习惯从菜单中 找功能,但是jmeter不一样,菜单中的功能很有限,jmeter的主要功能都是在右键里面

快捷工具栏

帮助: 打开的是官方的帮助, 官方的帮助,只保留了最新的一份。 我们的jmeter用的是5.1.1,不是最新版本,所以,这个官方帮助 与 我们用的软件有差异。


离线帮助:

docs: jmeter-api 接口文档, 主要是用于jmeter二次开发使用

printable_docs: 用浏览器打开 index.html 就是 jmeter的离线使用文档

建议大家,多去看这个文档

jenkins跑jmeter脚本 jmeter脚本开发_压力测试_03

不同的版本,这个地方有差异。


以后,在工作中,遇到问题,要反馈问题的时候,你们截图,要包括这个地方。

截图一定要截 jmeter 整个图像,不要截一小段一小段

时间: 执行测试的时长

黄色三角形后面的数字: 有红色的数字,说明 工具出错

1、工具本身

2、你的脚本不正常运行,导致工具出错

点击黄色三角形,可以打开 logcat 面板,看到jmeter的运行日志

jenkins跑jmeter脚本 jmeter脚本开发_jenkins跑jmeter脚本_04

  • 出现红色数字,我们就会去点击
  • 0/0: 后面的数字,是说jmeter将启动多少个线程数(性能测试); 前面的数字,说当前启动运行的线程

jenkins跑jmeter脚本 jmeter脚本开发_压力测试_05

左侧脚本结构树

测试计划:脚本的根 在它上面右键去添加其他功能

jenkins跑jmeter脚本 jmeter脚本开发_python_06

线程(用户) -------添加组 (进行性能测试时,设计性能场景的)

jenkins跑jmeter脚本 jmeter脚本开发_单元测试_07

setup

teardown

线程组: 挂载 真正要执行的请求

取样器:

取样器是根据协议来区分

要写请求,就是 填元件中的空

只有添加了线程组才会在右键中出现取样器

jenkins跑jmeter脚本 jmeter脚本开发_jenkins跑jmeter脚本_08

配置元件:为所有取样器做基础配置

  • 它是所有元件中,最先被执行(在jmeter中的优先级是最高的)
  • csv数据文件设置

jenkins跑jmeter脚本 jmeter脚本开发_单元测试_09

写写http脚本

服务器ip或域名(二选一,必写一种)


端口, tomcat的默认端口 8080

没有填端口,端口就是: 80

请求方法和路径


1、接口文档

2、swagger 现在项目很容易 swagger集成

3、抓包 f12 、fiddler、 tcpdump

录制?

可以录制,但是,性能测试中,千万不要讲 录制

录制的时候,会带有很多 干扰

消息体数据

jenkins跑jmeter脚本 jmeter脚本开发_jenkins跑jmeter脚本_10


json

请求体为json,就一定要添加消息头管理器,一定要写上 Content-Type

application/json

jenkins跑jmeter脚本 jmeter脚本开发_python_11

监听器:对我们的结果进行监听


不同的监听器就是丛不同的维度来监听我们的同一对象

查看结果树

红色: 红色只是代表失败

Response-code: 4xx 5xx

绿色: 绿色 只是说明 网络请求成功

Response-code: 1xx 2xx 3xx

逻辑控制器: 逻辑控制请求

添加逻辑控制器,一定要有 取样器,才会生效事物控制仅一次控制

前置处理器: 执行请求前要准备事情

用户参数

后置处理器: 执行结果来进行处理

json提取器

正则提取器

json

键值对的结构"key":value,key是用双引号的,value是否使用双引号不确定

value 为数字类型:不需要双引号

数字类型: 整型int、 float

value 为字符串类型:需要双引号

字符串: string(char、varchar)

value也可以是 数组类型 {“key”:[{“key2”:“value2”}]}

有一种特殊情况不是数组 {“key”: “[{“key2”:“value2”}]”}

多个键值对之间用 英文逗号分割, 最后一个键值对,后面没有 逗号

键值对 是 无序的

用大括号括起来{}