zoukankan      html  css  js  c++  java
  • jmeter Bean Shell的使用(一)

    未经作者允许,禁止转载!!!

    Jmeter有哪些Bean Shell

    定时器:  BeanShell Timer

    前置处理器:BeanShell PreProcessor

    采样器:  BeanShell Sampler

    后置处理器:BeanShell PostProcessor

    断言:   BeanShell断言

    监听器:  BeanShell Listener

    下面先讲一讲 采样器:BeanShell Sampler的用法

     

    BeanShell Sampler里面写入vars.get和vars.put

    查看结果树:

    BeanShell Sampler里面添加方法

    查看结果树

    引入java文件:

    在BeanShell Sampler里面引入java文件

    查看结果树

    引入class文件:

    查看结果树

    给自定义的变量赋值

    Bean Shell的脚本将test的值传给us

    HTTP Request 使用参数化引用us的值

    查看结果树:

    BeanShell PostProcessor提取json数据

    需求:提取sample返回json数据中所有name字段值,返回的json格式如下: 
    {“body”:{“apps”:[{“name”:”111”},{“name”:”222”}]}} 
    jmeter中添加后置处理器BeanShell PostProcessor 
    这里写图片描述 
    这里写图片描述

    import org.json.*;
    
    String response_data = prev.getResponseDataAsString();
    JSONObject data_obj = new JSONObject(response_data);
    String apps_str = data_obj.get("body").get("apps").toString();
    JSONArray apps_array = new JSONArray(apps_str);
    String[] result = new String[apps_array.length()];
    for(int i=0;i<apps_array.length();i++){
        JSONObject app_obj = new JSONObject(apps_array.get(i).toString());
        String name = app_obj.get("name").toString();
        result[i] = name;
    }
    vars.put("result", Arrays.toString(result));

    jmeter BeanShell断言-----两个变量之间的断言对比

    在jmeter的中,断言没法对两个变量的进行对比后判断,只能使用Bean Shell断言来进行,总是有人来问怎么写呢。这里写一个简单的实例吧。

    需求:

    获取某个用户对应的设备个数接口与数据库查询的个数结果进行对比

    Bean Shell断言解决方案:

    获取某个用户对应的设备个数接口这个普通的Http接口,这里就不就列出了

    与Oracle数据库的查询,如下图

    先建立JDBC连接配置,进行JDBC查询,然后用正则提取器

    再建立Bean Shell断言,如下

    这里介绍下。${streamid_matchNr}是jmeter正则个数的统计

    if (!"${streamid_matchNr}".equals("${res_1}"))

    表示${streamid_matchNr}与${res_1}不相等则运行下面的代码。

    区区几行bean shell快速解决问题

  • 相关阅读:
    mysql 安全
    选择年份 php的写法要比js简洁一些
    PHP for 循环
    vb和php 基于socket通信
    PHP 数组和字符串互相转换实现方法
    php中对2个数组相加的函数
    开启mysql sql追踪
    幸运码
    系统管理模块_岗位管理_改进_使用ModelDroven方案_套用美工写好的页面效果_添加功能与修改功能使用同一个页面
    系统管理模块_岗位管理_实现CRUD功能的具体步骤并设计Role实体
  • 原文地址:https://www.cnblogs.com/111testing/p/6411135.html
Copyright © 2011-2022 走看看