jmeter --响应断言详解

  1. 响应断言 :对服务器的响应进行断言校验

(1)应用范围: main sample and sub sample, main sample only , sub-sample only , jmeter variable

  关于应用范围,我们大多数勾选“main sample only” 就足够了,因为我们一个请求,实质上只有一个请求。但是当我们发一个请求时,可以触发多个服务器请求,类似于ajax那种,那么就有main sample  和 sub-sample之分了。

此外,对于有重定向的请求,并且勾选了“跟随重定向”, 那么这两个请求都是 sub-sample,重定向后的请求(第二个请求)就是main-sample

关于main sample and sub sample,有兴趣的可以看看这个帖子

http://stackoverflow.com/questions/28214936/jmeter-in-which-scenario-i-can-use-main-sample-or-sub-sample-or-both-for-te

(2)响应字段: 响应文本,Document(Text),url样本,响应代码,响应信息,Response Header,ignore status

  响应文本: 服务器响应文本,一般普通http响应,都勾选这个。

Document(Text):一切Apache Tika 支持服务器响应,包括文本响应,还支持 PDF, Office, Audio, Video formats。jmeter会用Apache Tika 去解析服务器响应内容,会很耗内存,而且也很容易解析失败。所以一般普通http请求,不要选择这个。

url样本:是对sample的url进行断言。如果请求没有重定向(302),那么就是这个就是请求url。 如果有重定向(且跟随重定向),那么url就包含请求url 和 重定向url

响应代码:http响应代码,如101,200,302,404,501等。但当我们要验证404,501等http响应代码时,需要勾选“ ignore status”。因为当http 响应代码为400,500时,jmeter默认这个请求时失败的。

响应信息:http响应代码对应的响应信息,例如:OK, Found

       HTTP/1.1 200 Ok

       HTTP/1.1 302 Found

Response Header : 响应头信息,例如   

      Server: Tengine

      Date: Thu, 12 Mar 2015 09:43:52 GMT
      Content-Type: text/html
      Content-Length: 260
      Connection: close
      Location: http://www.baidu.com/404.html  

(3)模式匹配规则

包括:返回结果包括你指定的内容,支持正则匹配

例如:

   响应字段为: 响应文本

模式匹配规则:匹配

断言为:1、invalid    2、[a-z]+

当返回值为:{"msg":"channel invalid."} , 这两个断言都是ok的,返回true

匹配:

(1) 相当于 equals 。当返回值固定时,可以返回值做断言,效果和equals相同

(2) 正则匹配 。 用正则表达式匹配返回结果,但必须全部匹配。 即正则表达式必须能匹配整个返回值,而不是返回值的一部分。

例如:

 响应字段为: 响应文本

模式匹配规则:匹配

断言为:1、{"msg":"channel invalid."}   2、\{"msg":"[a-z]+ invalid\."\}  , 3、[a-z]+

当返回值为:{"msg":"channel invalid."}   ,断言1 2 是ok的, 断言3是false

当返回值为:{"msg":"channel invalid."} , 断言1 3是false, 断言2才是ok的。

原因是,断言1 只能用于equals,而断言3 只匹配了返回值部分,而不是全部匹配。

Equals : 返回结果与你指定断言完全一致

SubString:与 “包括”差不多,都是指返回结果包括你指定的内容,但是subString不支持正则字符串

例如:  响应字段为: 响应文本

模式匹配规则:匹配

断言为:1、invalid    2、[a-z]+

当返回值为:{"msg":"channel invalid."} , 断言1返回true, 但断言2返回false

:就相当于取反。 如果上面断言结果为true,勾选“否”后,最终断言结果为false。如果上面断言结果为false,勾选“否”后,则最终断言结果为 true。

参考文献:

http://blazemeter.com/blog/how-use-jmeter-assertions-3-easy-steps

http://www.51testing.com/html/12/252512-223704.html

http://stackoverflow.com/questions/28214936/jmeter-in-which-scenario-i-can-use-main-sample-or-sub-sample-or-both-for-te

本文转自:  清明-心若淡定 https://www.cnblogs.com/saryli/p/5434370.html

jmeter --响应断言详解的更多相关文章

  1. 『动善时』JMeter基础 — 29、JMeter响应断言详解

    目录 1.JMeter断言介绍 2.响应断言组件界面详解 3.响应断言组件的使用 (1)测试计划内包含的元件 (2)登陆接口请求界面内容 (3)响应断言界面内容 (4)查看运行结果 (5)断言结果组件 ...

  2. Jmeter接口之响应断言详解

    响应断言 : 对服务器的响应进行断言校验 Apply to 应用范围: main sample and sub sample, main sample only , sub-sample only , ...

  3. Jmeter笔记:响应断言详解

    转自:http://www.51testing.com/html/80/n-2430180.html 平时我们使用jmeter进行性能测试时,经常会用到断言.jmeter提供了很多种断言,本来想全都写 ...

  4. 【转】Jmeter笔记:响应断言详解

    平时我们使用jmeter进行性能测试时,经常会用到断言.jmeter提供了很多种断言,本来想全都写一下,但发现每一个断言里面的东西都很多,所以就先写一下我们经常使用的响应断言. 第一次在cnblog上 ...

  5. jmeter 基础功能详解

    jmeter 基础功能详解 thread group:包含一组线程,每个线程独立地执行测试计划. sampler:采样器,有多种不同的sample实现,用来发起各种请求,如http请求,jdbc请求, ...

  6. Jmeter常用功能详解

    嘻嘻,忙碌的一周,马上就到周四了~明天就是周五了,可以去嗨了! 这几天正式成立了一个微信订阅号,旨在免费帮助需要入门软件测试的小白! 各位走过路过的亲,欢迎订阅哦:扫描二维码即可订阅

  7. Jmeter 测试计划元素详解

    Jmeter 测试计划元素详解 by:授客 QQ:1033553122 由于篇幅问题,采用链接分享的形式,烦请复制以下网址,黏贴到浏览器中打开,下载 http://pan.baidu.com/s/1n ...

  8. python 之re模块(正则表达式) 分组、断言详解

    正则表达式分组.断言详解   提示:阅读本文需要有一定的正则表达式基础. 正则表达式中的断言,作为高级应用出现,倒不是因为它有多难,而是概念比较抽象,不容易理解而已,今天就让小菜通俗的讲解一下. 如果 ...

  9. junit 常用注解 + junit 断言详解

    @Test: 在junit3中,是通过对测试类和测试方法的命名来确定是否是测试,且所有的测试类必须继承junit的测试基类.在junit4中,定义一个测试方法变得简单很多,只需要在方法前加上@Test ...

随机推荐

  1. ob 函数的使用

    ob 函数的使用1. 页面静态化 $id = isset($_GET['id'])?$_GET['id']-0:0; $filename = "html/".date(" ...

  2. django-restful风格

    每一种求情都代表一种资源,它主要强调http应该一资源为中心,并且规范了url的风格, url:统一资源标志符,某一规定下能把资源独一无二的标示出来,好比每个人都有身份证号码. 它有四中对资源操作的请 ...

  3. 【Python】混合驱动实例

    keywords2.txt: get||ie||{urls.txt} get||chrome||http://www.iciba.com main.py: from selenium import w ...

  4. Spring 配置文件

    <?xml version="1.0" encoding="UTF-8" ?> <beans> <bean id=...> ...

  5. ORA-15025 搭建DG环境,restore controlfile报错,提示oracle无法使用ASM存储

    环境说明: #主库RAC环境 #备库RAC环境,操作系统AIX 6.1 数据库版本11.2.0.3 报错说明: #主库备份控制文件,传输至备库,备库restore 报错 本篇文档,分为两大阶段:第一阶 ...

  6. SPI有关CPOL和CPHA的时序图

    SPI模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置. 时钟极性(CPOL)对传输协议没有重大的影响. 如果CPOL=0,串行同步时钟的空闲状态为低电平: 如果 ...

  7. 纯C:url base64

    纯代码,来自互联网 base64.h #ifndef __BASE64_H__ #define __BASE64_H__ #ifdef __cplusplus extern "C" ...

  8. js学习:return arguments

    return函数 arguments

  9. java poi解析excel报错处理

    org.apache.xmlbeans.SchemaTypeLoaderException: XML-BEANS compiled schema: Incompatible minor version ...

  10. python绝对路径相对路径函数

    绝对路径 os.path.abspath("文件名")  参数可为“”即当前路径 相对路径 os.path.dirname("文件名")   参数可为“”即当前 ...