码迷,mamicode.com
首页 > 编程语言 > 详细

jmeter添加java请求和if控制器

时间:2015-01-25 18:09:02      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

    新项目用jmeter做性能测试,导入别人写好的jar包,发现有if控制器和java请求,可是我看不懂这个脚本到底在干嘛,只好自己摸索。

    java请求要自己写一个runable的jar包,继承jmeter的AbstractJavaSamplerContext类,然后改写runtest方法。具体代码如下。

    步骤如下:

1. 打开eclipse,把代码写好,并export为runnable jar file (切记,jar file在jmeter里是找不到的)

默认导入代码会找不到命名空间,记得要在属性->build path里把jmeter的lib里的jar都导入,如下图

技术分享

2. 把jar文件放到jmeter里的 lib\ext里,重启jmeter,添加线程组-> java请求 ->添加查看结果树。

技术分享

就能看到执行结果了。

技术分享

但是if控制器我还没设成功,等我找到原因再继续更新。

package jmeter_sample;

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 PerformanceTest extends AbstractJavaSamplerClient
{
    
    private static long start = 0;
    private static long end =0;
    private  String a,b, result;
    
    public void setupTest(JavaSamplerContext arg0)
    {
        start = System.currentTimeMillis();
    }
    
    public void teardownTest(JavaSamplerContext arg0)
    {
        end = System.currentTimeMillis();
        System.err.println("cost time" + (end-start)/1000);
    }
    
    public Arguments getDefaultParameters()
    {
        Arguments args = new Arguments();
        args.addArgument("num1","");
        args.addArgument("num2","");
        return args;
    }
    
    private static int sum(int a, int b)
    {return a+b;}
    
    public SampleResult runTest(JavaSamplerContext arg0)
    {
        SampleResult sr = new SampleResult();
        a = arg0.getParameter("num1");
        b = arg0.getParameter("num2");
        sr.setSampleLabel("hui");
        try
        {
            sr.sampleStart();
            result = String.valueOf( sum(Integer.parseInt(a),Integer.parseInt(b)));
            if(result !=null &&result.length()>0)
            {
                sr.setResponseData("结果是 "+result,null);
                sr.setDataType(SampleResult.TEXT);
            }
            sr.setSuccessful(true);
            sr.sampleEnd();
        }
        catch(Exception e)
        {    e.printStackTrace();}
        return sr;
    }
    
    public static void main(String[] args)
    {
        System.out.print("hello");
    }
}

jmeter添加java请求和if控制器

标签:

原文地址:http://www.cnblogs.com/coffeebeauty/p/4248415.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!