zoukankan      html  css  js  c++  java
  • jmeter断言

    感谢peakchao提供的API接口https://blog.csdn.net/c__chao/article/details/78573737

    从中选择一个接口即可,我使用的是https://api.apiopen.top/todayVideo

    1.查看结果

    使用python+requests获取当前结果

    import requests
    url = "https://api.apiopen.top/todayVideo"
    r = requests.get(url)
    print(len(r.json()['result']))
    print(r.json()['code'],r.json()['message'],len(r.json()['result']))
    count=1
    for i in r.json()['result']:
        print(count)
        print(i['data'])
        count+=1
    

    结果如下:返回code(值),message(值),result(数组)

    2 使用Jmeter进行测试断言

    2.1 响应后断言

    判断响应中是否存在文本,可以指定多个文本
    假如存在多个“成功”字段,会对断言造成干扰,最好使用多个文本匹配结果。

    2.2 使用Json Path Assertion断言

    2.3使用BeanShell断言

    2.3.1利用ResponseCode和返回内容长度进行判断

    //ResonseCode要用equals判断
    log.error(ResponseCode);
    if(ResponseCode == 200){
    	log.error("code == 200 true");
    }else{
    	log.error("code == 200 false");
    }
    if(ResponseCode == "200"){
    	log.error("code == "200" true");
    }else{
    	log.error("code == "200" false");
    }
    if(ResponseCode.equals(200)){
    	log.error("code equals 200 true");
    }else{
    	log.error("code equals 200 false");
    }
    if(ResponseCode.equals("200")){
    	log.error("code equals "200" true");
    }else{
    	log.error("code equals "200" false");
    }
    //判断内容长度
    String res = prev.getResponseDataAsString();
    if(res==null||res.length()==0){
    	Failure = true;
    	FailureMessage = "no content";
    }else{
    	Failure = false;
    	log.error("have content");
    }
    

    2.3.2先利用json提取器获取message字段,再利用BeanShell断言

    log.error("终端");
    //只有引用类型才能使用equals。即使用equals,需要先添加双引号,转化为String类型
    
    //if(${code}.equals(200)){
    //	log.error("! equals 200 true");
    //}else{
    //	log.error("! equals 200 false");
    //}
    
    if(!"${code}".equals("0")){
    	log.error("! equals "200" true");
    	Failure = true;
    }else{
    	log.error("! equals "200" false");
    	Failure = false;
    }
    // ==
    if("${code}" == "200"){
    	log.error("== 200 成功");
    }else{
    	log.error("== 200失败");
    }
    
    if(${code} == 200){
    	log.error("== "200" 成功");
    }else{
    	log.error("== "200" 失败");
    }
    
    if("${message}".indexOf("成功")!=-1){
    	log.error("message包含"成功"");
    }else{
    	log.error("message不包含"成功"");
    }
    

    2.4 size assertion判断返回内容的大小

    2.5 断言持续时间

    如果耗时超过断言持续时间,断言错误

    3 sample-添加监听器-断言结果,可以查看断言结果

  • 相关阅读:
    PHP 函数大集合
    PHP 单词集合
    PHP 常用函数集合
    Linux 服务器中搭建环境
    windows下cmd中命令操作
    TP中的AJAX返回ajaxReturn()
    PHP面试题
    CI表单验证
    CI数据库操作_查询构造器类
    react 的核心思想 【声名式】Declarative 的理解
  • 原文地址:https://www.cnblogs.com/csj2018/p/10810993.html
Copyright © 2011-2022 走看看