jmeter---BeanShell断言

为什么使用BeanShell断言:解释性语言,给数据库等有点难度的进行断言!

一、判断状态码是否正确!

      测试计划---右击--添加--线程

       线程---右击---添加---http请求

       http请求---右击--BeanShell断言

       http请求---右击---断言---断言结果

       http请求:

                      

    BeanShell:

                    

if("200".equals(ResponseCode)){//if else判断,"状态码"  .引入 equals 判断  ResponseCode 状态码
    Failure=false;//Failure 失败,断言通过
    }else{//否则
        Failure=true;//断言失败并提示错误信息
        FailureMessage="预期结果和实际结果不匹配";
        }

                                      

 查看结果树:

                                  

 二、判断

             http:如上:

             BeanShell:                        

import org.json.*;//导报 .引入 *所有
String one=prev.getResponseDataAsString();//获取响应体String类型(one转换为String类型)
JSONObject two=new JSONObject(one);//JSONObject=固定格式,转换为json对象
String msg=two.getString("msg");//获取String类型的msg响应体
if(msg.equals("查询成功")){//引用msg判断响应体,预期结果和实际结果是否正确
	Failure=false;//Failure失败,断言通过,
	}else{//否则,断言不通过,预期结果和实际结果不符,出现错误提示信息
		Failure=true;
		FailureMessage="预期结果和实际结构不相符";
		}

    查看结果树:

 

原文地址:https://www.cnblogs.com/wsx123/p/14012293.html