每天早上醒来,看见你和阳光都在,这便是我要的未来。

jmeter单独jar包测试

上一篇 / 下一篇  2014-03-21 16:01:16 / 个人分类:Jmeter

引用自定义jar包(求个税)、结合eclipse编码

编码时需要引入的jmeter相关jar包在之前日志中说明过,此处只贴出代码,仅供参考。以下实现的是个税的简单计算,在界面输入工资总额和扣除的五险一金,计算个税和所得工资。

主要步骤:

1.导入Jmeter jar包,继承AbstractJavaSamplerClient 类,并实现其runTest方法。

首先设置需要传入的参数key(addArgument

然后从获取从界面传入的参数值value(getParameter),调用计算方法,就可以得出最后结果。

2.打包为jar包,粘贴到相应位置,重启jmeter,新建线程组--java请求,选择对应的jar包,添加监听器查看计算结果。

packagecom;

importorg.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;

importorg.apache.jmeter.protocol.java.sampler.JavaSamplerContext;

importorg.apache.jmeter.samplers.SampleResult;

importorg.apache.jmeter.config.Arguments;

publicclassExampleextendsAbstractJavaSamplerClient {

   privateSampleResultresult;

   privateStringtotal;

   privateStringwxyj;

   privateStringsnum;

   /**

     *线程执行循环体,根据jmeter的设置运行

     */

   publicSampleResult runTest(JavaSamplerContext arg0) {

      //TODOAuto-generated method stub

      /**

        *step1:征税额:计算(应发工资-五险一金-起征点)

          step2:判断征税额所属级别确定税率和速算扣除数

          step3:计算个税

        */

      result=newSampleResult();

       result.sampleStart();

      doublecount = Integer.parseInt(total) - Integer.parseInt(wxyj) - Integer.parseInt(snum);

      doubleresultnum= chooseLevel(count);

      doublewage = Integer.parseInt(total) - Integer.parseInt(wxyj) -resultnum;

       System.out.println("个税:"+resultnum);

       System.out.println("实际工资:"+wage);

      result.sampleEnd();

      result.setSuccessful(true);

      result.setSamplerData("工资:"+wage+"\r\n"+"个税:"+resultnum);

      returnresult;

    }

 

   /***

     *设置需要传入的参数,会显示在jmeter界面中

     */

   publicArguments getDefaultParameters() {

      //设置需要传入的值:key

       Arguments ag =newArguments();

       ag.addArgument("所在城市:","深圳");

       ag.addArgument("起征点:","3500");

       ag.addArgument("总额:","");

       ag.addArgument("扣除五险一金:","");

      returnag;

 

    }

   

   /***

     *初始化方法,在runtest前执行

     */

   publicvoidsetupTest(JavaSamplerContext context) {

      //获取jmeter中传入的值:value

      //result =new SampleResult();

      total=context.getParameter("总额:");

      wxyj=context.getParameter("扣除五险一金:");

      snum=context.getParameter("起征点:");

    }

 

   /***

     *结束方法,在runtest运行完成后执行

     */

   publicvoidteardownTest(JavaSamplerContext context) {

 }

 

   publicdoublechooseLevel(doublecount){

      if(count<=1500){

          returncount-30;

       }elseif(count>1500 && count<=4500){

          return(count*0.1)-105;

       }elseif(count>4500 && count<=9000){

          return(count*0.2)-555;

       }elseif(count>9000 && count<=35000){

          return(count*0.25)-1005;

       }elseif(count>35000 && count<=55000){

          return(count*0.30)-2755;

       }elseif(count>55000 && count<=80000){

          return(count*0.35)-5505;

       }elseif(count>80000){

          return(count*0.45)-13505;

       }else

      return-1;

    }

}

 


TAG:

 

评分:0

我来说两句

Open Toolbar