代码改变世界

Jmeter- 笔记2 - Jmeter介绍

2020-12-13 16:11  起个昵称  阅读(646)  评论(0编辑  收藏  举报

性能测试工具:Jmeter

              环境:Window,jdk1.8

 

Jmeter是Apache下的Java语言开发。运行Java语言的环境是jre(Java run env.)。jdk是Java开发工具包,jdk包含jre,所以安装jdk比较简单。

一台电脑允许安装多个版本的jdk,使用哪个jdk可以用环境变量来配置

 

如何查看电脑安装的jdk版本是多少?

使用命令:Java -version

下图,Java大版本是1.8。使用Jmeter时建议搭配jdk1.8

 

 

安装Jmeter:

下载后是zip压缩包,直接解压即可,无需安装。

bin文件夹下:

1)双击jmeter.bat即可运行Jmeter,随即打开Jmeter的GUI界面(图形界面)。(CLI是无图形界面)。如果有配置环境变量,可用命令:jmeter 启动

 

 

2)jmeter.log是运行jmeter的日志文件

3)jmeter.properties是常用功能的配置文件,可配置:

  a. language=zh-cn,这是GUI的显示语言,跟GUI里面设置语言不同,这里设置的是永久性的,GIU设置的是一次性的,即重启Jmeter语言又恢复到配置文件里设置的

  b. sampleresult.default.encoding=utf-8,这是针对响应结果为中文时,防止出现乱码。具体是改utf-8还是gb2312还是gbk还是big5,要看response结果给的是什么charset.

4) 默认保存的脚本路径:.\bin

docs文件夹下:

1)api文件夹的index.html文档放的是Java包,用于jmeter的二次开发

extras文件夹(持续集成用到):

lib文件夹:

1)放源码包、二次开发的jar包

2)ext文件夹放插件

printable_docs文件夹:使用jmeter的帮助文档

  在这文件夹打开的文档(index.heml)是本地版本的离线文档 

  在GUI打开的帮助文档是官方的帮助文档,只存在最新的文档

 

******************************************************************************************

 

 

 

 

如上图:

1. 右上角 00:00:00是指运行时间

2.黄色三角形图标,是运行日志,显示jmeter工具运行日志。如果出现红色数字,说明是jmeter的元件工具报错。点击图标,会显示日志记录。

3.0/0  当前运行线程数/总共要运行的线程数

4.Test Plan(测试计划):可理解为项目的根目录

5.一个完整的jmeter脚本一般包括以下三个:

  1)线程组

  2)取样器,根据不同的接口协议有不同的取样器

    a. HTTP请求:在此输入请求的url,请求体。

    协议:

    服务器名称或IP:还可输入域名。这一位置绝对不能输入斜杠,否则报错

    端口号:如果没填写,http协议的默认端口为80。tomcat的默认端口是8080

    方法:

    路径:不能全路径“http://****:***/******",大概率情况会报错

    内容编码:utf-8。只对请求体(request body)有效。响应结果不在这里设置

    参数tab -> 编码 列:请求的参数值含中文或特殊符号时,要勾选编码。密文的密码也需要勾选,因为在转义过程中有可能出现“=”。最保险方法是无论什么时候,所有参数的编码都勾选。 -- 只对请求体有效

 

 

 

    b.

  3)监听器,不同的监听器,从不同的角度展示取样结果

    a. 察看结果数:直接展示request respond

    绿色代表网络请求成功,红色代表网络请求失败

ping不同并不代表网络不同,能ping通也不代表网络通。测试是否接通网络用telnet

 

 

    b.

 根据业务,还可添加不同元件

  4)逻辑控制器

    a.

    b.

  5)前置处理器

    a.

    b.

  6)后置处理器

    a.

    b.

  7)断言

    a.

    b.

  8)定时器:等待时间

    a.

    b.

  9)测试片段

    a.

    b.

  10)配置元件:(运行顺序)优先级最高,在一个线程组下,不管配置元件放在哪个位置,都最先执行

    a. HTTP消息头管理器:请求头信息

    content-Type:****;charset=utf-8     =》 这里的utf-8也只对请求体有效

    b.