jmeter学习总结3-逻辑控制器,其他组件

逻辑控制器

1为什么要学习逻辑控制器?

  • Jmeter目前学习的知识无法使用判断语句去控制HTTP取样器

2. 什么是逻辑控制器?

概念:Jmeter逻辑控制器是可以控制采样器(Sampler)的执行顺序,它由多个逻辑控制语句封装成不同功能的组件组成

3. 常用逻辑控制器

  1. 如果(If)控制器
  2. ForEach控制器
  3. 循环控制器

3.1 如果(If)控制器

if控制器 当条件成立的时候执行,如果想通过控制器控制请求,必须要把请求放到控制器里面

案例
1. 用户定义的变量name =百度
2. name=百度,线程组执行请求百度;name=京东,线程组执行请求京东;name=淘宝,线程组执行请求淘宝;

解决方案分析
1. 测试计划->线程组->用户自定义变量

2. 线程组->如果(If)控制器

3. 如果(If)控制器->HTTP请求

4. 测试计划-察看结果树

3.2 ForEach控制器

案例
定义变量name_1=java,name_2=ios,name_3=android,
使用ForEach组件读取自定义变量,作为百度请求搜索条件

操作步骤

1. 测试计划->线程组

2. 线程组->用户定义的变量

3. 线程组->ForEach控制器

4. ForEach控制器->HTTP请求

5. 测试计划->察看结果树

forEach难点分析

 遍历:

      python中:

      list = [java,ios,Android]

      for i in list:

      print(i)

1. 输入前缀变量:输入要遍历变量前缀
2. Start index for loop(exclusive):遍历变量开始的索引(从0开始)
3. End index for loop(inclusive):遍历变量结束的索引(不包括结束索引)
4. 输出变量名称:定义要被引用的变量名称

3.3 循环控制器

案例
使用循环控制器执行(查询学院-所有)接口10次
操作步骤分析
1. 测试计划->线程组

2. 线程组->循环控制器

3. 循环控制器->HTTP请求(查询学院-所有)

4. 测试计划->察看结果树
  • 思考:线程组属性可以控制循环次数.循环控制器有什么作用?

循环控制器更灵活,循环控制器可以控制线程组中某个请求的执行次数,而线程组属性的循环次数是控制线程组内所有的请求循环次数.

 

QPS

1.定义

QPS: Query Per Seconds 每秒查询率
作用:
QPS:可以用来做性能测试或者压力测试

2.案例

一个用户以20qps的频率来访问服务器,持续10秒钟.查看服务器平均响应时间

    20(每秒查询率)   *  10(持续的时间)  =  200(循环的次数)

    添加qps组件以固定的频率去访问服务器

一个用户以20qps的频率来访问服务器,持续10秒钟.查看服务器平均响应时间
实现步骤

1.创建测试计划 设置循环次数= 访问频率*持续时间

2.创建线程组

3.添加http请求

4.添加constant througthput timer(常量吞吐定时器)--->设置访问频率
设置访问频率 = qps * 60(因为是以分钟计)

5.添加聚合报告

.property display 组件

   debug sample实际查看的是局部变量赋值规则

   property display它可以查看全局变量.

   

6.http mirror server

   作用:模拟一个后台服务

7.TestFragment 

    对一定功能进行封装,封装好功能之后,其他线程组可以直接调用.

     在调用的时候,找到模块控制器调用

8.底层协议 TCP和UDP 

   tcp特点:  都有一个客户端和服务端.客户端和服务端之间要建立一个连接.(如何建立的连接----三次握手),互相可以通信.

                  传输数据是不丢包

                  tcp协议默认端口80.  

                  效率稍微低一些.

   udp特点: 客户端和服务端之间是不需要建立连接,传输效率更高.在传输数据的时候,有可能会丢包 ,短信 ,QQ离线消息.

               

   ftp基于TCP  默认的端口是20/21  .主要的作用:用来实现文件的传输,效率比较高.  

 

9.实现ftp协议下文件上传和下载

    [1]模拟ftp协议下的客户端(jmeter模拟)

    [2]模拟ftp协议下的服务端.

 

10.jmeter的扩展组件(二次开发的组件)

     通过扩展组件监听cpu 内存 网络 硬盘等信息,通过图表的方式展示.

     扩展组件使用步骤:

     1.jmeter本身添加额外的jar包  

     2. 通过 jp@gc - PerfMon Metrics Collector可以以图表的形式展示信息(cpu 内存 网络  硬盘....)

     3. 服务器还需要添加一些额外的jar 获取服务器的信息 把信息返回给客户端

jmeter中元件总结

.元件执行顺序

[1]配置元件
[2]前置处理器
[3]定时器
[4]取样器
[5]后置处理器
[6]断言
[7]监听器

1.元件总结:

   [1]配置元件 :   csv data set config,http信息头管理器,http请求默认值,jdbc connection configuration,   用户定义的变量

[2]前置处理器: 用户参数
[3]定时器: Synchronizing Timer(模拟同时)  Constant Throughput Timer(设置指定频率)
[4]取样器:bean shell sample,debug sample,ftp请求,http请求,jdbc request(向数据库发送sql语句)
[5]后置处理器:xpath和正则 
[6]断言:响应断言,长度断言,持续时间断言
[7]监听器:察看结果树,聚合报告,jp@gc - PerfMon Metrics Collector

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值