JMeter响应断言详解

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

  (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。

转载于:https://www.cnblogs.com/sunjump/p/8133840.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/453797.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

YUV / RGB 格式及快速转换

YUV是指亮度参量和色度参量分开表示的像素格式,而这样分开的好处就是不但可以避免相互干扰,还可以降低色度的采样率而不会对图像质量影响太大。 YUV是一个比较笼统地说法,针对它的具体排列方式,可以分为很多种具体的格式。转载一篇…

交换机分布缓存_交换机网络嗅探方法 如何欺骗交换机缓存

嗅探(sniff),就是窃听网络上流经的数据包,而数据包里面一般会包含很多重要的私隐信息,如:你正在访问什么网站,你的邮箱密码是多少,你在和哪个MM聊QQ等等......而很多攻击方式(如著名的会话劫持)都是建立在嗅…

深度学习之 SSD(Single Shot MultiBox Detector)

目标检测近年来已经取得了很重要的进展,主流的算法主要分为两个类型: (1)two-stage方法,如R-CNN系算法,其主要思路是先通过启发式方法(selective search)或者CNN网络(RP…

短时程突触可塑性(short-term synaptic plasticity)

介绍神经元的突触可塑性一般被认为是大脑学习与记忆的分子生物学机制,它是指突触传递效率增强或减弱的变化现象。若这种变化只持续数十毫秒到几分,便称之为短时程突触可塑性,其中效率增强与减弱分别叫做短时程增强(short-term enh…

windows平台下vlc编译

转自:http://jeremiah.blog.51cto.com/539865/114190Jeremiah刚刚工作几个月,参与的第一个项目是与视频监控有关,分配给我的任务就是用开源的vlc做一个自己的播放器。对于开源项目来说,搭建起编译环境是第一步也是最重要的一步。Jeremiah在历…

python xgboost安装_win7 64 python2 xgboost安装

综述:安装Python3 环境下的xgboost 可以通过pip install , 在网址中下载对应版本: http://www.lfd.uci.edu/~gohlke/pythonlibs/#xgboost 来进行安装。但Python2在该网址下并没有相应的包,所以要下载xgboost源代码 然后编译。很麻…

深度学习之卷积神经网络 AlexNet

AlexNet 是 2012年ILSVRC 比赛冠军,远超第二名的CNN,比LeNet更深,用多层小卷积叠加来替换单个的大卷积,结构如下图所示。 ​​ 结构 预处理 原始图片:256∗256∗3256*256*3256∗256∗3 图像处理: 1.随机…

jstl处理栏目与子栏目_芬顿氧化法废水处理工程技术规范(征求意见稿)

日前,生态环境部印发《芬顿氧化法废水处理工程技术规范(征求意见稿)》,详情如下:各有关单位:为贯彻《中华人民共和国环境保护法》和《中华人民共和国水污染防治法》等法律法规,防治环境污染,改善环境质量&a…

深度学习之卷积神经网络 ZF Net

ZFNet出自论文《 Visualizing and Understanding Convolutional Networks》,作者Matthew D. Zeiler和Rob Fergus——显然ZFNet是以两位作者名字的首字母命名的。ZFNet通常被认为是ILSVRC 2013的冠军方法,但实际上ZFNet排在第3名,前两名分别是…

SIP与RTP综合应用5-RTP解包过程

RTP接收部分比较简单(不用考虑jitterbuffer等),先从这里入手。 其实主要就3步: 1 创建一个udp,监听一个端口,比如5200。 2 收到RTP包,送到解包程序,继续收第 二个。 3 收齐一帧后,或保存文件&am…

JavaScript eval() 函数,计算某个字符串,并执行其中的的 JavaScript 代码。

JavaScript eval() 函数,计算某个字符串,并执行其中的的 JavaScript 代码。 适合用于计算器的计算,等。 例子: eval("x10;y20;document.write(x*y)") document.write(eval("22")) var x10 document.write(eva…

vb整合多个excel表格到一张_[Excel]同一工作簿中多个工作表保存成独立的表格

一个工作簿中有多个表格,如何将其表格单独保存成一个独立的文档呢?如果表格少,操作如下:选中要导出表格的标签名--鼠标邮件--移动或复制表格--新建工作簿。当如果表格太多呢,以上方法就太罗嗦了。简单方法用VBA,步骤如…

sqlserver字符串多行合并为一行

1 --创建测试表2 CREATE TABLE [dbo].[TestRows2Columns](3 [Id] [int] IDENTITY(1,1) NOT NULL,4 [UserName] [nvarchar](50) NULL,5 [Subject] [nvarchar](50) NULL,6 [Source] [numeric](18,0) NULL7 )8 GO9 10 --插入测试数据 11 INSERT INTO [TestRows2C…

OpenCore 的代码结构

OpenCore的代码结构 以开源Android 的代码为例,Open Core 的代码在Android 代码的External/Opencore 目录 中。这个目录是OpenCore 的根目录,其中包含的子目录如下所示: android:这里面是一个上层的库,它基于PVPlaye…

深度学习之卷积神经网络 GoogleNet

GoogLeNet Incepetion V1 这是GoogLeNet的最早版本,出现在2014年的《Going deeper with convolutions》。之所以名为“GoogLeNet”而非“GoogleNet”,文章说是为了向早期的LeNet致敬。 深度学习以及神经网络快速发展,人们不再只关注更给力的硬件、更大…

名词解释 算法的有限性_数据结构与算法期中考试卷(含答案)

玉林师范学院期中课程考试试卷(2010——2011学年度第一学期)命题教师:刘恒 命题教师所在系:数计系 课程名称:数据结构与算法 考试专业:信计 考试年级:09级一、单项选择题(每题2分,共30分,把正确…

Jzoj4348 打击目标

又是被水题坑了。。。 一直想不出来看题解说要什么主席树,于是开始打离线算法 结果打到一半发现要强制在线。。No!!! 发现直接AC自动机似乎可做?树剖之后在AC自动机上跑的时候判断一下不就好了吗!连线段树都不要 让后快乐切掉,速度还可以&…

深度学习之卷积神经网络 VGGNet

2014年,牛津大学计算机视觉组(Visual Geometry Group)和Google DeepMind公司的研究员一起研发出了新的深度卷积神经网络:VGGNet,并取得了ILSVRC2014比赛分类项目的第二名(第一名是GoogLeNet,也是…

SpringMVC 返回json的两种方式

前后台数据交互使用json是一种很重要的方式.本文主要探讨SpringMVC框架使用json传输的技术. 请注意,本文所提到的项目使用Spring 版本是4.1.7,其他版本在具体使用上可能有不一样的情况. 一、最常见——使用RequestBody的注解返回一个实体对象; 使用方式如下: 1:引入jar包&#…

word上怎么把图片拼接到一起_如何用Word把自己插入的两张图片合在一起?

例如上面效果的设置方法:1、单击插入----图片按钮;2、弹出插入图片对话框,按住Ctrl键,同时选择所需要的图片;3、选中图片,单击图片工具格式----文字环绕----紧密型环绕;4、此时,用鼠…