jmeter-断言介绍与使用

性能测试中较少用到断言。断言会增加脚本执行时间,但是接口测试中断言是必备的。什么是断言?其实就是功能测试中常说的预期结果和实际结果是否相等。

  • 响应断言
  • JSON Assertion
  • Size Assertion
  • JSR223 Assertion
  • XPath Assertion
  • Compare Assertion
  • 断言持续时间
  • HTML Assertion
  • MD5Hex断言
  • SMIME Assertion
  • XML断言
  • XML Schema Assertion
  • BeanShell断言

响应断言

见图知意。接口测试中较少用到。

JSON Assertion

也算是见图知意吧。这里需要注意一下

Additionally assert value: 等于特定值

Match as regular expression:符合正则表达式

Size Assertion

见图知意。。。

JSR223 Assertion

JSR223 Assertion可以选择多种语言,如下图所示:

笔者常用的是beanshell和JS。这里我们以beanshell举例。

JSR223 Assertion实例





import org.json.*;

//获取上一个请求的返回值
String response = prev.getResponseDataAsString();
//将返回值转换为json
JSONObject responseJson = new JSONObject(response);
//获取responseMessage
String status = responseJson.get("status").toString();
String message = responseJson.getString("message"); if(!status.equals("0")) {
Failure = true;
FailureMessage = "status错误";
}else{
FailureMessage = "status正确";
} if(!message.equals("username or password error")) {
Failure = true;
FailureMessage = "message错误";
}else{
FailureMessage = "message错误";
}

运行结果

XPath Assertion

可以参考11. Jmeter-后置处理器二中的XPath Extractor

Compare Assertion

嗯。。用到正则了。暂时跳过。

断言持续时间

这个就比较好理解了。断言取样器运行测试消耗掉的时间,比如我们的持续时间填写10,实际时间如果是20s,那么就会断言失败。

HTML Assertion

MD5Hex断言

对返回的MD5进行断言,直接填入即可。

SMIME Assertion

可以参考SMIME Assertion,用的不多。

XML断言

用来验证响应数据是正确的XML格式,不常用。

XML Schema Assertion

BeanShell断言

可以参考JSR223 AssertionBeanShell断言也是我们常用的断言。

软件测试汪简书地址

软件测试汪博客地址

欢迎关注微信公众号:软件测试汪。软件测试交流群:809111560

转载请注意出处,谢谢合作

12. Jmeter-断言的更多相关文章

  1. Jmeter断言-所有断言讲解

    Jmeter断言-所有断言讲解 jmeter中有个元件叫做断言(Assertion),它的作用和loadrunner中的检查点类似: 用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中 ...

  2. 转 12 jmeter性能测试实战--web程序

    12 jmeter性能测试实战--web程序   项目背景 项目:XX网站环境:Windows需求:并发登录的性能测试场景:1s增加2个线程,运行2000次(线程数20,Ramp-Up seconds ...

  3. jmeter ---断言持续时间(Duration to Assert )和断言文件大小

    jmeter ---断言持续时间(Duration to Assert )和断言文件大小 1.断言持续时间(Duration to Assert ) Duration to Assert -- 允许的 ...

  4. Jmeter断言、参数化及集合点

    JMeter---QPS(Query Per Second) QPS为每秒查询率.是一台查询服务器每秒能够处理的查询次数,在因特网上,作为域名系统服务器的性能经常用每秒查询率来衡量.步骤:1.添加线程 ...

  5. JMETER断言:终极指南

    你想要: 检查服务器响应是否包含特定字符串, 或验证服务器返回了HTTP 200 OK, 或者检查json字段的值(使用类似JsonPath$.store..price). 断言是要走的路. 问题是: ...

  6. jmeter - 断言

    jmeter中有个元件叫做断言(Assertion),它的作用和loadrunner中的检查点类似: 用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中的数据交互与预期一致. 使用断言 ...

  7. jmeter 断言-各种分类讲解

    jmeter中有个元件叫做断言(Assertion),它的作用和loadrunner中的检查点类似: 用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中的数据交互与预期一致. 使用断言 ...

  8. Jmeter(二十一) - 从入门到精通 - JMeter断言 - 上篇(详解教程)

    1.简介 最近由于宏哥在搭建自己的个人博客可能更新的有点慢.断言组件用来对服务器的响应数据做验证,常用的断言是响应断言,其支持正则表达式.虽然我们的通过响应断言能够完成绝大多数的结果验证工作,但是JM ...

  9. Fiddler+Jmeter+断言详细教程

    一.Fiddler抓包工具的配置和使用 在编写网关自动化脚本之前,得先学会如何抓包,这里以Fiddler为例.会抓包的同学可以跳过这一步,当然看看也是没坏处的-- 局域网络配置 将要进行抓包的手机与电 ...

  10. jmeter断言:断言条件之间是“或”的关系

    有时,我们在做断言时,需要同时满足一系列条件,这在jmeter自带响应断言中已经实现: 有时,同一请求在不同时间,返回的响应是不同的,而这都是正确的响应,也就是说,我们判断的条件之间是或的关系,此时, ...

随机推荐

  1. Scala面向对象

    面向对象编程OOP: Scala vs Java 都有这三特性 封装:把属性.方法封装到类中 Person: int id, String name, Date birthday.... 需要gett ...

  2. stl(set和pair)

    D - 4 Gym - 100989D In this cafeteria, the N tables are all ordered in one line, where table number ...

  3. Linux磁盘分区实例演示

    一直觉得Linux的分区操作很高大上,之前在物理机上装的Linux,所以不敢随便乱来,今天重回Windows,下面利用Windows上的Linux虚拟机实际操作一次磁盘分区,要求:1G的硬盘分成2个2 ...

  4. 浅谈XML涉及到的常见技术(编写+解析)

    xml:即可扩展标记语言,用于描述关系型数据,也经常用作软件的配置文件:     1,编写xml文档一般基于一个约束文档,该文档用于规定xml的书写规范,常用的约束技术有        (1)XML ...

  5. style中各种选择器

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. JVM(3) 之 内存分配与回收策略

    开发十年,就只剩下这套架构体系了! >>>   之前讲过虚拟机中的堆,他是整个内存模型中占用最大的一部分,而且不是连续的.当有需要分配内存的时候,一般有两个方法分配,指针碰撞和空闲列 ...

  7. JSTL 使用 c:forEach 累加变量值

    <body> <%    int x = 1;    int y = 2;    request.setAttribute("x", x);    request ...

  8. XMPP即时通讯协议使用(一)——Openfire安装

    Openfire服务器安装 下载地址:https://www.igniterealtime.org/downloads/index.jsp,根据你的操作系统,选择对应的下载版本.本文选择的是openf ...

  9. python断言语句assert

    断言语句的格式 assert test, [msg] test是一个表达式,表达式求值为Fals时引发AssertionError异常,msg是可选的异常消息. def test_assert(a): ...

  10. 一、WebFrom 图片上传

    一.代码实现了简单的图片上传功能(改一下也可以上传其他的),没有做图片大小和格式的判断,主要是熟悉fileupload控件 前台代码: <%@ Page Language="C#&qu ...