zoukankan      html  css  js  c++  java
  • jmeter 与 java http

    jmeter 如果对java代码进行测试

    1、eclips中创建一个项目,且写一个待测试的简单java代码

    2、将jmeter路径下 x:xxlxxDowxxxxxxapache-jmeterapache-jmeter-2.12libext下的所有包都加到bulidpath中

    3、创建一个class继承AbstractJavaSamplerClient

     需要实现的方法:

    public Arguments getDefaultParameters() 从后续jmeter界面读取所需要的值

    public void setupTest(JavaSamplerContext arg0)  //测试初始动作

    //主要执行的测试内容

    public SampleResult runTest(JavaSamplerContext arg0) {
    // TODO Auto-generated method stub
    a = arg0.getParameter("num1");
    b = arg0.getParameter("num2");

    SampleResult sr = new SampleResult();

    sr.setSampleLabel("java 请求内容哦");

    try{
    sr.sampleStart();
    Hello test = new Hello();
    resultData = String.valueOf(test.sum(Integer.parseInt(a),
    Integer.parseInt(b)));
    if(resultData !=null&& resultData.length()>0)
    {
    sr.setResponseData("结果是:"+resultData, null);
    sr.setDataType(SampleResult.TEXT);
    }
    sr.setSuccessful(true);
    }catch(Throwable e)
    {
    sr.setSuccessful(false);
    e.printStackTrace();
    }finally{
    sr.sampleEnd();
    }
    return sr;
    }

    //测试结束后的操作

    public void teardownTest(JavaSamplerContext args0){

    执行的先后顺序为:
    getDefaultParameters() --> setupTest(JavaSamplerContext context) --> runTest(JavaSamplerContext context) --> teardownTest(JavaSamplerContext context)
     
    4、将写好的代码导出为一个jar包即可,不需要runnable jar包,将包放在x:xxlxxDowxxxxxxapache-jmeterapache-jmeter-2.12libext目录下
     
    5、启动jmeter后,增加一个java sample后,就可以看到你所建立的测试内容,选择后输入一定的参数就可以进行测试

    ******************************************************************************************************

    ******************************************************************************************************

    http sample中也可以引入java的jar包进行一些辅助操作。

    比如我们需要对请求的参数进行md5操作或者任何其他的操作

    1、先写代码实现md5加密操作的方法

    2、将代码进行打包,jar包,并放入 x:xxxxxxDxxxxapache-jmeterapache-jmeter-2.12libext下,将包引入到测试计划中

    3、在请求前后者后加入BeanShell PxxxProcessor

    import com.facebank.*;

    System.out.println("****加密之前*****");

    String user="xxxx";

    //以下类或者方法都是自己java写的
    EncodeString val=new EncodeString();

    String encode =val.getDigestNum(user);

    vars.put("encode",encode); //前台:encode必须是一个用户自定义变量

    在请求中使用 ${encode}即可,这时拿到的变量就是一个加密后的变量值

  • 相关阅读:
    2018-04-27 搭建Python官方文档翻译环境-汉化示例代码
    2018-04-21 搭建Python官方文档翻译环境
    2018-01-19 Xtext试用: 5步实现一个(中文)JVM语言
    2018-02-27 "Literate Programming"一书摘记之一
    2018-02-18 Antlr4实现简单语言之条件语句
    2018-02-17 中文代码示例[译]Scala中创建隐式函数
    2018-02-16 中文代码示例之冒泡算法, 后感
    C code example for strdup
    Hash table: why size should be prime?
    Hash table lengths and prime numbers
  • 原文地址:https://www.cnblogs.com/yingchen/p/5431482.html
Copyright © 2011-2022 走看看