• jmeter性能测试入门


       

    1、jmeter介绍
    2、jmeter变量环境部署
    3、jmeter目录结构
    4、jmeter  Gui模式
    5、jmeter 非Gui模式
    6、jmeter 录制完显示乱码设置
    7、jmeter 结果分析

     1.jmeter介绍

    1.1.jmeter基于java环境中运行,所以运行时电脑中需要配置java的jdk环境变量进行,不同版本的jmeter支持的jdk版本也不同,比如jmeter3.2只支持jdk8.0以上的版本,jmeter下载后解压安装并部署jdk就可以直接使用了。
    1.2.jmeter下载(网盘或官网下载)
    网盘:https://pan.baidu.com/s/1sKITYdiG7GwBGTzuHvQdTQ  
    密码:we6g
    官网地址:https://jmeter.apache.org/
    1.3.jdk下载(网盘或官网下载)
    网盘:https://pan.baidu.com/s/1IZQbtdzde-6SZALfSh4-7w
    密码:2zin
    官网地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

     

     2.jemter变量环境部署

    参考地址:https://jingyan.baidu.com/article/c85b7a6414f2ee003bac95d5.html

    验证结果:
    在命令窗口输入 java -version 回车(会显示出jdk的版本及时间)
    在命令窗口输入java回车(会显示出java命令页)

     3.jmeter目录结构

    JMeter中包含以下几个目录:
    bin、docs、extras、lib、licenses、printable_docs

    3.1 bin目录:

    examples:目录中有csv样例
    ApacheJMeter.jar:JMeter表现层的源码包
    jmeter.bat:windows下启动文件
    jmeter.sh:Linux下启动文件
    jmeter.log:运行产生的日志和错误信息可在此文件查看
    jmeter.properties:系统配置文件
    jmeter-server.bat:windows下启动负载生成器服务文件
    jmeter-server:Linux下启动负载生成器文件

    3.2 docs目录:

    接口文档目录
    docsapi下的index.html可查看

    3.3 extras目录

    提供了对构建工具Ant的支持,可以使用Ant来实现测试自动化。
    例如批量脚本执行,产生HTML格式的报表,测试运行时,可以把测试数据记录下来,Jmeter会自动生成一个.jtl文件,将该文件放到extras目录下,运行“ant -Dtest=文件名 report”,就可以生成测试统计报表

    3.4 lib目录

    lib下存放JMeter所依赖的外部jar包:
    如httpclient.jar、httpcore.jar、httpmime.jar等等
    JMeter依赖的核心jar包、JMeter插件包也在此目录

    libjunit下存放junit测试脚本

    3.5 Licenses目录

    jmeter证书目录

    3.6 Printable_docs目录

    用户使用手册,printable_docs下的index.html可查看

    4.jmeter GUI模式

    4.1 Jmeter windows下启动
    4.2 Jmeter 主页面
    4.3 Jmeter 测试元件简介
    4.4 Jmeter 线程组
    4.5 Jmeter接口测试实例
           a、录制脚本
           b、编写脚本
           c、参数化数据

    4.1 Jmeter的启动:
        bin目录下启动jmeter.bat

    4.2 Jmeter主页面
        测试计划:

    测试计划是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器

     下面看一下一个计划下面都有哪些主要的功能模块
    (右键单击“测试计划”弹出菜单)

    4.3 测试元件:

    e、Timer 定时器
    负责定义请求(线程)之间的延迟间隔,模拟对服务器的连续请求
    f、Logic controller 逻辑控制器
    允许自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。
    g、Pre processor Post processor 前端处理器、后端处理器
    前置处理器和后置处理器负责在生成请求之前和之后完成工作。前置处理器常常用来修改请求的设置,后置处理器则常常用来处理响应的数据。
    h、config element 配置元件
    维护Sampler需要的配置信息

    4.4 线程组:

    线程组的添加:
    测试计划—>Threads—>Thread group


    名称
    注释
    在取样器错误后要执行的动作
         继续   (如果取样器里的执行出现错误失败的时候,请求不会停止,继续执行。)
         Start Next Thread Loop
             (忽略错误,线程当前循环错误,执行下一个循环。)
         停止线程             (只限当前线程停止,不影响其他线程执行)
         停止测试             (当前执行的线程全部执行完毕后结束)
         Stop Test Now      (立刻停止)
    线程属性
        线程数(需要设置多少线程执行测试,可看作模拟的用户数)
        Ramp-up Period (in Seconds)(多长时间启动所有线程)
        循环次数(线程跑几次)
    Delay Thread creation until needed  
        (默认不勾选,延迟创建线程,直到该线程开始采样,即之后的任何线程组延迟    和加速时间为线程本身。这样可以支持更多的线程,但不会有太多是同时处于活动状态。)
    调度器(默认不勾选,选中之后可以配置启动时间)

         启动时间(测试计划什么时候启动,启动延迟会覆盖它。当启动时间已过或手动运行
            脚本时,当前时间也会覆盖它(但启动时间页面显示不会变)。)

         结束时间(测试计划什么时候结束,持续时间会覆盖它)

         持续时间(测试计划持续多长时间,会覆盖结束时间)

         启动延时(测试计划延迟多长时间启动,会覆盖启动时间)

    4.5 接口测试-实例

    A、脚本的录制
     
    A-1:
    添加线程组:
    右键测试计划-》添加-》Threads(Users)-》线程组

     A-2:
    添加HTTP代理服务器:
    右键工作台-》添加-》非测试元件-》HTTP代理服务器

     A-3:
    配置代理服务器

     --端口(Port域):XXXX

    --目标控制器(Target Controller):测试计划>XXXX(线程组名称)

    --分组:每个组放入一个新的控制器

    --添加“包含模式(Patterns to Include)”:如“.*.html”

    --添加“排除模式(Patterns to Exclude)”:如“.*.gif”

    A-3:
    添加HTTP代理服务器:

    A-4:
    手机配置

    1、配置手机代理

    2、安装证书
    进入jmeter bin安装目录,找到“ApacheJMeterTemporaryRootCA.crt”文件,
    以任何可行方式上传至手机(如何安装证书可自行百度)

    4、证书安装成功后即可录制脚本


    安装步骤:使用QQ、微信或USB线传输到手机,设置-更多设置-系统安全-从SD卡中安装。注:
    安装前手机需设置为数字解锁密码,安装后可以关闭。

     
    B 脚本的编写:

    B-1
    添加线程组:
    右键测试计划-》添加-》Threads(Users)-》线程组
     
    B-2
    添加http请求
    右击“线程组”,然后“添加”–>“Sampler”–>“HTTP请求”


    B-3
    在Sampler-http请求中完善:

    域名
    方法
    Content encoding
    路径
    参数


    B-4
    添加查看结果树

    右击“线程组”,然后“添加”–>“监听器”–>“查看结果树”

     C 参数化数据

    C-1
    添加 CSV Data Set Config

    右击“线程组”,然后“添加”–>“配置元件”–>“CSV Data Set Config”

    C-2
    CSV Data Set Config配置

    C-3
    CSV Data Set Config配置说明


    Filename:制定的文档路径和名字;可以右击文档-属性,找到文档的路径,注意要写上文档名字和后缀;

    File enconding:编码格式,如果txt文档中有中文,该行就要写入utf-8;

    Variable Names:定义参数;txt文档中有几列就定义几个参数;参数见用英文逗号隔开;直接写wxid,在其他模块用的时候直接${wxid}调用即可;

    Recycle on EOF:到了文件尾处,是否循环读取参数;

    Stop thread on EOF:到了文件尾,是否停止线程;

    C-4
    http请求引用参数化数据

    请求中参数值为${Variable Names}直接来引用

    D 执行测试

    命令行执行测试

    5.Jmeter的非GUI模式


    这里是我们使用非 GUI 模式运行测试脚本时可以使用的一些命令:

        -h 帮助 -> 打印出有用的信息并退出
        -n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
        -t 测试文件 -> 要运行的 JMeter 测试脚本文件
        -l 日志文件 -> 记录结果的文件
        -r 远程执行 -> 启动远程服务
        -H 代理主机 -> 设置 JMeter 使用的代理主机
        -P 代理端口 -> 设置 JMeter 使用的代理主机的端口号


    jmeter -n -t C:WorkOrder_10.jmx -l %workspace%Report.jtl -e -o %jmxPath%TestResult_Order\%d%Report

    6.Jmeter录制完显示乱码设置


    6.1.修改jmeter配置文件:jmeter.properties

    位置:jmeter中bin目录下

    6.1.修改jmeter配置文件:jmeter.properties
        打开配置文件后,
        Ctrl+F输入encoding,把这行代码“=”后全部删除加入UTF-8,前方注释删除。

    7.Jmeter结果分析


    7.1.聚合报告

    7.2.断言
        添加响应断言:线程组-断言-响应断言
        1.断言可以设置自己的预期结果
        2.如我发送的请求返回值中有"success":true信息。
        3.可以在响应断言中添加"success":true。

     

    7.3.图形结果
        添加图形结果:线程组-添加-监听器-图形结果
        样本数目:总共发送到服务器的请求数。
         最新样本:代表时间的数字,是服务器响应最后一个请求的时间。
         吞吐量:服务器每分钟处理的请求数。
         平均值:总运行时间除以发送到服务器的请求数。
         中间值:代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。
         偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。

  • 相关阅读:
    vue2.0开发聊天程序(八) 初步完成
    王下邀月熊_Chevalier的前端每周清单系列文章索引
    将HTML页面转换为PDF文件并导出
    二维码活码管理系统
    前端眼里的docker
    这些好玩的例子,希望你也能喜欢
    如何实现swipe、tap、longTap等自定义事件
    基于 HTML5 Canvas 的交互式地铁线路图
    【php学习】时间函数
    页面瀑布流布局的实现 javascript+css
  • 原文地址:https://www.cnblogs.com/zhanghaoyang/p/10571504.html
Copyright © 2020-2023  润新知