1. 断言

断言组件是通过获取服务器响应数据,然后根据断言规则去匹配这些响应数据;匹配到是正常现象,此时我们看不到任何提醒,如果匹配不到,即出现了异常情况,此时JMeter就会断定这个事务失败,那么我们在察看结果树中看到的请求名称是红色字体。断言组件有多个,在实际的测试过程中响应断言基本能够满足80%以上的验证问题。

参数说明如下:

√ 名称:可以随意设置,最好有业务意义。

√ 注释:可以随意设置,可以为空。

√ Apply to:应用范围,有以下4个选项。

  Main sample and sub-samples:匹配范围包括当前父取样器并覆盖至子取样器。

  Main sample only:匹配范围是当前父取样器。

  Sub-sample only:仅匹配子取样器。

  JMeter Variable:支持对JMeter变量值进行匹配。

√ 要测试的响应字段:针对响应数据的不同部分进行匹配,包含以下7个选项:

  响应文本:响应服务器返回的文本内容,HTTP协议排除Header部分。

  Document(text):对文档内容进行匹配。

  URL样本:匹配URL链接。

  响应代码:匹配响应代码,比如HTTP协议返回代码“200”代表成功。

  响应信息:匹配响应信息,比如处理成功返回“成功”字样,或者“OK”字样。

  Response Headers:匹配响应中的头信息。

  Ignore Statues:一个请求有多个响应断言,其中第一个响应断言选中此项,当第一个响应断言失败时可以忽略此响应结果,继续进行下一个断言,如果下一个断言成功则还可以判定事务成功的。

√ 模式匹配规则:包含以下5个选项:

  包括:响应内容包括需要匹配的内容即代表响应成功,支持正则表达式。

  匹配:响应内容要完全匹配需要匹配的内容即代表响应成功,大小写不敏感,支持正则表达式。

  Equals:响应内容要完全等于需要匹配的内容才代表响应成功,大小写敏感,需要匹配的内容是字符串非正则表达式。

  Substring:响应内容包含需要匹配的内容才代表成功,大小写敏感,需要匹配的内容是字符串非正则表达式。

  否:选择Equals与Substring时匹配是字符串,大小写敏感,有时会响应失败,此时可选择此项会降低匹配级别,类似降到“包括”“匹配”的级别,这样可以响应成功。

√ 要测试的模式:填入你需要匹配的字符串或者正则表达式,注意要与模式匹配规则搭配好。

2.事务

TPS:每秒事物数。

2.1 逻辑控制器

逻辑控制器就是控制程序逻辑,JMeter逻辑控制器有很多种,比如循环控制器、随机控制器、模块控制器、事务控制器等。

2.2 事务控制器

参数说明:

√ 名称:可以随意设置,最好有业务意义。

√ 注释:可以随意设置,可以为空。

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

√ Include duration of timer and pre-post processors in generated sample:是否包括定时器、预处理和后期处理延迟的时间。

3.集合点

性能测试需要模拟大量用户并发,集合点能够尽量让虚拟用户同一时刻发送请求,在JMeter中集合点是通过定时器来完成的。

3.1 定时器

JMeter定时器用来控制取样器执行时机,有固定定时器、随机定时器等。

3.2 同步定时器

同步定时器用来保证我们的取样器在同一时刻向服务器发起负载,考虑到线程运行的时间快慢与场景需要,也提供了同步线程数量的设置。

设置同步的线程数量,我们在运行测试时,每一个线程的运行时间可能不一样,想要让所有线程都集合在一起可能会等待较长时间,这种情况下我们可以先让一部分集合完毕的线程运行起来。另外,有些场景不一定要等待所有的线程集合完毕,只需要部分线程保证同步就可以了。

JMeter学习笔记(四)的更多相关文章

  1. Jmeter学习笔记(四)配置元件之计数器

    在接口测试中,有时候需要重复跑一个接口,里面的某个参数的值不能每次都一样,这个时候我们可以使用计数器来实现,名称+计数器. 1.线程组->添加->配置元件->计数器 2.添加效果如下 ...

  2. C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻

    前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...

  3. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

  4. java之jvm学习笔记四(安全管理器)

    java之jvm学习笔记四(安全管理器) 前面已经简述了java的安全模型的两个组成部分(类装载器,class文件校验器),接下来学习的是java安全模型的另外一个重要组成部分安全管理器. 安全管理器 ...

  5. Learning ROS for Robotics Programming Second Edition学习笔记(四) indigo devices

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  6. Typescript 学习笔记四:回忆ES5 中的类

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  7. ES6学习笔记<四> default、rest、Multi-line Strings

    default 参数默认值 在实际开发 有时需要给一些参数默认值. 在ES6之前一般都这么处理参数默认值 function add(val_1,val_2){ val_1 = val_1 || 10; ...

  8. muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制

    目录 muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制 eventfd的使用 eventfd系统函数 使用示例 EventLoop对eventfd的封装 工作时序 runInLoo ...

  9. python3.4学习笔记(四) 3.x和2.x的区别,持续更新

    python3.4学习笔记(四) 3.x和2.x的区别 在2.x中:print html,3.x中必须改成:print(html) import urllib2ImportError: No modu ...

  10. Go语言学习笔记四: 运算符

    Go语言学习笔记四: 运算符 这章知识好无聊呀,本来想跨过去,但没准有初学者要学,还是写写吧. 运算符种类 与你预期的一样,Go的特点就是啥都有,爱用哪个用哪个,所以市面上的运算符基本都有. 算术运算 ...

随机推荐

  1. Java垃圾回收精粹 — Part3

    Java垃圾回收精粹分4个部分,本篇是第3部分.在第3部分里介绍了串行收集器.并行收集器以及并发标记清理收集器(CMS). 串行收集器(Serial Collector) 串行收集器是最简单的收集器, ...

  2. Eclipse中设置中文件javadoc

    Eclipse中设置中文件javadoc 在Eclipse中,我们常常看一些英文的JavaDoc提示或者没有相应的提示是很不习惯的,如下图所示: 我们现在要把这种不习惯的提示改为中文的JavaDOC提 ...

  3. Hibernate中@Embedded和@Embeddable注解

    在使用实体类生成对应的数据库表时,很多的时候都会遇到这种情况:在一个实体类中引用另外的实体类,一般遇上这种情况,我们使用@OneToOne.@OneToMany.@ManyToOne.@ManyToM ...

  4. poj 3130 How I Mathematician Wonder What You Are! - 求多边形有没有核 - 模版

    /* poj 3130 How I Mathematician Wonder What You Are! - 求多边形有没有核 */ #include <stdio.h> #include ...

  5. Android系统广播机制存在漏洞,恶意软件可绕过安全机制跟踪用户

    前言 国外研究人员披露了Android漏洞(CVE-2018-9489)的信息.Android系统的内部广播机制会暴露敏感的用户和设备信息,手机上安装的应用可在用户不知情或未经许可的情况下访问获取这些 ...

  6. Nodejs安装使用,以及不错的Nodejs或者JS资料整理

    先按照这个教程来学习:Node.js教程 - 菜鸟教程网 在mac上使用brew安装了nodejs,中间还是用到了先下载到cache目录的方法. 但是后来发现这样按照的node,没有安装npm. 找到 ...

  7. Qt 播放音频文件

    Qt播放音频文件的方法有好多中,简单介绍几种 不过一下几种方式都需要在Qt工程文件中添加 QT       += multimedia 第一 QMediaPlayer类 可以播放MP3文件,同时使用也 ...

  8. Spark job server原理初探

    Spark job server是一个基于Spark的服务系统,提供了管理SparkJob,context,jar的RestFul接口. 专注标注原文链接 http://www.cnblogs.com ...

  9. PHP的代理模式

    php的代理模式的实现: 理解一种模式,可以融会贯通,和其它的模式进行对比.找出为什么要 代理模式呢?跟父类.接口的区别是什么? 为什么需要这种模式?存在的价值? 原文:https://www.cnb ...

  10. DIV CSS布局中绝对定位和浮动用法

    转自:http://developer.51cto.com/art/201009/223337_1.htm 你对DIV CSS布局中绝对定位和浮动的概念及使用是否熟悉,这里和大家分享一下,CSS中,实 ...