jmeter_代码

1、引入jar包

前5个是jmeter的包在E:\zidonghua\jmeter\apache-jmeter-3.1\lib 和  E:\zidonghua\jmeter\apache-jmeter-3.1\lib\ext两个目录下

选中==〉build path==〉Configure build path 就可以引入了。

2、创建一个包

3、添加JavaSamplerClient接口

 

4、脚本调试完毕后 导出,选中工程-》右键导出->java

5\生成下面两个文件

将这两个文件拷贝到jmeter目录下 E:\zidonghua\jmeter\apache-jmeter-3.1\lib\ext

6\然后需要重启jmeter

7\创建一个java请求,会将上面写的脚本显示出来

8、数据库中的结果

9、数据参数化

JmeterJava源码:

package cn.testfan.ptest.jmeter;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;

public class MyJmeterTest implements JavaSamplerClient {
    // 全局变量
    PreparedStatement statement;
    Connection conn;

    @Override
    public Arguments getDefaultParameters() {
        // TODO Auto-generated method stub
        //次函数可以人工注册一些参数,这些参数可以展示在jmeter的java请求面板里或者更改
        Arguments arguments = new Arguments();
        arguments.addArgument("p_name", "11");
        arguments.addArgument("p_password", "aa");
        return arguments;
    }

    //真正多次操作的业务,写这里
    @Override
    public SampleResult runTest(JavaSamplerContext arg0) {
        SampleResult result = new SampleResult();
        //给事务起个名称
        result.setSampleLabel("insert");
        //事务开始
        result.sampleStart();
        
        // TODO Auto-generated method stub
        //执行sql之前,先进行参数化
        try {
            String p_name = arg0.getParameter("p_name");
            String p_password = arg0.getParameter("p_password");
            statement.setString(1, p_name);
            statement.setString(2, p_password);
            int rows = statement.executeUpdate();
            
            if(rows > 0) {
                //事务成功
                result.setSuccessful(true);
            }else {
                //事务失败
                result.setSuccessful(false);
            }
            
            
        } catch (Exception e) {
            e.printStackTrace();
        }
        
        //事务结束
        result.sampleEnd();
        return result;
    }
    
    //初始化相关的操作写到这里
    @Override
    public void setupTest(JavaSamplerContext arg0) {
        // TODO Auto-generated method stub
        try {
            Class.forName("com.mysql.jdbc.Driver");
            // 建立mysql数据库链接
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/oa", "root", "1111");
            // 把sql进行编译
            statement = conn.prepareStatement("insert into itcast_role (name, description) values (?,?)");
        } catch (Exception e) {
            e.printStackTrace();
        }
        

    }

    //结束的操作,写这里
    @Override
    public void teardownTest(JavaSamplerContext arg0) {
        // TODO Auto-generated method stub
        // 关闭链接
        try {
            conn.close();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        MyJmeterTest test = new MyJmeterTest();
        //调试使用,创建一个JavaSamplerContext对象, 对象创建时需要传入一个Arguments对象,调试时用new Arguments()
        JavaSamplerContext context = new JavaSamplerContext(test.getDefaultParameters());
        test.setupTest(context);
        test.runTest(context);
        test.teardownTest(context);

    }

}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值