参考:http://jmeter.apache.org/usermanual/component_reference.html#assertions

背景

在测试过程中,我们需要对某个请求的结果进行判定。

比如我们搜索“你好”,请求发送成功,返回响应码也是200,但是并不能说明返回的响应就是对的,我们可能还需要判定响应结果包含“你好”。这个时候,我们就需要用到Assertion。

Web测试常用的断言

Response Assertion:对Web请求响应结果进行验证。

Duration Assertion:判断是否在给定的时间内收到响应结果。

Size Assertion:判断响应结果是否包含正确数量的byte。可以定义等于、大于、小于或者不等于等等。

添加断言示例

1.  添加断言

添加方法:在需要验证结果的Sampler上右键,Add –> Assertions –> Response Assertion

下图就表示响应文本包含 hello 就算Pass。

Apply to : 需要应用断言的部分。

Response Field to Test:需要验证的响应部分。

Text Response:从服务器返回的响应文本。不包括 HTTP Header。

Response Code:响应码。比如 200.

Response Message:响应信息。比如 OK。

Pattern Matching Rules:匹配规则。

Contains:上面选中的部分包含下面的正则表达式就算Pass

Matches:上面选中的整个部分匹配下面的正则表达式就算Pass。

Equals:上面选中的整个部分和下面的字符串相等就算Pass。不支持正则表达式,同时对大小写敏感。

Substring:上面选中的部分包含下面的字符串就算Pass。不支持正则表达式,同时对大小写敏感。

Not:勾选上之后,会对前面选择的进行反转。比如Matches + Not 就是不匹配就算Pass。

Patterns to Test:需要匹配的正则表达式或字符串。这里可以添加多项。每一项会分开进行验证。如果一条验证失败,后边的不会再进行验证。

按照上面的方法,我们在 search_你好请求的结果加上断言:你好fsdlgggg。这样断言结果应该是Fail的。

在 search_helloworld请求结果加上断言:hello。这样断言结果应该是Pass的。

2. 添加监听

在Thread Group 上右键 , Add –> Listeners –> Assertion Results。

3. 运行

点击运行按钮运行测试计划。

4. 查看结果

可以看到 search_你好 显示为红色感叹号,同时点开有 Response Assertion 。点击 Response Assertion 可以看到具体内容。

search_helloworld 则是绿色的通过。

在 Assertion Results 监听里面,可以看到所有监听的情况。

JMeter 九:给请求加断言的更多相关文章

  1. jmeter 发送加密请求 beanshell断言 线程组间传递参数

    原文地址https://www.cnblogs.com/wnfindbug/p/5817038.html 最近在做http加密接口,请求头的uid参数及body的请求json参数都经过加密再发送请求, ...

  2. postman批量执行 要给请求加断言,批量执行的时候才会去统计,成功和失败的条数

    1.设置请求断言后保存 2.点击runner去批量执行 3.有断言的请求就会统计

  3. jmeter之java请求

    通常情况下,推荐使用jmeter之java请求编写一beashell调用java代码(上篇)(推荐)编写Java 请求 有以下优势 脚本易维护 易调试 开发脚本周期短 不过网上扩展java请求文章比较 ...

  4. Jmeter代理服务器录制请求

    1.文档前提说明 1)本文使用jmeter的版本为 apache-jmeter-2.13 及以上版本 2)java版本要求在 1.8.0 以上 注:jmeter版本一般和java相应的版本一起使用,如 ...

  5. 使用Jmeter测试java请求

    1.性能测试过程中,有时候开发想对JAVA代码进行性能测试,Jmeter是支持对Java请求进行性能测试,但是需要自己开发.打包好要测试的代码,就能在Java请求中对该java方法进行性能测试2.本文 ...

  6. 转 jmeter录制https请求

    jmeter录制https请求  文章转自:https://www.cnblogs.com/zhengna/p/10180998.html 工具:Jmeter4.0 + Java1.8 需求:对某ht ...

  7. jQuery.ajax( options ) : 通过 HTTP 请求加载远程数据

    jQuery.ajax( options ) : 通过 HTTP 请求加载远程数据 这个是jQuery 的底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等. $.ajax() ...

  8. JMeter处理jdbc请求后的响应结果

    JMeter如果进行JDBC请求,请求后的响应结果如何给下一个请求用(也就是传说中的关联),于是研究了一下,下面将学习的成果做个记录: 1.添加 "JDBC Connection Confi ...

  9. 转:应用JMeter测试solr请求

    使用JMeter测试solr请求 一.安装JMeter 在官网http://jmeter.apache.org/download_jmeter.cgi下载JMeter 直接解压JMeter安装包 Li ...

随机推荐

  1. Codeforces Round #423 A Restaurant Tables(模拟)

    A. Restaurant Tables time limit per test 1 second memory limit per test 256 megabytes input standard ...

  2. 公司gitlab不支持ssh时,用http提交代码免密输入方法

    由于公司内网22端口被封,只能拨vpn 才能用ssh 提交代码.因此记录以下免密码http(https)提交方式. 修改项目下.git/config 将原来的 http://git.xxx.com/x ...

  3. HZAU 1199 Little Red Riding Hood(DP)

    Little Red Riding Hood Time Limit: 1 Sec  Memory Limit: 1280 MBSubmit: 853  Solved: 129[Submit][Stat ...

  4. sql 常见错误

    notFound = 1403L; .dupKey = -1L; openCloseErr = -2117L; cursorNotOpenErr = -1002L; .nullCursor = -14 ...

  5. Python开发基础-Day12模块1

    time模块 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串: (1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月 ...

  6. 安卓 应用app启动过程

    韩梦飞沙 yue31313 韩亚飞 han_meng_fei_sha 313134555@qq.com 从用户点击 Launcher 上的 App 图标,到显示出 App 界面时主要发生的事情.知晓以 ...

  7. [BZOJ4815][CQOI2017]小Q的表格(莫比乌斯反演)

    4815: [Cqoi2017]小Q的表格 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 832  Solved: 342[Submit][Statu ...

  8. Java并发(四):happens-before

    happens-before 一个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须存在happens-before关系 happen-before原则是JMM中非常重要的原则,它是判断数据是 ...

  9. 计算gcd Exercise07_14

    import java.util.Scanner; /** * @author 冰樱梦 * 时间:2018年下半年 * 题目:计算gcd * */ public class Exercise07_14 ...

  10. 数组中的forEach和map的区别

    大多数情况下,我们都要对数组进行遍历,然后经常用到的两个方法就是forEach和map方法. 先来说说它们的共同点 相同点 都是循环遍历数组中的每一项 forEach和map方法里每次执行匿名函数都支 ...