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

     BeanShell是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器,具有对象脚本语言特性。

    有以下五个组件:
    • Beanshell Sampler
    • Beanshell PreProcessor
    • Beanshell PostProcessor
    • Beanshell Assertion
    • __Beanshell Function
    ————————————————

    常用对象

    1、vars:实际引用Jmeter线程的局部变量,连通Jmeter和beanshell(本质上是个map)
    vars.get(String key)//获取字符串变量值
    vars.put(String key,String value)//存储value到变量key

    vars.putObject("object_name", Object);//保存对象(包括List, Map, closure之类)
    vars.getObject("OBJECT_NAME");//读取对象

    2、log:写入信息到日志中
    log.info("")

    3、prev:获取前一个sample的响应
    prev.getResponseDataAsString():以字符串形式获取响应信息
    prev.getResponseCode():获取状态码

    4、props:HashTable对象,可以跨线程组使用
    props.put("some_variable',vars.get("some_variable"))

    常用脚本

    import org.json.*;
    String response = prev.getResponseDataAsString();//获取前一个sample的响应
    //log.info("response的值:" + response);//将返回值转换为json对象
    JSONObject responseJson = new JSONObject(response);
    JSONObject dataObj= responseJson.getJSONObject("data");//获取data对象
    JSONArray answersArr= dataObj.getJSONArray("answers");//获取answers数组

    Failure=true;//标记该断言失败 
    FailureMessage="内容检查失败";//在log中输出失败原因

    JSONObject和JSONArray区别及基本用法

    JSONObject的数据是用 {  } 来表示的,

            例如:   { "id" : "123", "courseID" : "huangt-test", "title" : "提交作业", "content" : null  }  

    JSONArray,顾名思义是由JSONObject构成的数组,用  [ { } , { } , ......  , { } ]  来表示

           例如:   [ {  "id" : "123", "courseID" : "huangt-test", "title" : "提交作业" }  ,  {  "content" : null, "beginTime" : 1398873600000  "endTime" } ] ; 

    如何从字符串String获得JSONObject对象和JSONArray对象

            JSONObject  jsonObject  = new JSONObject (String  str);

            JSONArray jsonArray = new JSONArray(String str  ) ;

    如何从JSONArray中获得JSONObject对象

           大家可以把JSONArray当成一般的数组来对待,只是获取的数据内数据的方法不一样

           JSONObject   jsonObject = (JSONObject)jsonArray.get(i);

            JSONObject   jsonObject  =  jsonArray.getJSONObject(i) ;  (常用)

         两者都可。第一种注意转换 

    获取JSON内的数据

           int   jid= jsonObject.getInt ( "id" ) ;    //  这里的jid得到的数据就是123.

           String  jcourse=jsonObject.getString( "courseID") ;   // 这里的jcourse得到的数据就是huangt-test.

           Strirng jcourse = jsonObject.get("courseID").toString();

  • 相关阅读:
    springcloud 使用feign
    Could not resolve placeholder ‘xxx‘ in value “${xxx}“
    小程序中腾讯位置服务的使用/小程序中使用腾讯服务获取位置信息
    h5页面节假日置灰
    form表单提交入参唤起支付
    小程序中下拉框组件
    Android实践项目汇报(四)
    WORD表格数据运算技巧
    路由器桥接(WIFI无线中继)设置及摆放位置图解
    批处理设置IP地址
  • 原文地址:https://www.cnblogs.com/crystal1126/p/12011669.html
Copyright © 2011-2022 走看看