• jmeter断言


    一、响应断言(Response Assertion)

    响应断言是最常用的一种断言方法,主要是对响应结果中的文本内容进行断言,比如响应结果是否包含指定的值,或者是否等于指定的值。响应断言可以适用各种返回类型的响应结果,如Test、html、application/json、application/xml等。

    添加响应断言和断言结果

     

     

     

     

    二、JSON断言

    也是测试工作中经常用到的一种断言方法,它一般用于断言某个字段值是否等于我们指定的值。所以JSON断言只能针对响应结果为applicaton/json格式的进行断言操作。如果是其他类型(如:Test、html),则无法使用这种方式。

     

     

     

     三、Size Assertion(数据包字节大小断言)

     判断响应结果是否包含正确数量的byte。可定义(=, !=, >, <, >=, <=)

     用于判断返回内容的大小;

     

     

    四、Duration Assertion(持续时间断言)

     判断是否在给定的时间内返回响应结果

    用于判断服务器的响应时间

    作用对象:服务器 

    APPly to:适用范围

             Main sample and sub-samples:作用于父节点取样器及对应子节点取样器

             Main sample only:仅作用于父节点取样器

             Sub-samples only:仅作用于子节点取样器

     

    五、beanshell 断言

    Bean Shell常用内置变量

    是一种松散类型的脚本语言(这点和JS类似),一种完全符合java语法的java脚本语言,并且又拥有自己的一些语法和方法;

    作用对象:针对sampler中的Bean Shell sampler而使用的断言

     

     JMeter在它的BeanShell中内置了变量,用户可以通过这些变量与JMeter进行交互,其中主要的变量及其使用方法如下:

    log:写入信息到jmeber.log文件,使用方法:log.info(“This is log info!”);

    ctx:该变量引用了当前线程的上下文,使用方法可参考:org.apache.jmeter.threads.JMeterContext。

    vars - (JMeterVariables):操作jmeter变量,这个变量实际引用了JMeter线程中的局部变量容器(本质上是Map),它是测试用例与BeanShell交互的桥梁,常用方法:

        a) vars.get(String key):从jmeter中获得变量值

        b) vars.put(String key,String value):数据存到jmeter变量中

        更多方法可参考:org.apache.jmeter.threads.JMeterVariables

    props - (JMeterProperties - class java.util.Properties):操作jmeter属性,该变量引用了JMeter的配置信息,可以获取Jmeter的属性,它的使用方法与vars类似,但是只能put进去String类型的值,而不能是一个对象。对应于java.util.Properties。

        a) props.get("START.HMS");  注:START.HMS为属性名,在文件jmeter.properties中定义

        b) props.put("PROP1","1234");

    prev - (SampleResult):获取前面的sample返回的信息,常用方法:

        a) getResponseDataAsString():获取响应信息

        b) getResponseCode() :获取响应code

        更多方法可参考:org.apache.jmeter.samplers.SampleResult

    sampler - (Sampler):gives access to the current sampler

     

     六、BSF断言

    BSF(Bean Scripting Framework);是一个支持在Java应用程序内调用脚本语言 (Script),并且支持脚本语言直接访问Java对象和方法的一个开源项目;

    作用对象:针对sampler中的BSF sampler而使用的断言

    七、比较断言(compare  assertion)

    这是一种比较特殊的断言元件,针对断言进行字符串替换时使用;

    作用对象:需要替换的字符串

     八、HTML断言

    对响应类为XML类型的文件进行断言;

    作用对象:针对sampler中的SOAP/XML-RPC Request而使用的断言

     九、JSR223断言

    JSR223即Java 规范请求,是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求;

    作用对象:针对sampler中的JSR223 sampler而使用的断言

     十、MD5Hex断言

    MD5是一种消息摘要算法,用以提供消息的完整性保护(具体关于MD5的知识请自行查询);

    作用对象:针对参数类型为MD5Hex加密的参数的断言

     十一、SMIME断言

    SMIME是一种多用途网际邮件扩充协议,相比于之前的SMAP邮件传输协议,增加了安全性,对邮件主题进行保护;

    作用对象:针对采用了该种邮件传输协议的信息

    十二、 XML概要断言

    亦可以称为XML模型断言/XML数据类型断言;XML Schema 定义了两种主要的数据类型:①xml document schema 文档架构 ;② 文档架构xml-schema xml模式

    作用对象:返回结果为XML概要断言的2中数据类型的消息

     十三、XML断言

    XML(可扩展标记语言) 提供一种描述结构化数据的方法。与主要用于控制数据的显示和外观的 HTML 标记不同,XML 标记用于定义数据本身的结构和数据类型;

    作用对象:判断返回结果是否和xml的格式即<></>成对出现

    十四、XPath断言

    XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。

    作用对象:针对返回信息为XPAth的数据类型进行断言

     

     jmeter中的断言就是loadrunner中的检查点

  • 相关阅读:
    关于分析web.xml的一篇博客,写的很详细
    (转)Java编译后产生class文件的命名规则
    Standard 1.1.x VM与Standard VM的区别
    throws和throw的用法例子以及检测和非检查异常
    终端IO(上)
    [APUE]进程关系(下)
    [APUE]进程关系(上)
    [APUE]进程控制(下)
    [APUE]进程控制(中)
    深究标准IO的缓存
  • 原文地址:https://www.cnblogs.com/mayyan/p/16561935.html
Copyright © 2020-2023  润新知