首页 > 其他分享 >Jmeter

Jmeter

时间:2024-05-31 09:33:18浏览次数:18  
标签:片段 请求 控制器 接口 测试 Jmeter

  1. 组件执行顺序:

    1.测试计划:起点

    2.线程组:

    3.配置原件

    4.前置处理器:

    5.逻辑控制器:单次请求,循环请求,判断请求

    6.定时器:固定定时器,高斯,随机

    7.取样器:请求,http,tcp,jdbc

    8.后置处理器:

    9.断言:

    10.监听器:收集测试结果

  2. 作用域

    兄弟节点,父节点,兄弟下的子节点

  3. 关联接口测试

    上一个接口的返回值,是当前结果的请求参数

  4. 正则表达式提取器

    token为自定义名称

    正则表达式,确认提取规则

    模板固定

    匹配数字为你想要的match数组下标

    下一个接口的请求参数值可以填${token},自动带入。

  5. 测试片段:

    有两种用法:

    1.测试人员用例交互

    封装的测试模块,在使用时,选择include控制器,将此测试片段加入进去,即可一起生成结果树。

    在使用过程中,即需要登录功能,却不需要测登录功能,则引入测试片段(一个文件)

    自己的测试模块封装成测试片段,只需选择测试片段,将请求拖入即可。

    2.控制部分测试

    使用模块控制器:

    可以通过模块控制器,控制测试片段,在模块控制器中选择哪个测试片段则执行哪个测试片段。

    是一种封装思想。

  6. 用户定义的变量:

    将可能会修改的值定义到其中,(类似nacos),其实就是配置,常配置量包括端口号,服务网址。

    具体接口使用${port}引用

    注意:Jmeter中是从上到下执行,定义变量一定要放在前面

  7. CSV数据文件设置:

    测试用例写在一个csv文件中(lisi,12345),新建一个CSV数据文件设置,在其中设置测试用例的变量的格式(如username,pwd),在http请求中,将变量用${username}代替。

    当其中有多组数据时,添加循环控制器。

    有多组数据时,用循环控制器遍历里面的数据。

  8. 断言:

    在请求下面新增断言,采用json断言,取值方式:$.data.xxx,下方填入预期结果。

    预期结果也可写在csv文件中,不同数据值不同。

  9. 解决关联接口问题:

    后置处理器中的Json提取器,提取规则$.data.token

    赋值规则,随便起名

    整个Jmeter中都可以使用已赋值变量,包括名称

  10. Jmeter连接数据库

    测试计划下,JDBC Connection Configuration,填写自定义名称,用户名,密码,driver class,url

    在测试计划中,添加jar包。

    在线程组中添加JDBC Request,编写sql语句,将查询行与下方命名一一对应。

    断言时引入变量名称即可,变量名称一般为数组,要加_1。

  11. 随机抽取数据:

    采用order by rand(),id取${ids_1}

    如果参数中想使用${ids_2}....循环10次

    引用计数器,写引用名称n。

    但是两个变量无法直接拼接,需要用到__V函数,在最上方工具中,他会告诉你最终格式。

    例:${__V(ids_${n})}
    
  12. 调试取样器:

    遇到问题时使用,出现全部变量信息。

  13. 加密接口

    将入参和出参全部使用算法进行加密。

    客户端一开始并不知道怎么加密,它先发送一次请求到服务端。

    不安全是因为,证书机构是公开的,黑客可以伪造客户端获取加密算法,不安全。

    外项目访问我们的接口,需要给他一段密钥,我们将这个密钥记录到数据库中,首先验证格式。调用我们接口,

  14. Jmeter测试加密接口

    新增http请求,访问https://www.lddgo.ne,获取加密后的值。

    再调用接口。

标签:片段,请求,控制器,接口,测试,Jmeter
From: https://www.cnblogs.com/qbxyzzjw/p/18223809

相关文章

  • jmeterQA之Sampler响应结果编码修改(解决乱码问题)
    #问题分析当响应数据或响应页面没有设置编码时,jmeter会按照jmeter.properties文件中,sampleresult.default.encoding设置的格式解析默认ISO-8859-1,单字节解析中文肯定不对,配置片段如下#Theencodingtobeusedifnoneisprovided(defaultISO-8859-1)#sampleresult.def......
  • jmeter压力测试工具
    1.工具下载地址:https://jmeter.apache.org/download_jmeter.cgi2.解压,启动程序 3.修改软件语言 4.新建线程组  5新建http请求  6添加http请求头 7添加查看结果选项,把这三个都加上 扩展1,自带的函数扩展2,使用自带函数  ${__RandomString(10,sadjkadu......
  • jmeter性能测试
    (持续更新)在做性能测试之前,需要将接口先调试通过1.基准测试(普通线程组)最少的并发,确定每一个用户操作需要占用的资源和性能指标,单个线程持续2分钟发起请求2.负载测试(SteppingThreadGroup)通过梯度压测,对系统进行压测,找到瓶颈插件安装地址:https://jmeter-plugins.org/instal......
  • Jmeter预习第1天
    Jmeter参数化(重点)本质:使用参数的方式来替代脚本中的固定为测试数据实现方式:·定义变量(最基础)·文件定义的方式(所有测试数据都是固定的情况下[死数据],eg:注册登录)·数据库的方式(灵活,用得多)·函数的方式(灵活,用得多)JMeter中常见的参数化方式:用户定义的变量用户参数C......
  • Apache JMeter操作
    中文-新建组配置测试计划界面介绍异常信息右上角那个小三角可以看到jemter的执行信息,如果你的压测执行不了可以去里面看看一般是报错了用户自定义变量可以在这里配置压测的全局变量,这样我们在使用的时候就不用传具体的值,传变量的值即可。这样以后要修改的话只需要修改......
  • 性能测试学习之路(八)—Jmeter之响应断言详解
    Jmeter使用断言的目的:在request的返回层面增加一层判断机制;因为request成功了,并不代表结果一定正确。使用断言的方法:在选择的Sampler下添加对应的断言(因为不同类型的断言检查的内容不同);配置好响应的检查内容在Jmeter的断言中,我们常使用的就是响应断言,他根据我们响应信息......
  • jmeter警告:WARN StatusConsoleListener The use of package scanning to locate plugi
    运行jmeter,出现警告信息 警告信息:WARNStatusConsoleListenerTheuseofpackagescanningtolocatepluginsisdeprecatedandwillberemovedinafuturerelease意思是,JMeter在将来的版本中将移除使用包扫描来定位插件的功能 如果想不显示警告信息,可以修改JMeter......
  • Jmeter脚本--BeanShell PreProcessor
    整理一份之前项目中的接口测试文档内容,主要为了方便以后能够更好的进行接口测试需求,本次以Jmeter进行接口测试。API对应的使用手册    接口对应的测试用例如下图所示:编写Jmeter测试用例 用户注册信息 添加BeanShellPreProcessor预处理程序变量脚......
  • jmeter分布式压测(Linux版本)
    1、安装JDK并配置环境变量(此处不再赘述)2、将Jmeter上传到任意目录解压(此处不再赘述)3、配置环境变量vi/etc/profile将光标移动到最底部,插入下面的内容,exportJMETER_HOME=/home/apache-jmeter-5.1.1  #jmeter的安装目录exportCLASSPATH=$JMETER_HOME/lib/ext/ApacheJMet......
  • JMeter+InfluxDB+Grafana性能监控最快搭建方法
    一、部署influxdb服务参考官网:https://www.influxdata.com/downloads/安装命令(centos系统)wgethttps://dl.influxdata.com/influxdb/releases/influxdb-1.8.10.x86_64.rpmsudoyumlocalinstallinfluxdb-1.8.10.x86_64.rpm进入配置文件修改配置vim/etc/influxdb/influ......