• Jmeter介绍与使用


    ··············使用jmeter需要先安装jdk

    jdk安装

    https://blog.csdn.net/wumingxiaozei/article/details/95628747
    卸载jdk不干净:https://cloud.tencent.com/developer/article/2103129

    安装成功后可查看:java -version
    mac查看/配置环境变量:https://blog.csdn.net/qq_42825813/article/details/123046604

    在这里插入图片描述

    测试的网站:http://testingedu.com.cn:8000/Home
    JSON断言:https://www.cnblogs.com/xyztank/articles/16806402.html
    响应断言:https://blog.csdn.net/m0_57162664/article/details/119108917

    在这里插入图片描述

    TSP:每秒事务数

    TPS和QPS的区别:https://blog.csdn.net/weixin_42483745/article/details/123953857

    RT:Response Time,从发请求到收到响应为止
    资源利用率:包含cpu/内存/IO/网络带宽…

    一般调试完脚本后,需要关闭结果树,因为如果我们向服务器发送大量的并发,结果树就会产生大量的日志,会占有大量的系统资源,可能会引起自己电脑的系统瓶颈。所以一般正式测试的时候会关闭结果树,只看聚合报告。

    场景:一般遇到类似于登录,有的参数是动态的,如果写死请求的参数值,会出现报错现象。

    在这里插入图片描述
    正则表达式提取器:Regular Expression Extractor
    在这里插入图片描述
    在这里插入图片描述

    场景:一般登录的时候,不单单只测试一个账号,可能需要测试多个账号或者测试登录一场

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    也可以使用参数化函数助手:

    CSVRead

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    Random String

    在这里插入图片描述
    在这里插入图片描述
    也可以生成随机字母
    在这里插入图片描述
    在这里插入图片描述

    JSON提取器 和 forEach循环

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    Token&Cookies

    在这里插入图片描述
    在这里插入图片描述

    仅一次控制器

    在这里插入图片描述

    批量上传

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    文件下载

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    json提取器

    在这里插入图片描述

    录制web脚本

    在这里插入图片描述

    压力测试

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    查看压力测试结果:

    导出结果树的报告:

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    聚合报告:

    在这里插入图片描述
    在这里插入图片描述

    GUI模式 和 非GUI模式

    在这里插入图片描述
    在这里插入图片描述
    官网,命令:https://jmeter.apache.org/usermanual/get-started.html#non_gui

    生成测试报告

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    jmeter操作数据库

    在这里插入图片描述

    先去下载mysql-connector-java.jar放到lib文件下(注意查看下mysql的版本,下载的mysql-connector-java jar包也要对应mysql的版本)

    https://blog.csdn.net/weixin_53080995/article/details/126886682
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    JDBC Connection Configuration

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    参数化

    Variable Name: 跟配置里的变量要保持一致
    在这里插入图片描述

    一般使用到的 是红色部分

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    除了查询,其余都是用的Update Statement

    tips:Update Statement 和 Select Statement 都是单行语句,如果执行多行会报错
    在这里插入图片描述
    在这里插入图片描述
    连接数据库成功!

    执行多条数据库语句

    在这里插入图片描述
    在配置的Database URL后面加上:?allowMultiQueries=true
    Query Type 换成 Prepared Update Statement
    在这里插入图片描述

    Beanshell生成加密数据

    在这里插入图片描述
    在这里插入图片描述

    解决update与insert乱码

    在这里插入图片描述
    在配置项添加 characterEncoding=UTF-8(ps:新版的jmeter好像没这个问题)

    多条查询语句,Query Type要选择Callable Statement

    在这里插入图片描述

    select操作参数化

    在这里插入图片描述

    保留字段

    在这里插入图片描述
    在这里插入图片描述

    保留结果集

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    name,已经是jmeter变量

    jmeter处理referer信息

    场景一般登录请求这些,明明参数都已经加好了,还是请求错误,可以去抓包工具,在inspectors里面看看row是否存在referer
    在这里插入图片描述

    jmeter处理data-form格式的数据

    在这里插入图片描述

    技巧

    在这里插入图片描述

    图形化分析数据

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    阶梯式场景

    http://testingpai.com/article/1662381938463#toc_h3_0
    在这里插入图片描述
    在这里插入图片描述

    服务器监控

    在这里插入图片描述

    用服务器跑线程

    http://testingpai.com/article/1662381938463#toc_h3_2
    就是先把ServerAgent的zip包 放到 服务器的安装目录或者opt目录下,然后进行解压,然后输入ll命令查看下文件的权限
    在这里插入图片描述
    chmod -R 753 startAgent.sh 就是添加权限
    在这里插入图片描述
    看出来图二是比图一多了xw,可执行的权限
    在这里插入图片描述
    在这里插入图片描述

    启动完了端口后,确认下端口是否能连通,步骤如下:
    1、控制面板—程序—程序和功能—启用或关闭Windows功能—勾选Telnet Client
    2、打开终端,输入 telnet 服务器ip 4445(端口)
    3、出现空白页后 证明连接是成功的,然后去服务器看的话 会看到有连接记录

    然后返回jmeter
    在这里插入图片描述
    在这里插入图片描述

    nmon服务器监控

    http://testingpai.com/article/1599878102619

    波浪式场景

    http://testingpai.com/article/1662381938463#toc_h3_1
    在这里插入图片描述

    Linux下执行jmeter脚本

    http://testingpai.com/article/1595507228780

    在这里插入图片描述
    跑命令行:
    在这里插入图片描述

    # 希望通过远程服务去执行:
    jmeter -n -t demo.jmx -R 192.168.1.111 -l demo.jtl
    
    • 1
    • 2

    还需要配置:
    在这里插入图片描述

    # 使用代理主机:
    jmeter -n -t demo.jmx -l demo.jtl -H 192.168.1.10 -P 8080
    
    • 1
    • 2

    jmeter持续集成

    一、环境准备:ant/jenkins/jdk1.8/jmeter/tomcat8.5

    1、下载apache ant:http://t.zoukankan.com/linbingcheng-p-6804523.html
    2、下载tomcat:https://tomcat.apache.org/
    3、下载jenkins:https://www.jenkins.io/download/
    jenkins的话,下载war包,下载后,把war包丢到apache-tomcatwebapps
    4、并且需要配置环境变量:ANT_HOME(ant的主目录)、CATALINA_HOME(tomcat的主目录)
    5、把apache-jmeter-5.1.1\extras下的ant-jmeter-1.1.1.jar包copy到apache-ant-1.10.12\lib
    6、配置jmeterbuild.xml,放到apache-jmeter-5.1.1\testcase下,顺便新建reporttestResult文件,而且需要把一个jmx文件丢到里面去

    启动jenkins

    Tomcat启动startup.bat一闪而过就消失的原因和解决方法:https://blog.csdn.net/qq_27009517/article/details/115899539
    tomcat版本跟过高的jenkins版本不配对,需要降低jenkins版本 才能在localhost:8080/jenkins打开jenkins!
    jenkins旧版本下载:https://blog.csdn.net/s1441101265/article/details/118966988

    jenkins 安装+启动+配置+删除+重装+流程:https://blog.csdn.net/chushoufengli/article/details/90763687
    jenkins忘记密码:https://blog.csdn.net/wx17343624830/article/details/127863975
    Jenkins安装SSH插件:https://blog.51cto.com/u_15294985/5132955

    全局工具配置(gobal tool configuration)

    在这里插入图片描述
    在这里插入图片描述

    创建一个项目

    在这里插入图片描述
    在这里插入图片描述
    查看输出
    在这里插入图片描述

    查看html报告

    下载查看html报告的插件
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")
    
    • 1
    build一次后,查看报告发现一个接口追加了好多遍

    在这里插入图片描述
    原因是因为没有删除apache-jmeter-5.1.1\testcase\report下面的文件,或者修改build.xml让每一个生成的jtl文件含有时间戳,就不会出现以上问题了!
    在这里插入图片描述
    https://blog.csdn.net/weixin_45014379/article/details/124190381
    参考:saas.jmx

    在Linux下执行jmeter脚本:

    http://testingpai.com/article/1595507228780

  • 相关阅读:
    TCP协议之《乱序队列Out-Of-Order》
    【Mysql】 InnoDB引擎深入- 内存结构之ChangeBuffer | Log Buffer
    【python量化】挖掘股价中的图关系:基于图注意力网络的股价预测模型
    span标签的作用
    盒马员工因“工资泄密”被开除,仲裁部门:双方已达成调解意向
    渗透测试--2.漏洞探测和利用
    02 C语言语法——1最小程序
    STL——vector与迭代器
    【Arduino+ESP32专题】Visual Studio Code+PlatformIO开发环境安装
    冥想第六百一十天
  • 原文地址:https://blog.csdn.net/camille009/article/details/127463047