zoukankan      html  css  js  c++  java
  • 12. Jmeter-断言

    jmeter-断言介绍与使用

    性能测试中较少用到断言。断言会增加脚本执行时间,但是接口测试中断言是必备的。什么是断言?其实就是功能测试中常说的预期结果和实际结果是否相等。

    • 响应断言
    • JSON Assertion
    • Size Assertion
    • JSR223 Assertion
    • XPath Assertion
    • Compare Assertion
    • 断言持续时间
    • HTML Assertion
    • MD5Hex断言
    • SMIME Assertion
    • XML断言
    • XML Schema Assertion
    • BeanShell断言

    响应断言

    见图知意。接口测试中较少用到。

    JSON Assertion

    也算是见图知意吧。这里需要注意一下 Additionally assert value: 等于特定值 Match as regular expression:符合正则表达式

    Size Assertion

    见图知意。。。

    JSR223 Assertion

    JSR223 Assertion可以选择多种语言,如下图所示:

    笔者常用的是beanshell和JS。这里我们以beanshell举例。 JSR223 Assertion实例

    import org.json.*;
    
    //获取上一个请求的返回值
    String response = prev.getResponseDataAsString();
    //将返回值转换为json
    JSONObject responseJson = new JSONObject(response);
    //获取responseMessage
    String status = responseJson.get("status").toString();
    String message = responseJson.getString("message");
    
    
    
    if(!status.equals("0")) {
        Failure = true; 
        FailureMessage = "status错误";
    }else{
        FailureMessage = "status正确";
        }
    
    if(!message.equals("username or password error")) {
        Failure = true; 
        FailureMessage = "message错误";
    }else{
        FailureMessage = "message错误";
        }
    

    运行结果

    XPath Assertion

    可以参考11. Jmeter-后置处理器二中的XPath Extractor

    Compare Assertion

    嗯。。用到正则了。暂时跳过。

    断言持续时间

    这个就比较好理解了。断言取样器运行测试消耗掉的时间,比如我们的持续时间填写10,实际时间如果是20s,那么就会断言失败。

    HTML Assertion

    MD5Hex断言

    对返回的MD5进行断言,直接填入即可。

    SMIME Assertion

    可以参考SMIME Assertion,用的不多。

    XML断言

    用来验证响应数据是正确的XML格式,不常用。

    XML Schema Assertion

    BeanShell断言

    可以参考JSR223 AssertionBeanShell断言也是我们常用的断言。

    软件测试汪简书地址 软件测试汪博客地址

    欢迎关注微信公众号:软件测试汪。软件测试交流群:809111560

    转载请注意出处,谢谢合作

  • 相关阅读:
    php基本语法之逻辑运算符
    HTML5实现端访问时禁止放大和缩小网页
    javascript simple MVC
    GIS开发离线地图应用-初识gis
    百度应用开发--日期大写转换
    ThinkPHP与EasyUI整合之三(searchbox):在datagrid中查询指定记录
    ThinkPHP与EasyUI整合之二(datagrid):删除多条记录
    面向对象----类和对象
    Java 基本语法----数组
    Java 基本语法----流程控制
  • 原文地址:https://www.cnblogs.com/suim1218/p/11571125.html
Copyright © 2011-2022 走看看