美文网首页软件测试测试员的那点事
Jmeter的安装部署以及录制脚本

Jmeter的安装部署以及录制脚本

作者: 测试学习之旅 | 来源:发表于2019-01-30 15:34 被阅读2次




    学习目标

    1.Jmeter环境搭建

    2.Jmeter元件介绍

    3.Jmeter的作用域

    4.JMeter执行顺序

    5.使用JMeter录制并回放脚本



    我的环境:win7 64位 JDK:jdk-8u191-windows-i586
                                       JMeter:apache-jmeter-5.0


    JMeter环境搭建

    安装java依赖环境

            JDK下载:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

            配置java环境地址:https://jingyan.baidu.com/article/9f63fb91d87fb0c8400f0e93.html

    校验

            cmd命令 --- java -version

    运行

             jmeter官网:http://jmeter.apache.org/download_jmeter.cgi    

            进入...\apache-jmeter-3.2\bin\解压目录,双击ApacheJMeter.jar启动(注:一定要配置Java环境)


    JMeter中组件中的常见的元件介绍

    测试计划与线程组不属于元件

    取样器

    取样器(Sample)是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,JMeter原生支持多种不同的sampler ,如 HTTP Request Sampler 、 FTP Request Sample 、TCP Request Sample 、JDBC Request Sampler 等,每一种不同类型的 sampler 可以根据设置的参数向服务器发出不同类型的请求。

    逻辑控制器

    逻辑控制器,包括两类无件,一类是用于控制测试计划(test plan) 中 取样器(sampler) 节点发送请求的逻辑顺序的控制器,常用的有 如果(If)控制器 、switch Controller 、Runtime Controller、循环控制器等。另一类是用来组织可控制 sampler 来节点的,如 事务控制器、吞吐量控制器。。

    配置元件

    配置元件(config element)用于提供对静态数据配置的支持。CSV Data Set config 可以将本地数据文件形成数据池(Data Pool),而对应于HTTP Request Sampler和 TCP Request Sampler等类型的配制元件则可以修改Sampler的默认数据。(例如,HTTP Cookie Manager 可以用于对 HTTP Request Sampler 的 cookie 进行管理)

    监听器

    这个监听器可不是用来监听系统资源的元件。它是用来对测试结果数据进行处理和可视化展示的一系列元件。 图形结果、察看结果树、聚合报告等都是我们经常用到的元件。

    定时器

    定时器(Timer)用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手段。类似于LoadRunner里面的“思考时间”。JMeter 定义了Bean Shell Timer、Constant Throughput Timer、固定定时器等不同类型的Timer。

    前置处理器

    用于在实际的请求发出之前对即将发出的请求进行特殊处理。例如,HTTP URL重写修饰符则可以实现URL重写,当RUL中有sessionID 一类的session信息时,可以通过该处理器填充发出请求的实际的SessionID 

    后置处理器

    用于对 Sampler 发出请求后得到的服务器响应进行处理。一般用来提取响应中的特定数据(类似LoadRunner测试工具中的关联概念)。例如,XPath Extractor 则可以用于提取响应数据中通过给定XPath值获得的数据

    断言

    断言用于检查测试中得到的相应数据等是否符合预期,断言一般用来设置检查点,用以保证性能测试过程中的数据交互是否与预期一致。


    JMeter的作用域

    JMeter中共有8类可被执行的元件(测试计划与线程组不属于元件),这些元件中,取样器是典型的不与其它元件发生交互作用的元件,逻辑控制器只对其子节点的取样器有效,而其它元件(配置元件 、定时器 、后置处理器、断言、监听器、)需要与取样器(sampler)等元件交互。我们从各个元件的层次结构就可以判断每个元件的作用域。

    采样器

    采样器会按照其在测试树中的顺序去执行,还可以用逻辑控制器来改变采样器运行的重复次数。

    逻辑控制器

    逻辑控制器可以改变其子测试元件的请求执行顺序。

    监听器

    监听器可以在测试的任何地方添加,包括直接放在测试计划之下。它们仅收集测试树中相同或者更低级别测试元件的数据。

    定时器

    定时器会让作用域内的每一个采样器都在执行前等待一个固定时长。如果测试人员为线程组添加了多个定时器,那么JMeter会将这些定时器的时长叠加起来,共同影响作用域范围内的采样器。定时器可以作为采样器或者逻辑控制器的子项,目的是只影响作用域内的采样器。

    断言

    断言会影响作用域内的所有采样器。如果要让断言只影响某个采样器,需要将断言作为该采样器的子项

    配置元件

    配置元件仅对其所在的测试树分支有效。例如,假设测试人员在一个简单逻辑控制器中放置了一个HTTP Cookie管理器,那么该HTTP Cookie管理器只对放置在简单逻辑控制器内的其他逻辑控制器生效。

    前置处理器

    前置处理器通常用于在采样器发出请求前修改采样器的某些设置,或者更新某些变量的值(这些变量不在服务器响应中获取值)。

    后置处理器

    如果后置处理器附着在某个采样器之下,那么它只会在该采样器运行之后执行。后置处理器通常被用来处理服务器的响应数据,特别是服务器响应中提取数据。


    Jmeter的执行顺序

    配置元件(config elements ) --- 前置处理器(Per-processors) --- 定时器(timers ) --- 取样器(Sampler) --- 后置处理器(Post-processors) --- 断言 (Assertions)--- 监听器(Listeners)

    注意:

    前置处理器、后置处理器和断言等元件只能对 取样器作用,因此,如果在它们的作用域内没有任何取样器,则不会被执行。

    如果在同一作用域范围内有多个同一类型的元件,则这些元件按照它们在测试计划中的上下顺序一次执行。

    一个断言在测试树中是分等级的。如果它的父元件是请求,它就被应用于那个请求。如果它的父元件是控制器,它就影响所有那个控制器下的所有请求。

    使用JMeter创建一个简单的性能测试


    JMeter录制脚本并回放

    1.新建线程组

           新建线程组以及重要的属性解释

    2.新建HTTP Cookie管理器

    3.新建HTTP代理服务器

                  netstat -an使用这个命令查看已用的端口号,这里填写的端口号必须是唯一的

    包含和排除模式

    包含模式

    包含模式可以写为:.*服务器地址.* 例如:".*192\.168\.1\.100.*"

    排除模式

    .*\.js.*|.*\.css.*|.*\.jpg.*|.*\.jpeg.*|.*\.gif.*|.*\.png.*|.*\.bmp.*

    4.设置代理服务器

    如果被测的客户端是PC机,如图下设置代理

    线程组

    地址:该处填写Jmeter代理服务器所在的机器的IP。(如果jmeter代理服务器和客户端在同一台电脑上,则该处可以填写localhost。)

    端口:该处填写Jmeter代理服务器所配置的端口。

    win7 设置代理

    设置浏览器代理

    5.执行操作

    如果客户端与被测服务器是同一台电脑,访问时不要使用localhost,应该使用ip地址,否则代理不生效

    6.关闭连接

    JMeter停止代理服务器

    还原客户端的代理设置,否则客户端无法访问外网。


    我碰见的问题

    1.问题如下:

    解决:

          蠢!!!!是JMeter5.0的新特性

         录制特性增加了一个始终在顶部的弹出框,当你在浏览器中操作时,可以命名你的事务。

    2.响应数据乱码

    解决:

    1:指定请求节点下,新建后置控制器"BeanShell PostProcessor"

    2:其脚本框中输入:prev.setDataEncoding("UTF-8");

    3:保存

    相关文章

      网友评论

        本文标题:Jmeter的安装部署以及录制脚本

        本文链接:https://www.haomeiwen.com/subject/gpxcsqtx.html