先说一下使用断言的目的:在request的返回层面增加一层判断机制。因为request成功了,并不代表结果一定正确。类似于QTP中的检查点检查点。断言的使用方法:

step_1:在你选择的Sampler下添加对应的断言(因为不同类型的断言检查的内容不同)。配置好响应的检查内容(根据断言情况而定,有的断言控制面板不需要添加任何内容,如XML Assertion)。

step_2:添加一个断言结果的监听器(从监听器中添加),通过“断言结果”可以看到是否通过断言。对于一次请求,如果通过的话,断言结果中只会打印一行请求的名称;如果失败,则除了请求的名称外,还会有一行失败的原因。(不同类型的断言,结果不同。)

注意:一个Sampler可以添加多个断言,根据你的检查需求来添加相应的断言,当Sampler下所有的断言都通过了,那么才算request成功。

下面简单说一下几种断言的使用(前3种应该较为常用一点):

1、Response Assertion(响应断言)

适用于判断返回内容中的内容,控制面板截图如下:

位置1:名称、注释

位置2:要测试的相应字段,即要检查的项

位置3:模式匹配规则

  • 包括:返回结果包括你指定的内容
  • 匹配:(好像跟Equals查不多,弄不明白有什么区别)
  • Equals:返回结果与你指定结果一致
  • Substring:返回结果是指定结果的字串

否:不进行匹配

位置4:要测试的模式,即填写你指定的结果(可填写多个,如图中就是希望返回文本中包含有2个指定的字符串,只有当同时包含了这2个串,这个断言才算通过,否则,算失败。)按钮【添加】、【删除】是进行指定内容的管理

2、Size Assertion(Size断言)

Size Assertion用于判断返回内容的大小,Size Assertion控制面板截图如下:

位置1:名称、注释

位置2:指定大小(单位:字节)与比较类型,返回内容的大小、比较类型、指定字节大小的比较时的摆放顺序是:【返回内容的大小】【比较类型】【指定字节大小】,如果这个比较结果通过,则断言通过,如图中,如果返回内容的大小大于10个字节,则断言通过,否则失败。

3、Duration Assertion(Size断言)

Duration Assertion用于判断服务器的响应时间,控制面板截图如下:

位置1:名称、注释

位置2:响应时间设置(单位:毫秒),如果响应时间大于设置的响应时间,则断言失败,否则成功!(等于的情况不好设置,暂不知道具体情况如何)

4、HTML Assertion(HTML断言)

html assertion的作用是检查返回的的内容,格式是否符合指定格式的相关标准。具体见下面说明。HTML Assertion的控制面板如下:

位置1:名称、注释

位置2:Tidy Settings,Doctype有auto、omit、strict、loose(这里各设置代表什么意思暂不太了解)

位置3:格式类型,即你按那种格式来检查返回内容,html or xhtml or xml?

位置4:能接受的最大值设置,Error threshold:最大可以接受的错误数;Warning threshold:最大可以接受的警告数。如果勾选“Error only”这忽略Warning,只对Error作统计检查。如果对返回内容的检查结果不超过指定结果,则断言通过,否则失败。

5、XML Assertion(XML断言)

就目前的理解来看XML Assertion的作用是判断返回结果是否否和xml的格式即<></>成对出现。(不知这样理解对不对?如果是这样的话,这个在HTML中,设置Format为XML就可以实现了,为什么还需要这个呢?)XML Assertion控制面板截图如下:

从控制面板上可以看出,XML Assertion不需要设置任何内容。

在使用XML Assertion的过程中,遇到一个问题,弄不明白,问题贴在这里,希望路过的朋友,如果知道的话,帮忙解答一下:

Jmeter中添加xml assertion

断言结果:Error on line 1: The element type "Detail" must be terminated by the matching end-tag "</Detail>".

但实际请求返回结果:

<?xml version="1.0" encoding="UTF-8"?><Info><Country>中国</Country><Province>未知</Province><City>未知</City><Type>大学</Type><ISP>教育网</ISP><Detail>中国教育网</Detail></Info>

问题:<Detail></Detail>是成对的,断言那边怎么会过不去?

以上参考:

1、http://www.51testing.com/html/75/n-97675.html

2、http://jakarta.apache.org/jmeter/usermanual/component_reference.html#XML_Assertion

JMeter学习(十四)jmeter_断言使用的更多相关文章

  1. 强化学习(十四) Actor-Critic

    在强化学习(十三) 策略梯度(Policy Gradient)中,我们讲到了基于策略(Policy Based)的强化学习方法的基本思路,并讨论了蒙特卡罗策略梯度reinforce算法.但是由于该算法 ...

  2. Scala学习十四——模式匹配和样例类

    一.本章要点 match表达式是更好的switch,不会有意外调入下一个分支 如果没有模式能够匹配,会抛出MatchError,可以用case _模式避免 模式可以包含一个随意定义的条件,称做守卫 你 ...

  3. Jmeter(三十四) - 从入门到精通进阶篇 - 参数化(详解教程)

    1.简介 前边三十多篇文章主要介绍的是Jmeter的一些操作和基础知识,算是一些初级入门的知识点,从这一篇开始我们就来学习Jmeter比较高级的操作和深入的知识点了.今天这一篇主要是讲参数化,其实前边 ...

  4. JMeter—常见问题(十四)

    参考<全栈性能测试修炼宝典JMeter实战>第十五章 JMeter常见问题 1.无法产生负载 注意检查各元件是否时禁用状态.JMeter在运行时是以数形式加载各种元件的,如果父节点被禁用, ...

  5. android学习十四(android的接收短信)

    收发短信是每一个手机主要的操作,android手机当然也能够接收短信了. android系统提供了一系列的API,使得我们能够在自己的应用程序里接收和发送短信. 事实上接收短信主要是利用我们前面学过的 ...

  6. JMeter学习(四)参数化

    JMeter也有像LR中的参数化,本篇就来介绍下JMeter的参数化如何去实现. 参数化:录制脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户 ...

  7. Jmeter(二十四)_服务器性能监控

    下载插件 1.访问网址http://jmeter-plugins.org/downloads/all/,下载三个文件.其中JMeterPlugins-Standard和JMeterPlugins-Ex ...

  8. JavaWeb学习 (十四)————JSP基础语法

    一.JSP模版元素 JSP页面中的HTML内容称之为JSP模版元素.  JSP模版元素定义了网页的基本骨架,即定义了页面的结构和外观. 二.JSP表达式 JSP脚本表达式(expression)用于将 ...

  9. <转>jmeter(十四)HTTP请求之content-type

    本博客转载自:http://www.cnblogs.com/dinghanhua/p/5646435.html 个人感觉不错,对jmeter最常用的取样器http请求需要用到的信息头管理器做了很好的解 ...

  10. Jmeter(三十四)_Beanshell解析并提取json响应

    1:前置条件 将fastjson-1.2.49.jar包置于jmeter的lib目录下,并将该jar包添加到测试计划的Library中:否则会报:Typed variable declaration ...

随机推荐

  1. Bootstrap的js插件之側边栏停靠(affix)

    以下是一个比較常见的側边栏停靠的样例: <!DOCTYPE html> <html lang="en"> <head> <meta cha ...

  2. Android无线测试之—UiAutomator UiScrollable API介绍二

    快速滑动 一.快速滑动相关概念 1.步长:从一点滑动到另一点所用的时间 2.扫动次数:例如列表,要滑动多少次才能到底部,这个滑动次数就是扫动次数 二.相关API 返回值 API 描述 boolean ...

  3. android手机常用分辨率

      QVGA(240x320)    HVGA(320x480)     WVGA(800x480)     FWVGA(854x480)     qHD(960x540)     DVGA(960x ...

  4. 【BZOJ2527】[Poi2011]Meteors 整体二分

    [BZOJ2527][Poi2011]Meteors Description Byteotian Interstellar Union (BIU) has recently discovered a ...

  5. NET Framework 4.5新特性 (三)64位平台支持大于2 GB大小的数组

    64位平台.NET Framework数组限制不能超过2GB大小.这种限制对于需要使用到大型矩阵和向量计算的工作人员来说,是一个非常大问题. 无论RAM容量有多大有多少,一旦你使用大型矩阵和向量计算工 ...

  6. activeMQ "HelloWorld"实现

    本文主要介绍activeMQ在应用程序中是如何使用的,同个两个实例进行说明,这两个实例分别针对P2P模式和Pub/Sub模式. 开发环境 操作系统:Ubuntu 16.10 开发平台:Eclipse  ...

  7. MySQL安装和Navicat安装、破解

    1)mysql下载 地址:https://dev.mysql.com/downloads/mysql/ 2)一路next安装,安装好后文件目录如下(不包括data文件夹,my.ini文件) 3)新建文 ...

  8. mvel

    https://en.wikipedia.org/wiki/MVEL import java.util.*; // the main quicksort algorithm def quicksort ...

  9. DOM 综合练习(一)

    // 练习一: 完成一个好友列表的展开闭合效果 <html> <head> <style type="text/css"> // 对表格中的 u ...

  10. 0407-服务注册与发现-Eureka深入理解-元数据、高可用HA

    一.Eureka元数据 参看地址:https://cloud.spring.io/spring-cloud-static/Edgware.SR3/single/spring-cloud.html#_e ...