zoukankan      html  css  js  c++  java
  • JMeter 内置函数、Jmeter 访问 MySQL 数据库、Jmeter测试 Java 程序

    1、JMeter 内置函数

     以两个下划线开头。  区分大小写。

    ResponseMessage="${__char(97,98,99,100)}";
    //ResponseMessage="abcd";
    ResponseMessage="${__machineIP()}"; ResponseMessage="${__machineIP(CIP)}"; ${__threadNum()}; ${__time(y/MM/dd)}; ResponseMessage="${__UUID}"; ResponseMessage="${__Random(1,10)}"; ResponseMessage="${__RandomString(6,abcdefgh12345678)}"; ResponseMessage="${__RandomString(6,abcdefgh12345678,ran)}";

    Jmeter 访问 MySQL 数据库

    1) 加载数据库驱动包 

    点击测试计划-->点击中间底部"浏览"-->选中 mysql 驱动 jar 包-->打开

     2)配置数据库连接参数  配置元件→JDBC Connection Configuration

     3)添加 JDBC Request

     

     

     

    测试 Java 程序

     Eclipse 导入包

     被测程序

    package com;
    
    public class Add {
    
        public int sum(int a,int b)
        {
            return a+b; 
        }
        public static void main(String args[]){
            Add math = new Add();
            System.out.println(math.sum(1, 2));
        }
    }

    测试程序

    package com;
    
    import org.apache.jmeter.config.Arguments;
    import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
    import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
    import org.apache.jmeter.samplers.SampleResult;
    
    public class JavaTest extends AbstractJavaSamplerClient {
    
        private Add test = null;
        private String a;
        private String b;
        private String result;
    
        // 定义参数
        public Arguments getDefaultParameters() {
            Arguments params = new Arguments();
            params.addArgument("num1", "");// 参数 num1,初值为空,jmeter 可更改此值
            params.addArgument("num2", "");
            return params;
        }
    
        // 每个线程测试前执行一次,做一些初始化工作,取参数值
        public void setupTest(JavaSamplerContext arg0) {
            test = new Add();
            a = arg0.getParameter("num1");// 获取参数值
            b = arg0.getParameter("num2");
        }
    
        // 开始测试,从 arg0 参数可以获得参数值
        public SampleResult runTest(JavaSamplerContext arg0) {
            SampleResult sr = new SampleResult();// 取样器
            sr.setSamplerData("请求参数 num1:" + a + "
     请求参数 num2:" + b);// 发送请求
            try {
                sr.sampleStart();// 类似于事务,开始统计响应时间
                result = String.valueOf(test.sum(Integer.parseInt(a), Integer.parseInt(b)));
                if (result != null && result.length() > 0) {
                    // 下面的操作将响应数据输出到 Jmeter 的察看结果树中
                    sr.setResponseData("结果是:" + result, "utf-8");
                    sr.setDataType(SampleResult.TEXT);
                    sr.setResponseCode("200");
                    sr.setResponseOK();
                }
                sr.setSuccessful(true);
            } catch (Throwable e) {
                sr.setSuccessful(false);
                e.printStackTrace();
            } finally {
                sr.sampleEnd(); // 结束统计响应时间标记
            }
            return sr;
        }
    
        // 测试结束时调用,只执行一次
        // public void teardownTest(JavaSamplerContext arg0) {
        // }
        // 必须加入下面的 main 方法编译,导出代码时,必须禁用 main
    //    public static void main(String[] args) {
    //        Arguments pms = new Arguments();
    //        pms.addArgument("num1", "1");// 设置参数,赋值 1
    //        pms.addArgument("num2", "2");// 设置参数,赋值 2
    //        JavaSamplerContext arg0 = new JavaSamplerContext(pms);
    //        JavaTest test = new JavaTest();
    //        test.setupTest(arg0);
    //        test.runTest(arg0);
    //        test.teardownTest(arg0);
    //    }
    
    }

    导出包

    • 右击项目→导出→Java→可运行的 JAR 文件(忽略错误,找不到 main 方法)
    • 导出目标 ,必须放在apache-jmeter-3.0libext 目录中,名字可与类名不同

    Jmeter导入包 

    -->测试计划→Add directory or jar to classpath 处:浏览

    -->添加线程组 ,添加-- Java 请求

     

     -->添加查看结果树并运行

     测试 BeanShell 请求

    1)添加 BeanShell Sample

    2)添加BeanShell Sample获取参数 

     3)添加 Debug Sampler

    4)添加结果树看结果

  • 相关阅读:
    js 作用域
    js 实现二级联动
    JavaScript 基础(四)
    JavaScript 基础(三)
    数据库事务的基本概念
    二进制安装 kubernetes 1.12(五)
    二进制安装 kubernetes 1.12(四)
    二进制安装 kubernetes 1.12(三)
    二进制安装 kubernetes 1.12(二)
    Centos 7.x 安装 Docker-ce
  • 原文地址:https://www.cnblogs.com/ychun/p/14318454.html
Copyright © 2011-2022 走看看