Jmeter检查点/断言

在上一章节中,我们通过调试脚本,通过人工验证脚本可以完成业务功能,
但在性能测试中,我们希望能通过自动验证脚本是否完成业务功能,在Jmeter
中我们可以通过检查点,也就是断言来实现自动验证脚本的正确性。

断言组件:
Jmeter通过断言组件完成断言、自动验证的功能。
断言组件通过获取服务器响应数据,然后根据断言规则去匹配响应数据;
正常匹配脚本不会出现任何问题或者提示,如果匹配不到,就会出现异常情况,
此时Jmeter就会判断这个事务失败,那么我们在察看结果树中看到的请求名称
是红色字体。

通过右击单个请求-添加--断言,可 以看到Jmeter的断言元件非常多,一
般常使用的是响应断言(Response Assertion)。

响应断言既是对服务器的响应数据进行规则匹配。

响应断言界面如下:

响应断言界面介绍:
名称、注释、Apply之前在讲正则表达式提取器的时候介绍过,不做重复讲解。
要测试的响应字段:针对响应数据的不同部分进行匹配,包含如下7个部分。
响应文本:服务器返回的响应文本内容,HTTP协议排除Header部分
Document(text):对文档内容进行匹配。
URL样本:匹配URL链接。
响应代码:匹配响应代码,如”200”。
响应信息:匹配响应信息,如"0K"。
Response Headers:匹配响应中的头信息。
Ignore Status:一个请求有多个响应断言,当第一个断言设置该选项,那么如果第一个断言失败后,第二个断言成功,事务还是成功状态。
模式规则匹配:包含如下5个部分。
包括:响应内容包括需要匹配的内容,支持正则表达式。
匹配:响应内容要完全匹配需要匹配的内容,大小写不区分,支持正则表达式。
Equals:响应内容要完全与需要匹配的内容相同,区分大小写,不支持正则表达式
Substring:响应内容包含需要匹配的内容,区分大小写,不支持正则表达式。
否:选择Equals、Substring时匹配的是字符串,大小写敏感,选择此项类似降级。
要测试的模式:填入需要匹配的字符串或者正则表达式。

Jmeter事务

Jmeter能够做到把每个请求统计成一个事务,但事务一般是用户宏观上的概
念,所以系统把多个请求统计成一个事务, 在Jmeter中可以通过逻辑控制器下的事务控制器来完成此要求。

逻辑控制器概念:
逻辑控制器可以控制采样器(samplers)的执行顺序。由此可知,控制器需要
和采样器一起使用,否则控制器就没有什么意义了。放在控制器下面的所有的采样器都会当做一个整体,执行时也会一起被执行。

逻辑控制器分类:
a)控制测试计划执行过程中节点的逻辑执行顺序,如:循环控制器(Loop
Controller)、如果控制器(If Controller)等;
b)对测试计划中的脚本进行分组、方便]Meter统计执行结果以及进行脚本的
运行时控制等,如:吞吐量控制器(Throughput Controller)、事务控制器
(Transaction Controller)等。

我们需要做Jmeter的事务操作,所以需要用到事务控制器。

事务控制器界面如下:

Generate parent sample:如果事务控制器下有多个采样器(请求),勾选后,在察看结果树中不仅可以看到事务控制器,还可以看到每个采样器;并且事务控制器定义的事务是否成功取决于子事务是否都成功,任何一个失败代表整个事务失败。

Include duration of timer and per-post processors in generated sample:是否包括定时器、预处理和后期处理延迟的时间,选中这一项会统计定时器(timer)的时间,否则只统计采样器(sample)的时间。

Jmeter集合点

在做性能测试过程中,我们会根据场景做狭义的并发,这个时候就需要用到
集合点,集合点能够尽量让虚拟用户同一时刻发送请求,在Jmeter中集合点是通过定时器来完成的。

定时器概念:
Jmeter定时器用来控制取样器的执行时机,有固定定时器,随机定时器等。
要实现集合点,一般我们需要用到同步定时器来进行控制。

同步定时器(Synchronizing timer)概念:
同步定时器用来保证取样器在同一-时刻向服务器发起负载,考虑到线程运行
的时间快慢与场景的需要,也提供了同步线程数量的设置。如下图界面:

Jmeter性能测试配置的更多相关文章

  1. 基于webdriver的jmeter性能测试-通过jmeter实现jar录制脚本的性能测试

    续接--基于webdriver的jmeter性能测试-Eclipse+Selenium+JUnit生成jar包 在进行测试前先将用于支持selenium录制脚本运行所需的类包jar文件放到jmeter ...

  2. Jmeter学习一:Jmeter性能测试环境搭建(Windows下)

    最近刚开始接触Jmeter性能测试,现总结环境搭建如下: 一.windows安装JDK步骤与环境变量配置: 1.先将下载的JDK安装到其默认目录:C:\Program Files\Java\jdk1. ...

  3. JMeter性能测试,完整入门篇

    1. Jmeter简介 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件.相比Loadrunner而言,JMeter小巧轻便且免费,也越来越流行成为了主流的性能测试工具 ...

  4. 01 jmeter性能测试系列_Jmeter的体系结构

    深圳文鹏教育jmeter 性能测试讲义 概念 元件:元件代表jmeter工具菜单中的一个子菜单,比如HTTP请求.事务控制器.响应断言等: 组件:一组元件的集合(一个或者多个),比如逻辑控制器中有事务 ...

  5. Jmeter性能测试 对服务器使用资源进行监控之ServerAgent插件使用

    百度云盘友情赞助地址如下: 链接:https://pan.baidu.com/s/1cpAeOcfFX8kss1eo79UD9g 密码:b8o7 在windows上或者linux上打开服务 用Jmet ...

  6. JMeter性能测试-服务器资源监控插件详解

          零.引言 我们对被测应用进行性能测试时,除了关注吞吐量.响应时间等应用自身的表现外,对应用运行所涉及的服务器资源的使用情况,也是非常重要的方面,通过实时监控,可以准确的把握不同测试场景下服 ...

  7. Jmeter性能测试实践之java请求

     前言 Apache Jmeter是开源.易用的性能测试工具,之前工作中用过几次对http请求进行性能测试,对jmeter的基本操作有一些了解.最近接到开发的对java请求进行性能测试的需求,所以需要 ...

  8. JMeter性能测试的基础知识和个人理解

    JMeter性能测试的基础知识和个人理解 1. JMeter的简介   JMeter是Apache组织开发的开源项目,设计之初是用于做性能测试的,同时它在实现对各种接口的调用方面做的比较成熟,因此,常 ...

  9. JMeter性能测试,入门

    原文转自:https://blog.csdn.net/lovesoo/article/details/78579547 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件 ...

随机推荐

  1. MySQL数据库root账户密码忘记两种处理方法(保有效)

    方法1: 1.停止MySQL服务 # kill `cat /var/run/mysqld/mysqld.pid` 或者 # pkill mysqld 2.创建一个密码赋值语句的文本文件 # vi my ...

  2. Session,Token,Cookie相关区别

    1. 为什么要有session的出现? 答:是由于网络中http协议造成的,因为http本身是无状态协议,这样,无法确定你的本次请求和上次请求是不是你发送的.如果要进行类似论坛登陆相关的操作,就实现不 ...

  3. 发送大数据时,PDU的问题?

    昨天发现通过 Ice发送请求传递一个大块数据时,当请求的体积大于1.2M后,直接抛出异常Connection Lost,对方peer或是断开了.通过防火墙配置排查,以及对同一网络同一机器的php服务p ...

  4. 软件测试的原则,软件测试计划:5W1H

    1.测试应该尽早介入.        2.所有的测试都应追溯到用户需求.        3.程序员应该避免检查自己的程序.除了单元测试.因为程序员对于自己的作品,思维具有局限性.无法保证测试质量.交给 ...

  5. useReducer代替Redux

    创建state.js import React, { createContext,useContext,useReducer } from 'react'; export const countTex ...

  6. vue router路由跳转了,但是页面没有变(已解决)

    小白学习 router.js:两个组件之间跳转 但是路由变了,页面没有改变的原因是因为app.vue里面没有router-view(很关键)

  7. Liunx 安装配置zsh和oh-my-zsh 替换 bash

    一.前言 本文将基于 Liunx 环境安装配置zsh 和 oh-my-zsh 替换 bash oh my zsh Liunx默认shell是单调的bash,而zsh比较高大上,bash有的功能,zsh ...

  8. 【Luogu P1090】合并果子

    Luogu P1090 [解题思路] 刚看到这题的时候,第一反应就是每次取两个最小,然后重新排序,再取最小.但是这样会TLE. 既然找最小的,那就可以利用单调队列了.显然输入的数据是不具有单调性的,但 ...

  9. 折腾笔记-计蒜客T1167AC记

    查看原题 原题地址 思路: 判断回文+判断质数 初步代码: #include <bits/stdc++.h> using namespace std; bool prime(int n) ...

  10. Git之GitFlow工作流

    一. GitFlow 介绍 1.1 什么是 GitFlow GitFlow 是一种 Git 工作流,它是团队成员遵守的一种代码管理方案 . 1.2 GitFlow 常用分支说明 分支名称 分支说明 P ...