• jmeter--断言


    ------------恢复内容开始------------

    1. substring和包含的区别

    模式匹配规则,有五个选项。默认的是Substring,这种模式就是要断言的文本里,是否包含有要断言的内容。添加一个要测试的模式,里面写上 张三 。

    我们看到第一个选项为 包括,包括 和 Substring 是差不多的,不同点就是

    包括 的测试模式里面可以写正则表达式,可以写多个文本

    而 Substring 的测试模式里面,不能写正则表达式,比如可以这样写,也可以写多个文本,哈哈

    匹配,也是这样,只是 匹配 的测试模式里可以用正则,Equals 的测试模式里,不能用正则。

    Equals,学过java就会知道,这个可以用来判断两个字符串的内容是否完全一样。这里也是这个意思,就是断言响应的文本是否就是测试模式里的文本,要完全一样,一个字符都不能差。

    2. 持续时间断言

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

     可用来做接口性能测试

    3. size assertion

    可以拿来判断响应体是否超大

    4. beanshell断言

    可以通过prev.getResponseDataAsString获取响应数据。

    String response="";
    String str="百度一下";
    
    response=prev.getResponseDataAsString();
    
    if(response.contains(str)==false){
    	Failure=true;
    	String Msg="
    接口报错啦啦";
    	FailureMessage=Msg+"
    "+"期望结果:
    "+str+"响应内容:
    "+response;
    	}
    

      

    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSONObject;
     
    JSONObject object=JSONObject.parseObject(prev.getResponseDataAsString());
    System.out.println("stateWord = "+object.getInteger("stateWord"));
     
    if(object.getString("msg")!=null){
        log.info("msg = "+object.getString("msg"));
    }else {
        log.info("Wrong JSON Fromat, do not find msg");
    }
     
    if(object.getString("time")!=null){
        log.info("time = "+object.getString("time"));
    }else {
        log.info("Wrong JSON Fromat, do not find time");
    }
     
    if(object.getJSONArray("data")!=null){
        JSONArray jsonArray=object.getJSONArray("data");
        if(jsonArray.size()<1){
            log.info("Wrong JSON Fromat, do not find any data in data list");
        }else {
            for (int index=0;index<jsonArray.size();index++){
                JSONObject obj=jsonArray.getJSONObject(index);
                log.info("stateWord = "+obj.getInteger("stateWord"));
                
                if(obj.getString("CustomDataLen")!=null){
                    log.info("CustomDataLen = "+obj.getString("CustomDataLen"));
                }else {
                    log.info("Wrong JSON Fromat, do not find CustomDataLen");
                }
                if(obj.getString("CustomData")!=null){
                    log.info("CustomData = "+obj.getString("CustomData"));
                }else {
                    log.info("Wrong JSON Fromat, do not find CustomData");
                }
                if(obj.getString("Signature")!=null){
                    log.info("Signature = "+obj.getString("Signature"));
                }else {
                    log.info("Wrong JSON Fromat, do not find Signature");
                }
            }
        }
    }else {
        log.info("Wrong JSON Fromat, do not find data");
    }

    5. Json path断言

    首先,需要安装插件

    参考:

    https://www.jianshu.com/p/fac6e9032158

    4种断言

    https://www.cnblogs.com/111testing/p/11219979.html

    https://blog.51cto.com/6183574/2441645

    jsonpath:https://www.cnblogs.com/jaychang/p/7022071.html

    jmeter响应中出现乱码

    https://www.jianshu.com/p/bf6a618800f1

    ------------恢复内容结束------------

  • 相关阅读:
    习题4.7利用vector实现数据复制
    习题4.18
    4.8编写一小段程序实现两vector是否相等的比较
    关于野指针
    学习c++的50条忠告
    c++头文件
    习题4.14
    容器和迭代器
    Android上C++对象的自动回收机制分析
    Windows下载Android源码
  • 原文地址:https://www.cnblogs.com/vivian-xiaoyun/p/13524391.html
Copyright © 2020-2023  润新知